unity5, animator state machine, 无条件transition实现播放动画序列


今天遇到这样一个需求,我有一个名为happy的animation clip和一个名为speak的animation clip。想实现当主角胜利后播放动序列:

happy->speak->happy->speak->...

这样无限循环。

走了一些弯路后发现直接在animator state machine里就可以搞定,如下图:

transition{idle->happy}上condition设为triggerWin,由于idle到happy的transition不能太拖沓,所以Has Exit Time要去掉勾选。

transition{happy->speak}上condition设为空,Has Exit Time可以保留,另外调节好过度。

transition{speak->happy}上condition设为空,Has Exit Time可以保留。另外调节好过度。

这样只要在胜利的时候调用Animator.SetTrigger("triggerWin"),就可以看到如下动画序列的播放效果了:

idle->happy->speak->happy->speak->happy->speak->...

而且各动画之间是带过度的。

----补充:

貌似如果Condition为空,则必须勾选Has Exit Time,否则不会自动跳转,且面板上报warning:Transition needs at least one condition or an Exit Time to be valid, otherwise it will be ignored.

优质内容筛选与推荐>>
1、众数的求法
2、application servers 错误
3、SQL 游标
4、C# 串口通信总结
5、排列


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号