1、状态机
基本思想是角色在任何给定时间忙于一些特殊的动作。可用的动作取决于游戏类型,但典型动作包括空闲、走路、跑步、跳跃等。这些动作称为状态,在场景中,角色处于走路、空闲等“状态”。通常,角色要进入另一种状况会受到限制,而不是可以直接从任何状态转换成任何其他状态。例如,跑跳仅在角色已经在跑步时而非停滞不前时实现,所以永远无法直接从空闲状态转换成跑跳状态。角色可从当前状态进入下一个状态的选型称为状态转换。总之,状态集、转换集和记住当前状态的变量形成了状态机。
状态机的状态和转换可用一个图解表示,其中节点代表状态,弧(节点之间的箭头)代表转换。您可以把当前状态看作一个标记或置于一个节点上的突出显示,然后只需沿着一条箭头跳转到另一个节点。
动画状态机的价值在于可以用相对较少的编码即可轻松设计和更新。每个状态有一个与之相关的动作 (Motion),并在机器处于该状态时播放。这样就使动画器或设计器能够定义角色动作和动画的可能顺序,无需担心代码如何工作。
状态机 (State Machines) 包含状态 (States)、转换 (Transitions) 和事件 (Events),较小的子状态机 (Sub-State Machines) 可在较大的机器中用作组件。
2、动画状态
动画状态 (Animation State) 是 动画状态机 (Animation State Machine)的基本构造块。每个状态包含将在角色处于该状态时播放的单独动画序列(或混合树 (blend tree))。游戏中的事件触发状态转换时,角色会保留为新状态,