Version: 2020.3
状态机过渡
子状态机

状态机行为

状态机行为是一类特殊脚本。与将常规 Unity 脚本 (MonoBehaviour) 附加到单个游戏对象类似,您可以将 StateMachineBehaviour 脚本附加到状态机中的单个状态。因此可编写一些将在状态机进入、退出或保持在特定状态时执行的代码。这意味着您不必编写自己的逻辑来测试和检测状态的变化。

此功能的一些用例可能包括:

  • 在进入或退出状态时播放声音
  • 仅在相应状态下执行某些测试(例如,地面检测)
  • 激活和控制与特定状态相关的特效

创建状态机行为并将其添加到状态的方式与创建脚本并将其添加到游戏对象的方式非常类似。在状态机中选择状态,然后在检视面板中使用“Add Behaviour”按钮来选择现有的 StateMachineBehaviour 或创建新行为。

一个状态机将行为附加到Grounded状态
一个状态机将行为附加到“Grounded”状态

状态机行为脚本可访问在 Animator 进入、更新和退出不同状态(或子状态机)时调用的许多事件。此外,还有一些事件允许您处理根运动和反向运动学调用。

有关更多信息,请参阅状态机行为脚本参考。

状态机过渡
子状态机