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

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

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

这样无限循环。

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

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

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->...

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

 

你可能感兴趣的:(transition)