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 进行控制)。
属性: | 功能: | |
---|---|---|
Avatar Definition | 选择获取 Avatar 定义的位置。 | |
Create from this model | 根据此模型创建 Avatar | |
Copy from Other Avatar | 指向另一个模型上设置的 Avatar。 | |
Root node | 选择要用作此 Avatar 的根节点的骨骼。 仅当将 Avatar Definition 设置为 Create From This Model 时此设置才可用。 |
|
Source | 复制另一个具有相同绑定的 Avatar 以导入其动画剪辑。 仅当将 Avatar Definition 设置为 Copy from Other Avatar 时此设置才可用。 |
|
Skin Weights | Set the maximum number of bones that can influence a single vertex. |
|
Standard (4 Bones) | 使用最多四个骨骼来产生影响。这是默认值,出于性能考虑,建议使用此设置。 | |
Custom | 设置自定义的最大骨骼数量。 选择此选项时,将显示 Max Bones/Vertex 和 Max Bone Weight 属性。 |
|
Max Bones/Vertex | 定义每个顶点的最大骨骼数(以影响给定顶点)。可为每个顶点设置 1 到 32 个骨骼,但是用来影响顶点的骨骼数量越多,性能成本就越高。 仅当将 Skin Weights 属性设置为 Custom 时此设置才可用。 |
|
Max Bone Weight | 设置考虑骨骼权重的最低阈值。权重计算将忽略小于此值的任何值,并且 Unity 会将高于此值的骨骼权重放大为总计 1.0。 仅当 Skin Weights 属性设置为 Custom 时此设置才可用。 |
|
Optimize Game Object | 在 Avatar 和 Animator 组件中删除和存储所导入角色的游戏对象变换层级视图。如果启用此选项,角色的 SkinnedMeshRenderer 将使用 Unity 动画系统的内部骨架,因此可提高动画角色的性能。 仅当 Avatar Definition 设置为 Create From This Model 时才可用。 |
|
Extra Transforms to Expose | 指定已启用 Optimize Game Object 时希望 Unity 忽略的变换路径。有关更多信息,请参阅包含额外变换。 仅当启用了 Optimize Game Object 时才会显示此部分。 |
除了极少数例外情况,人形模型具有相同的基本结构。此结构代表了身体的主要关节部位:头部和四肢。使用 Unity 的人形动画功能的第一步是设置和配置 Avatar。Unity 使用 Avatar 将简化的人形骨骼结构映射到模型骨架中的实际骨骼。
属性: | 功能: | |
---|---|---|
Avatar Definition | 选择获取 Avatar 定义的位置。 | |
Create from this model | 根据此模型创建 Avatar | |
Copy from Other Avatar | 指向另一个模型上设置的 Avatar。 | |
Source | 复制另一个具有相同骨架的 Avatar 以导入其动画剪辑。 仅当 Avatar Definition 设置为 Copy from Other Avatar 时才可用。 |
|
Configure… | 打开 Avatar 配置。 仅当 Avatar Definition 设置为 Create From This Model 时才可用。 |
|
Skin Weights | 对于人形角色模型和通用模型,此属性相同。请参阅上文中有关 Skin Weights 属性的文档以了解相关信息。 | |
Optimize Game Object | 在 Avatar 和 Animator 组件中删除和存储所导入角色的游戏对象变换层级视图。如果启用此选项,角色的 SkinnedMeshRenderer 将使用 Unity 动画系统的内部骨架,因此可提高动画角色的性能。 仅当 Avatar Definition 设置为 Create From This Model 时才可用。 |
|
Extra Transforms to Expose | 指定已启用 Optimize Game Object 时希望 Unity 忽略的变换路径。有关更多信息,请参阅包含额外变换。 仅当启用了 Optimize Game Object 时才会显示此部分。 |
启用 Optimize Game Object 属性时,Unity 将忽略属于层级视图但未映射在 Avatar 中的任何变换,以便提高 CPU 性能。但可以使用 Extra Transforms to Expose 部分来标记游戏对象层级视图中的特定节点以纳入到计算中:
(A) 在搜索框中输入全名或部分名称以过滤变换列表。这样可以更轻松地浏览具有大量骨骼的角色。
(B) 启用希望 Unity 在计算中包含的每个变换(骨架的骨骼)。
(C) 使用按钮有助于选择特定变换。例如,__Toggle All__ 按钮可以一次选择或取消选择所有内容(无论当前选择如何,包括过滤的项)。
(D) 使用 Revert 按钮可以撤消所做的选择,或使用 Apply 按钮对模型应用例外条件。
注意:在优化模式下,蒙皮网格矩阵提取是多线程操作。
属性: | 功能: | |
---|---|---|
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 属性的文档以了解此属性的相关信息。 |
有关旧版动画的详细信息,请参阅旧版动画系统的文档。