目录
前言
Unity可以用两种方式控制动画
1 Animation,这种方式简单,直接 Play(“Idle”)或者CorssFade(“Idle”)就可以播放动画;
2 Animator,Unity5.x之后推荐使用这种方式,因为里面可以加上混合动画,让动画切换更加平滑。
注:
如果动画简单可以使用Animation;
CorssFade(“Idle”)比 Play(“Idle”)过度更自然。
旧版动画系统
在引入 Mecanim 之前,Unity 使用过一种更简单的动画系统。为了向后兼容,该系统仍然可用。使用旧版动画系统的主要原因是可以继续直接处理旧项目,而无需为了 Mecanim 更新该项目。但是,建议不要将旧版系统用于新项目。
处理旧版动画
要导入旧版动画,必须先在 Import Settings 窗口的 Rig 选项卡中将 Animation Type 设置为 __Legacy__:
您的绑定使用旧版动画系统
属性: | 功能: | |
---|---|---|
Generation | 选择动画导入方法。 | |
Don’t Import | 不导入动画 | |
Store in Original Roots (Deprecated) | 已弃用。请勿使用。 | |
Store in Nodes (Deprecated) | 已弃用。请勿使用。 | |
Store in Root (Deprecated) | 已弃用。请勿使用。 | |
Store in Root (New) | 导入动画并将其存储在模型的根节点中。这是默认设置。 | |
Skin Weights | 请参阅上文中有关 Skin Weights 属性的文档以了解此属性的相关信息。 |
Animation组件
属性: | 功能: | |
---|---|---|
动画 (Animation) | 启用 Play Automatically 的情况下播放的默认动画。 | |
Animations | 可从脚本访问的动画列表。 | |
Play Automatically | 启用此选项可在游戏开始时自动播放动画。 | |
Animate Physics | 启用此选项可使动画与物理系统交互。 | |
Culling Type | 确定何时不播放动画。 | |
Always Animate | 始终进行动画化。 | |
Based on Renderers | 基于默认动画姿势进行剔除。 |
Rig 选项卡
Rig 选项卡上的设置定义了 Unity 如何将变形体映射到导入模型中的网格,以便能够将其动画化。对于人形 (Humanoid) 角色,这意味着需要分配或创建 Avatar。对于非人形角色(_通用 (Generic)_ 角色),这意味着需要在骨架中确定根骨骼。
默认情况下,在__项目__视图中选择模型时,Unity 会确定哪个__动画类型 (Animation Type)__ 与所选的模型最匹配,然后将其显示在 Rig 选项卡中。如果 Unity 从未导入该文件,则 Animation Type 设置为 __None__:
属性: | 功能: | |
---|---|---|
Animation Type | 指定动画类型。 | |
None | 不存在动画 | |
Legacy | 使用旧版动画系统。与 Unity 3.x 及更早版本一样导入和使用动画。 | |
Generic | 如果骨架为非人形(四足动物或任何要动画化的实体),请使用通用动画系统。Unity 会选择一个根节点,但可以确定另一个用作__根节点__的骨骼。 | |
Humanoid | 如果骨架为人形(有两条腿、两条手臂和一个头),请使用人形动画系统。Unity 通常会检测骨架并将其正确映射到 Avatar。有些情况下,可能需要更改 Avatar 定义 (Avatar Definition) 并手动对映射进行__配置 (Configure)__。 |
通用动画类型
骨架为非人形(四足动物或任何要动画化的实体)
通用动画不会像人形动画那样使用 Avatar。由于骨架可以是任意形状,必须指定哪个骨骼是__根节点 (Root node)__。通过使用根节点,Unity 可在通用模型的动画剪辑之间建立一致性,并在尚未“在正确位置”(即,整个模型在动画化时移动其世界位置的位置)制作的动画之间正确混合。
指定根节点有助于 Unity 区分骨骼相对于彼此的移动与根节点在世界中的运动(通过 OnAnimatorMove 进行控制)。
人形动画类型
选A,点击Apply,出现骨骼映射面板。
选B,需要指定Source。
注意:
- 从MAX导入模型到Unity,需要选中模型和骨骼。
- 如果仅仅是导入动画,只需要选择骨骼,而且导出设置面板,需要取消勾选摄像机和灯光。需要勾选动画烘培。
- 如果要使动画可以用于另一个模型上,则需要动画和模型都选择同样的动画类型。不然模型无法播放此动画。
Animation Type | 指定动画类型。 | |
None | 不存在动画 | |
Legacy | 使用旧版动画系统。与 Unity 3.x 及更早版本一样导入和使用动画。 | |
Generic | 如果骨架为非人形(四足动物或任何要动画化的实体),请使用通用动画系统。Unity 会选择一个根节点,但可以确定另一个用作__根节点__的骨骼。 | |
Humanoid | 如果骨架为人形(有两条腿、两条手臂和一个头),请使用人形动画系统。Unity 通常会检测骨架并将其正确映射到 Avatar。有些情况下,可能需要更改 Avatar 定义 (Avatar Definition) 并手动对映射进行__配置 (Configure)__。 |
动画循环播放
需要在