点击新创建的 StateMachine 节点后,将显示下图。其中 Entry 状态和 AnyState 是状态机的初始状态。双击空白区域或单击顶部 AnimGraph 可返回 AnimGraph 进行编辑。
EntryState 连接的 State 是此状态机的默认状态。EntryState 最多只能连接一个 State,且仅支持向外连接(连出)。
AnyState 代表任意 State。它只能连出到其他 State,意味着无论当前状态机处于哪个 State,均可转换到 AnyState 连接的 State。
表示状态机中的单一动画状态,输出固定 Pose。
State。


创建后的 State 显示如下:
WriteDefault:勾选时,若 State 内部无 Motion 或 Pose 输出,则输出模型默认值;取消勾选则输出上一帧姿势。Transitions:调整此 State 关联 Transition 的优先级。


进入子图的编辑,下面是一些state例子,:
state点击进去可以看到blendtree节点,这个节点是由speed参数驱动其混合方式,这个state主要负责角色的Idle、walk、run之间的混合。
这两个state里面各自包含clip节点,主要是开始跳跃和漂浮在在空中的动作。
状态机可以包含状态机,在state里面创建状态机节点,可以得到子状态机,里面有独立的一套状态集合
在 State 边缘区域(蓝色边框内,红色边框外)按住左键拖动可创建 Transition:
Transition 定义状态间的转换逻辑,需设定切换条件以控制跳转时机。
点击 Transition 后,通过 Inspector 设置:
基础设置:Name(名称)
时间参数:Has Exit Time(是否启用退出时间)、ExitTime(退出时间)
过渡控制:
Has Fixed Duration(是否固定持续时间)
Duration(持续时间)
Transition Offset(过渡偏移量)
中断规则:
Interruption Source(中断来源)
Ordered Interruption(有序中断,需 Interruption Source 非 None 可编辑)
条件判断:Conditions(支持多条件判断)
Transition 的编辑界面因上下文而异:
1. 无预览模式(起始/目标 State 无有效 Clip 连接至子图 Output 时):
无法预览过渡动画
Has Fixed Duration 和 Transition Offset 不可编辑,其中 Has Fixed Duration 需要起始 State 包含有效 Clip ,而 Transition Offset 需要目标 State 包含有效 Clip
Duration 强制为固定值

2. 完整预览模式(起始/目标 State 包含有效 Clip 时):
显示时间轴和动画预览
可编辑 Has Fixed Duration(切换 Duration 单位为帧或百分比)
Duration 可以为非固定值(起始 State 的百分比值)
可编辑 Transition Offset
