点击新创建的 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 边缘区域(蓝色边框内,红色边框外)按住左键拖动可创建 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