【问题标题】:Unity Animator Transition goes to another state that i not expectUnity Animator 过渡到另一个我没想到的状态
【发布时间】:2016-04-16 07:17:38
【问题描述】:

My animator state machine

<table border="1">
<tr>
<th>State Change</th>
<th>Conditions</th>
<th>Input Control</th>
</tr>
<tr>
<td>Idle -> Walk</td>
<td>IsMove == true</td>
<td>MouseDown anywhere in game</td>
</tr>
<tr>
<td>Walk -> Idle</td>
<td>IsMove == false</td>
<td>MouseUp anywhere in game</td>
</tr>
<tr>
<td>Walk -> Attack</td>
<td>Trigger "Attack"</td>
<td>MouseUp on enermies</td>
</tr>
<tr>
<td>Attack -> Idle</td>
<td>None</td>
<td>None</td>
</tr>
</table>

    当 MouseUp 碰到敌人时,会发生两件事:
    触发“攻击”并将“IsMove”设置为false。
    我确定触发“攻击”发生在将“IsMove”设置为 false 之前。
    但状态变为 Walk -> Idle,而不是 Walk -> Attack。
    谁能告诉我为什么?谢谢!

【问题讨论】:

    标签: unity5 animator


    【解决方案1】:

    我知道答案。
    我不知道为什么,但似乎统一会处理 MonoBehaviour 的所有更新而不是动画师。
    所以无论是先触发“攻击”还是先将“IsMove”设置为false都没有关系。
    当状态机要改变时,“IsMove”已经为假了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      • 2015-10-13
      • 2013-06-28
      • 1970-01-01
      相关资源
      最近更新 更多