Unity Animator Transition 进入另一个我不期望的状态
Unity Animator Transition goes to another state that i not expect
<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 在敌人身上时,会发生两件事:
触发 "Attack" 并将 "IsMove" 设置为 false。
我确定触发 "Attack" 发生在将 "IsMove" 设置为 false 之前。
但是状态转到 Walk -> Idle,而不是 Walk - > Attack.
谁能告诉我为什么?谢谢!
我知道答案。
我不知道为什么,但似乎 unity 会处理 MonoBehaviour 的所有更新,而不是动画师。
所以不管是先触发"Attack"还是先把"IsMove"设置为false.
当状态机要改变时,"IsMove" 已经是 false。
<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 在敌人身上时,会发生两件事:
- 触发 "Attack" 并将 "IsMove" 设置为 false。
- 我确定触发 "Attack" 发生在将 "IsMove" 设置为 false 之前。
- 但是状态转到 Walk -> Idle,而不是 Walk - > Attack.
- 谁能告诉我为什么?谢谢!
我知道答案。
我不知道为什么,但似乎 unity 会处理 MonoBehaviour 的所有更新,而不是动画师。
所以不管是先触发"Attack"还是先把"IsMove"设置为false.
当状态机要改变时,"IsMove" 已经是 false。