Unity基础(12)—— Mecanim动画系统下Animatior 的使用

Animator 动画控制器的简介

利用状态机的原理来控制动画的播放。


一、为人物模型添加动画

1、在打开一个Unity文件后,检视窗口中的Animator 中没有状态机,如下图所示。需要自己添加一个动画控制器。

Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第1张图片

2、在project中创建一个状态机(动画控制器),将其命名为AC1,并将其拖到 Controller 上。

Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第2张图片  Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第3张图片

3、再打开动画控制器 AC1  ,在Asset 目录中找到准备好的动画,直接拖到状态机中即可。

Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第4张图片Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第5张图片

或者先在动画状态机中创建一个空的状态,再选中 New State ,将需要的动画拖动到Motion中(或者在Motion中选取)。此时点击运行,即可让人物模型做出相应的动作。

Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第6张图片Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第7张图片

4、选中 Hierarchy 面板中的人物模型,在Inspector 窗口中 Animator 组件下箭头所指的选项为是否将该运动应用到根节点上。当取消该选项时,人物只是在原地做相应的动作,根节点的坐标不变。

Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第8张图片

5、双击动画控制器中刚刚创建的状态State,可以对运动进行控制。

Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第9张图片

Loop Time 是对动作进行重复播放。


二、Animations 各项简介

在 Inspector 面板中的Animations 选项下,只有选中 Import Animation 才会出现动画的各个选项。每一个Animations 都包含了当前所选中 fbx 文件下所有的动画。

Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第10张图片

1、Anim.Compression 是所选的 fbx 文件下所有动画是否压缩,及压缩的程度。

2、clips 是当前选中的 fbx 文件中包含的所有动画文件。在此选中的fbx文件中包含 Run、RunLeft、RunRight 这三个动画文件。

3、动画剪辑功能,提供动画的编辑。可以剪辑自己需要的动画片段。

Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第11张图片

4、四个箭头所指的指示灯显示的是动画和模型各项的匹配程度。

  1. 第一个是整体匹配
  2. 第二项是模型旋转匹配程度
  3. 第三项是Y轴位置的匹配程度
  4. 第四项是XZ轴的匹配程度
  5. Cycle Offset:播放的起始时间点,即偏移时间点
  6. Bake Into Pose :是否将当前动画录入到人物的根位置,即是否根据动画改变人物是位置。

Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第12张图片

5、动画控制器中的状态state,当点击某一状态时,如 Run 时,会在 Inspector 中显示对应的选项。

  • Motion:表示对应的运动
  • Speed:控制运动速度的快慢
  • Foot IK:反向动力学
  • Transition:两个动作的过渡

Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第13张图片Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第14张图片


三、Animator Controller的其他操作

1、在Animator Controller中创建动画组,可以将多个动画放在一起进行控制。

Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第15张图片 Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第16张图片

2、动画融合组

3、创建控制参数,来对不同动画之间的过渡进行控制。

Unity基础(12)—— Mecanim动画系统下Animatior 的使用_第17张图片


四、通过脚本控制动画的播放

1、脚本与动画控制器间的通信—— 可创建的条件参数:

  • Float
  • Int
  • Bool
  • Trigger

 

 

 


参考资料:

[1] Unity之Mecanim动画系统笔记

[2]  Mecanim简介

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Unity)