创建用于动画的模型
此页面包含有关创建用于 Unity 的动画系统的模型的指南。
有关创建所有类型模型的常规最佳实践指南,请参阅创建用于优化性能的模型。有关将包含动画的模型导入 Unity 的信息,请参阅导入具有类人动画的模型或导入具有非类人(通用)动画的模型。
您可以使用 Unity 的动画系统两种类型的模型
- 类人模型是一种特定的结构,包含至少 15 根骨骼,其组织方式松散地符合实际的人体骨骼。
- 通用模型包括所有其他模型。这可能是从茶壶到龙的任何东西。
两者都需要绑定蒙皮模型。创建此类模型的阶段为
-
建模:创建模型。模型包含网格Unity 的主要图形基元。网格构成了 3D 世界的很大一部分。Unity 支持三角形或四边形多边形网格。Nurbs、Nurms、细分曲面必须转换为多边形。更多信息
请参阅词汇表、纹理等。
-
绑定:创建骨骼,也称为绑定或关节一个物理组件,允许刚体组件之间进行动态连接,通常允许一定程度的运动,例如铰链。更多信息
请参阅词汇表层次结构。这定义了网格内的骨骼,以及它们彼此之间的运动。
-
蒙皮:将网格连接到骨骼。这定义了当给定关节进行动画处理时,角色网格的哪些部分会移动。
您通常会在 3D 建模软件(例如 Autodesk® 3ds Max®、Autodesk® Maya® 或 Blender)中执行所有这些步骤,导出生成的模型,然后将其导入 Unity。
建模
有一些准则可以遵循,以确保模型在 Unity 项目中与动画配合良好
- 使用具有良好结构的拓扑。通常,您应该考虑模型在动画过程中顶点和三角形的变形方式。良好的拓扑结构允许模型移动而不扭曲网格。研究现有的角色网格以了解拓扑结构是如何排列的以及原因。
- 检查网格的比例。执行测试导入,并将导入的模型的大小与“米立方体”进行比较。标准的 Unity 立方体基元边长为一个单位,因此在大多数情况下可以将其视为 1 米立方体。检查 3D 建模软件使用的单位,并调整导出设置,以便模型的大小与立方体成正确的比例。
- 在构建时,清理模型。在可能的情况下,封住孔洞、焊接顶点并删除隐藏面。这有助于蒙皮,尤其是自动蒙皮过程。
- 如果您的角色有脚,请将网格排列好,使它们站在模型的局部原点或“锚点”上。如果角色的锚点(即其变换位置)直接在地板上,则行走更容易处理。
- 如果您的角色是两足动物,请以T 形姿势角色将手臂向两侧伸直,形成“T”的姿势。为了创建角色的化身,角色需要保持的姿势。
请参阅词汇表进行建模。这为您提供了在需要的地方(例如腋窝下)细化多边形细节的空间。这也使将您的绑定放置在网格内变得更容易。
绑定
3D 建模软件提供了多种创建绑定关节的方法。
对于类人模型,骨骼有一些特定要求,以便 Unity 可以将其与类人化身匹配
- 至少 15 根骨骼。您的骨骼需要至少具有所需的骨骼。
- 为了提高找到与化身用于将动画从一个绑定重新定位到另一个绑定的接口。更多信息
请参阅词汇表匹配的机会,请以反映其代表的身体部位的方式命名您的骨骼。例如,“LeftArm”和“RightForearm”清楚地表明了这些骨骼控制的内容。
- 关节/骨骼层次结构应遵循您正在创建的角色的自然结构。鉴于手臂和腿成对出现,您应该使用一致的约定来命名它们(例如,左侧手臂为“arm_L”,右侧手臂为“arm_R”)。层次结构的可能结构包括
- HIPS - spine - chest - shoulders - arm - forearm - hand
- HIPS - spine - chest - neck - head
- HIPS - UpLeg - Leg - foot - toe - toe_end
对于通用模型,唯一的要求是骨骼包含一根骨骼,您可以在导入模型时将其指定为根节点动画层次结构中的一个变换,允许 Unity 在通用模型的动画剪辑之间建立一致性。它还使 Unity 能够在未“就地”创作的动画之间正确混合(即,整个模型在动画期间移动其世界位置)。更多信息
请参阅词汇表。这有效地定义了模型的质心代表刚体中所有质量的平均位置,用于物理计算。默认情况下,它是根据属于刚体的所有碰撞体计算的,但可以通过脚本修改。更多信息
请参阅词汇表。
蒙皮
初始设置通常是自动化的。蒙皮通常需要大量的操作和动画测试,以确保蒙皮变形的令人满意的结果。
此过程的一些常规指南包括
- 最初使用自动化过程来设置一些蒙皮(请参阅 3D 建模软件提供的蒙皮教程)。
- 为您的绑定创建简单的动画或导入一些动画数据以作为蒙皮的测试。这应该为您提供一种快速的方法来评估蒙皮在运动中是否看起来不错。
- 增量编辑和细化您的蒙皮解决方案。
- 出于性能原因,请考虑在使用软绑定时将影响数量限制为最多四个。这是 Unity 默认支持的最大数量。如果您的网格使用超过四个影响,您可以选择以下任一选项
- 使用蒙皮权重属性增加最大影响数量。
- 在从 Maya 导出模型之前,使用烘焙变形器工具(从 Maya 的顶部菜单:蒙皮 > 将变形器烘焙到蒙皮权重)烘焙变形关节。有关更多信息,请参阅 Autodesk 文档中的在角色上烘焙变形器。
导出和验证模型
Unity 导入许多不同的通用和原生 3D 文件格式,但推荐的文件格式为 .fbx。有关更多信息,请参阅模型文件格式。
当您使用 .fbx 时,您可以
- 导出带有骨骼层次结构、法线、纹理和动画的网格。
- 将网格重新导入 3D 建模软件以验证动画模型是否按预期显示。
- 导出不带网格的动画。