Unity Mecanim动画系统

动画系统整理的系统框架

如下:

Unity Mecanim动画系统_第1张图片

一、Mecanim系统介绍

 

我们先来看一下Unity官方文档对于Mecanim系统的解释:

 

Unity Mecanim动画系统_第2张图片

 

大致翻译一下,是这几点意思:

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 Mecanim动画系统_第3张图片

为了方便,我们打开Unity之后,点击右键,直接在这里把模型进行复制粘贴。

当然你也可以用其他方式,这里就不一一细说,怎么方便怎么来。

 

Unity Mecanim动画系统_第4张图片

 

Unity Mecanim动画系统_第5张图片

 

复制粘贴模型到Unity Asset下,

Unity Mecanim动画系统_第6张图片

 

此时,Unity编辑器自动的识别、编译,把模型保存下来

 

Unity Mecanim动画系统_第7张图片

 

然后让我们检查一下人物模型,看看材质是否丢失。

 

Unity Mecanim动画系统_第8张图片

 

当我们把模型拖到这里的时候发现模型材质已经丢失了,

此时,我们可以用Unity导入模型设置最新Tab——Materials,进行设置,

 

Unity Mecanim动画系统_第9张图片

 

选择红色框,

 

Unity Mecanim动画系统_第10张图片

 

模型导入就成功完成了。

 

Unity Mecanim动画系统_第11张图片

 

2、模型配置

我们点击模型,它会出现这4个Tab:

Model、Rig、Animation、Materials

 

Unity Mecanim动画系统_第12张图片

 

我会在后来的文章中对这里面做详细的解释。

 

现在,我们先对导入的模型进行配置。

Model tab:比例大小,我们使用默认的就好。

 

Unity Mecanim动画系统_第13张图片

 

Rig Tab:我们选着Humanoid,它是Unity给定的人形Mecanim动画。

 

Unity Mecanim动画系统_第14张图片

 

Animation Tab:由于给的模型材料的动画和模型是分开的,在这里我们不做配置。

 

Unity Mecanim动画系统_第15张图片


Materials Tab:这个我们已经配置过了。

 

3、骨骼配置

接下来我们对人物的骨骼进行配置,通过Avatar建立一个正确的关系映射。

首先,我们打开Avatar,你可以从一下两个地方打开:

 

Unity Mecanim动画系统_第16张图片

 

Unity Mecanim动画系统_第17张图片

 

打开之后,在这里你可以进行骨骼映射,点击每个关节进行骨骼配置,

 

 

Unity Mecanim动画系统_第18张图片

 

你也可一在这里进行肌肉伸缩运动,看看配置是否合理,

 

Unity Mecanim动画系统_第19张图片

 

4、动画配置

我们主要配置五个动画来方便控制人物。

Dead动画、 Idle动画、Run动画、Left动画和Right动画

首先,我们把动画模型类型调到Humanoid类型,然后我们把之前配置好的骨骼调到动画模型的Avatar里面,如下

 

Unity Mecanim动画系统_第20张图片

 

然后,我们打开动画,看看它运行的状态,

 

Unity Mecanim动画系统_第21张图片

 

此时,我们对Dead动画进行配置

 

Unity Mecanim动画系统_第22张图片

 

这四个选项是配置的关键点,

Loop Time 动画是否循环、

Root Transform Rotation 和 Root Transform Position  走路的姿势是否固定

官方给出的文档是这样的解释:

 

以此类推,我们分别对Idle动画和Run动画进行配置。

 

Unity Mecanim动画系统_第23张图片

 

在对Left动画和Right动画配置时 我们对动画进行了剪辑,以便它更适合我们去做控制。

 

Unity Mecanim动画系统_第24张图片

 

5、状态机制作

首先,我们创建一个动画控制器,

 

Unity Mecanim动画系统_第25张图片

 

创建完之后,我们把它拖到Animator组件里面。

 

Unity Mecanim动画系统_第26张图片

 

注意,Apply Root Motion:动画是否对位置、旋转产生影响。

 

然后,我们再把动画拖进Animator中,进行配置:

 

Unity Mecanim动画系统_第27张图片

 

1、我们要使人物上、左右移动,先设置参数。

 

Unity Mecanim动画系统_第28张图片

 

float类型:

Speed:控制人物前进。

Angle:控制人物左右移动。

Bool型:

Dead:控制人物死亡。

 

2、关联动画之间的关系

 

Unity Mecanim动画系统_第29张图片

 

之后,根据内容需要配置参数。

 

Unity Mecanim动画系统_第30张图片

 

注意,Has Exit Time 是否勾选,它代表关联前一个动画是否播放完毕在进行下一个动画播放。

 

6、进行代码控制,也是工程最后一步。

 

创建一个代码组件,把它挂在人物下面

 

Unity Mecanim动画系统_第31张图片

 

然后,对代码进行编译如下

 

Unity Mecanim动画系统_第32张图片

 

最后,运行了一下项目,动画配置已经成功实现。

 

Unity Mecanim动画系统_第33张图片

 

 

你可能感兴趣的:(Unity,动画系统)