Version: Unity 6.0 (6000.0)
语言 : 中文
动画状态机 (Animation State Machine)
动画状态

状态机基础

状态机的基本概念是使角色在某一给定时刻进行一个特定的动作。动作类型可因游戏类型的不同而不同,常用的动作包括空闲、行走、跑步、跳跃等。这些动作被称为__状态__,也就是说角色处于行走、空闲或者其它的“状态”中。一般来说,角色从一个状态立即切换到另一个状态是需要一定的限制条件的。比如角色只能从跑步状态切换到跑跳状态,而不能直接由空闲状态切换到跑跳状态。角色从当前状态进入下一个状态的选项被称为状态过渡。状态集合、过渡集合以及记录当前状态的变量共同构成了一个__状态机__。

状态及其过渡可以通过图形来表达,其中的节点表示状态,而弧线(节点间的箭头)表示状态过渡。您可以将当前状态视为放置在节点之一上的标记或亮点,然后只能沿箭头之一跳转到另一个节点。

状态机对于动画的重要意义在于用户可以通过很少的代码轻松设计和更新状态机。每一个状态有一个与之关联的运动,只要状态机处于此状态,就会播放此运动。从而让动画师或设计师方便地定义动作顺序,而不必去关心底层代码的实现。

状态机

Unity 的动画状态机提供了一种纵览角色所有动画剪辑的方法,并且允许通过游戏中的各种事件(如用户输入)来触发不同的动画效果。

动画状态机可以通过动画控制器窗口 (Animator Controller Window) 来创建,这些状态机如下所示:

状态机包括__状态 (State)过渡 (Transition)和__事件 (Event),而复杂的状态机还可以将简单的子状态机用作组件。请参阅动画状态动画过渡的参考页面来了解更多信息。

动画状态机 (Animation State Machine)
动画状态