动画系统整理的系统框架
如下:
一、Mecanim系统介绍
我们先来看一下Unity官方文档对于Mecanim系统的解释:
大致翻译一下,是这几点意思:
1、Unity提供的一个多样而又精密的动画系统,叫做Mecanim。
2、它有简单的工作流程和设置在Unity中animations所有的元素,包括物体,人物,属性。
3、在Unity之中,它支持导入animation剪辑和animation创建。
4、animation retargeting ---动画人物重定向,这个在下面篇幅中会做详细解释。
5、校对animation 剪辑有简单的工作流程。
6、它便利了预览animation剪辑、转场以及它们之间的交互。
7、它是管理与动画之间的复杂相互作用的可视化编程工具
8、使不同的身体部位展示不同的逻辑。
9、分层和掩蔽特性
二、项目操作
由于Unity编辑器涉及内容特别多,所以通过项目操作可以把Mecanim所涉及的内容系统化的展示给大家。
1、导入模型
在这里,Cat君就拿siki老师的视频教程里给出的3个模型进行实际操作。
它包括连两个人物模型,一个动物模型。
为了方便,我们打开Unity之后,点击右键,直接在这里把模型进行复制粘贴。
当然你也可以用其他方式,这里就不一一细说,怎么方便怎么来。
复制粘贴模型到Unity Asset下,
此时,Unity编辑器自动的识别、编译,把模型保存下来
然后让我们检查一下人物模型,看看材质是否丢失。
当我们把模型拖到这里的时候发现模型材质已经丢失了,
此时,我们可以用Unity导入模型设置最新Tab——Materials,进行设置,
选择红色框,
模型导入就成功完成了。
2、模型配置
我们点击模型,它会出现这4个Tab:
Model、Rig、Animation、Materials
我会在后来的文章中对这里面做详细的解释。
现在,我们先对导入的模型进行配置。
Model tab:比例大小,我们使用默认的就好。
Rig Tab:我们选着Humanoid,它是Unity给定的人形Mecanim动画。
Animation Tab:由于给的模型材料的动画和模型是分开的,在这里我们不做配置。
Materials Tab:这个我们已经配置过了。
3、骨骼配置
接下来我们对人物的骨骼进行配置,通过Avatar建立一个正确的关系映射。
首先,我们打开Avatar,你可以从一下两个地方打开:
打开之后,在这里你可以进行骨骼映射,点击每个关节进行骨骼配置,
你也可一在这里进行肌肉伸缩运动,看看配置是否合理,
4、动画配置
我们主要配置五个动画来方便控制人物。
Dead动画、 Idle动画、Run动画、Left动画和Right动画
首先,我们把动画模型类型调到Humanoid类型,然后我们把之前配置好的骨骼调到动画模型的Avatar里面,如下
然后,我们打开动画,看看它运行的状态,
此时,我们对Dead动画进行配置
这四个选项是配置的关键点,
Loop Time 动画是否循环、
Root Transform Rotation 和 Root Transform Position 走路的姿势是否固定
官方给出的文档是这样的解释:
以此类推,我们分别对Idle动画和Run动画进行配置。
在对Left动画和Right动画配置时 我们对动画进行了剪辑,以便它更适合我们去做控制。
5、状态机制作
首先,我们创建一个动画控制器,
创建完之后,我们把它拖到Animator组件里面。
注意,Apply Root Motion:动画是否对位置、旋转产生影响。
然后,我们再把动画拖进Animator中,进行配置:
1、我们要使人物上、左右移动,先设置参数。
float类型:
Speed:控制人物前进。
Angle:控制人物左右移动。
Bool型:
Dead:控制人物死亡。
2、关联动画之间的关系
之后,根据内容需要配置参数。
注意,Has Exit Time 是否勾选,它代表关联前一个动画是否播放完毕在进行下一个动画播放。
6、进行代码控制,也是工程最后一步。
创建一个代码组件,把它挂在人物下面
然后,对代码进行编译如下
最后,运行了一下项目,动画配置已经成功实现。