zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    java基础数据
    Java环境搭建
    Mysql数据库基础
    php环境搭建
    1117bootstrap组件
    1117bootstrap
    1115表单验证
    1114JS实例4
    1113JS实例3
    1111JS实例2
  • 原文地址:https://www.cnblogs.com/wantnon/p/4602811.html
Copyright © 2011-2022 走看看