版本:Unity 6 (6000.0)
语言:English
动画状态机
动画状态

状态机基础

基本思想是,角色在任何给定时间都处于某种特定的动作中。可用的动作将取决于游戏玩法的类型,但典型的动作包括空闲、行走、跑步、跳跃等。这些动作被称为状态,因为角色处于“行走”、“空闲”或其他任何状态。通常,角色对下一个可以进入的状态会有限制,而不是能够立即从任何状态切换到任何其他状态。例如,只有当角色已经在跑步时才能进行跑步跳跃,而不是在静止时,因此它永远不应该直接从空闲状态切换到跑步跳跃状态。角色从当前状态可以进入的下一个状态的选项被称为状态转换。将状态集、转换集和用于记住当前状态的变量组合在一起,就形成了一个状态机

状态机的状态和转换可以使用图形图表示,其中节点表示状态,弧(节点之间的箭头)表示转换。您可以将当前状态视为放置在一个节点上的标记或突出显示,然后只能沿着其中一个箭头跳转到另一个节点。

状态机对于动画的重要性在于,它们可以相对轻松地进行设计和更新,并且代码量相对较少。每个状态都关联了一个运动,当机器处于该状态时,该运动将播放。这使动画师或设计师能够定义角色动作和动画的可能序列,而无需考虑代码的工作原理。

状态机

Unity 的动画状态机动画控制器中的一个图形,用于控制动画状态的交互。每个状态都引用一个动画混合树或单个动画剪辑。更多信息
参见术语表
提供了一种概述与特定角色相关的所有动画剪辑可用于动画角色或简单动画的动画数据。它是一个简单的“单元”运动,例如(一个特定实例的)“空闲”、“行走”或“跑步”。更多信息
参见术语表
的方法,并允许游戏中的各种事件(例如用户输入)触发不同的动画。

动画状态机可以从动画控制器窗口设置,它们看起来像这样

状态机由状态转换状态机中从一个状态到另一个状态的混合,例如将角色从行走动画转换为慢跑动画。转换定义了状态之间混合需要多长时间,以及激活混合的条件。更多信息
参见术语表
事件组成,较小的子状态机可以用作较大机器中的组件。有关动画状态动画转换允许状态机从一个动画状态切换或混合到另一个动画状态。转换定义了状态之间混合需要多长时间,以及激活它们的条件。更多信息
参见术语表
的更多信息,请参见参考页面。

动画状态机
动画状态