Unity动画师过渡到了另一个我没想到的状态



我的动画师状态机

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

    当鼠标悬停在敌人身上时,会发生两件事:
    触发"攻击"并将"IsMove"设置为false
    我确信在将"IsMove"设置为false之前会触发"Attack"
    但状态变为步行->空闲,而不是步行->攻击TR
我知道答案
我不知道为什么,但似乎团结会处理MonoBehavior的所有更新,而不是动画师
因此,无论是先触发"Attack"还是先将"IsMove"设置为false都无关紧要
当状态机要更改时,"IsMove"已经为false。

最新更新