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.

  • 相关阅读:
    最短路--floyd算法模板
    poj2367 拓扑序
    poj1094 拓扑序
    hdu3231 拓扑序
    hdu1811 并查集+拓扑序
    hdu3342 拓扑序
    hdu2647 拓扑序
    hdu1285 拓扑序
    UVA10305 拓扑序
    $.proxy
  • 原文地址:https://www.cnblogs.com/wantnon/p/4602811.html
Copyright © 2011-2022 走看看