U3L14-2——Animator Controller动画控制器(状态机)
U3L14-2——Animator Controller动画控制器(状态机)
创建动画状态机
- 通过为场景中物体创建动画时自动创建
- 手动创建动画状态机文件
基础使用——初识动画状态机窗口
左侧面板
- Layers:动画层级页签,为动画添加更多的层级,层级权重高的动画播放会覆盖层级权重低的
- Parameters:参数页签,为动画状态机添加控制状态切换的参数
- 眼睛图标:显隐左侧面板
右侧面板
-
网格化布局区域: 主要用于编辑状态之前的切换关系
- 1.窗口中的每一个矩形表示一个状态
- 2.窗口中的每一个箭头表示一个切换条件
-
矩形说明:
-
默认三大矩形:
- 绿色Entry矩形:进入状态机流程
- 红色Exit矩形:退出状态机流程
- Any State:任意状态,代表状态机中的任意状态
-
-
人为添加矩形:
- 橙色矩形:一开始的默认状态动画,和Entry相连
表示一开始播放的动画 - 灰色矩形:自己添加的某一种动作状态
- 橙色矩形:一开始的默认状态动画,和Entry相连
基础使用——添加动画
- 自动添加——为对象创建动画后会自动将动画添加到状态机中
- 手动添加1——将动画文件拖入到状态机中 (注意:老动画拖入会有警告)
- 手动添加2——右键创建状态,再关联动画
基础使用——添加 切换连线
切换连线 就是 表示一个状态切换到另一个状态的方向
对 状态 右键并点击 Make Transition,并连接到 要连接的状态上,两个状态就会出现切换连线
删除切换连线只需要点击切换连线再按Delete即可
基础使用——添加 切换条件
-
在左侧面板点击参数页签
可以在这里添加四种类型的切换条件
-
左侧的值可以改变,也可以通过代码设置
这里的值将用于切换连线的条件判断
基础使用——设置动画间切换条件
-
添加切换条件后
选择一条切换连线,将添加好的条件加入到其条件列表内
在这里设置当该切换条件 满足什么条件时 就切换(根据切换条件类型选择)如果有多个切换条件,则都满足时才能切换
-
float类型切换条件 可选 大于、小于 某个值
int类型切换条件 可选 大于、小于、等于、不等于 某个值
bool类型切换条件 可选 true、false
trigger类型切换条件 较为特殊:当trigger激活(即选中了trigger),且其他条件满足时,就执行切换,
切换后该trigger失活(即自动取消trigger的选中)
补充:关于动画切换的延时切换
有时修改状态机条件使一个动画切换到另一个动画时,会有延迟(先等前一个动画执行完毕)
如果不想要这种延时,在该切换对应的 切换连线中 关闭Has Exit Time即可
补充:关于Animation窗口内各状态和连线的参数
一般状态相关
连线相关
混合树和子状态机相关可以直接在3D动画相关内查找
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!