Animator 动画控制器的简介
利用状态机的原理来控制动画的播放。
一、为人物模型添加动画
1、在打开一个Unity文件后,检视窗口中的Animator 中没有状态机,如下图所示。需要自己添加一个动画控制器。
2、在project中创建一个状态机(动画控制器),将其命名为AC1,并将其拖到 Controller 上。
3、再打开动画控制器 AC1 ,在Asset 目录中找到准备好的动画,直接拖到状态机中即可。
或者先在动画状态机中创建一个空的状态,再选中 New State ,将需要的动画拖动到Motion中(或者在Motion中选取)。此时点击运行,即可让人物模型做出相应的动作。
4、选中 Hierarchy 面板中的人物模型,在Inspector 窗口中 Animator 组件下箭头所指的选项为是否将该运动应用到根节点上。当取消该选项时,人物只是在原地做相应的动作,根节点的坐标不变。
5、双击动画控制器中刚刚创建的状态State,可以对运动进行控制。
Loop Time 是对动作进行重复播放。
二、Animations 各项简介
在 Inspector 面板中的Animations 选项下,只有选中 Import Animation 才会出现动画的各个选项。每一个Animations 都包含了当前所选中 fbx 文件下所有的动画。
1、Anim.Compression 是所选的 fbx 文件下所有动画是否压缩,及压缩的程度。
2、clips 是当前选中的 fbx 文件中包含的所有动画文件。在此选中的fbx文件中包含 Run、RunLeft、RunRight 这三个动画文件。
3、动画剪辑功能,提供动画的编辑。可以剪辑自己需要的动画片段。
4、四个箭头所指的指示灯显示的是动画和模型各项的匹配程度。
- 第一个是整体匹配
- 第二项是模型旋转匹配程度
- 第三项是Y轴位置的匹配程度
- 第四项是XZ轴的匹配程度
- Cycle Offset:播放的起始时间点,即偏移时间点
- Bake Into Pose :是否将当前动画录入到人物的根位置,即是否根据动画改变人物是位置。
5、动画控制器中的状态state,当点击某一状态时,如 Run 时,会在 Inspector 中显示对应的选项。
- Motion:表示对应的运动
- Speed:控制运动速度的快慢
- Foot IK:反向动力学
- Transition:两个动作的过渡
三、Animator Controller的其他操作
1、在Animator Controller中创建动画组,可以将多个动画放在一起进行控制。
2、动画融合组
3、创建控制参数,来对不同动画之间的过渡进行控制。
四、通过脚本控制动画的播放
1、脚本与动画控制器间的通信—— 可创建的条件参数:
- Float
- Int
- Bool
- Trigger
参考资料:
[2] Mecanim简介