导入一个模型
模型文件可包含各种数据,例如网格、动画骨架和剪辑、材质和纹理。你的文件可能并不包含所有这些元素,但你可以遵循工作流程中任何你所需要的部分:
- 在 Project 视图中选择文件以查看 Import Settings 窗口
- 设置模型特有的选项或常规导入器选项
-
设置骨架和动画的导入选项(不适用于 SpeedTree 模型)
- 处理材质和纹理
- 将文件拖入 Unity 中
有关如何从 3D 建模软件导出 Humanoid 动画的指南,请参阅做好导出人形模型的准备。
注意:Unity 主要支持 FBX 格式的模型文件。但是,可以使用原生格式(例如 .max、.blend、.mb 和 .ma)从最常见的 3D 建模软件中保存 3D 文件。Unity 在 Assets 文件夹中找到这些文件类型时,会回调 3D 建模软件的 FBX 导出插件来导入文件。3D 建模软件必须与 Unity 安装在同一台计算机上,因此在大多数情况下,最佳做法是将应用程序直接导出为 FBX 格式到 Assets 文件夹中。
访问 Import Settings 窗口
无论要从模型文件中提取哪种数据,始终以相同的方式开始:
打开 Project 窗口和 __Inspector__,确保能同时看到这两个界面。
-
从 Project 窗口的 Asset 文件夹中选择要导入的__模型__文件。
Inspector 中将打开 Import Settings 窗口,其中默认显示 Model 选项卡。
设置模型特有的选项和常规导入器选项
SpeedTree 模型与其他模型的可用选项有很大差异。有关更多信息,请参阅 SpeedTree Model 选项卡。
角色和动画模型在其 Model 选项卡上提供多样化的选项,允许您:
- 使用 Scale Factor 和 Convert Units 属性可调整 Unity 对单位的解释。例如,3ds Max 使用 1 个单位表示 10 厘米,而 Unity 使用 1 个单位表示 1 米。
- 使用 Mesh Compression、Read/Write Enabled、Optimize Mesh、Keep Quads、Index Format 或 Weld Vertices 属性可减少资源并节省内存。
- 如果模型文件来自 Maya 或 3ds Max,或者任何其他支持变形目标动画的 3D 建模应用程序,则可以启用 Import BlendShapes 选项。
- 可为环境几何形状启用 Generate Colliders 选项。
- 可启用特定的 FBX 设置,如 Import Visibility 或 Import Cameras 和 Import Lights。
- 对于仅包含动画的模型文件,可启用 Preserve Hierarchy 选项以防止骨架层级视图不匹配。
- 如果使用了__Lightmap__,则可设置 Swap UVs 和 Generate Lightmap UVs。
- 可使用 Normals、Normals Mode、Tangents 或 Smoothing Angle 选项来控制 Unity 如何处理模型中的法线 (Normals) 和切线 (Tangents)。
设置骨架和动画的导入选项
如果文件包含动画数据,可遵循使用 Rig 选项卡设置骨架并使用 Animation 选项卡提取或定义动画剪辑的准则。人形和通用(非人形)动画类型的工作流程不同,因为 Unity 要求人形类型有非常具体的骨骼结构,但对于通用类型只需了解哪个骨骼是根节点:
注意:SpeedTree 型号不具有 Rig 和 Animation 选项卡。
处理材质和纹理
如果文件包含材质或纹理,可定义它们的处理方式:
- 单击 Import Settings 窗口中的 Materials 选项卡。
- 从 Material Creation Mode 下拉菜单中,选择要如何从 FBX 文件导入材质。除非选择 None__,否则 Materials__ 选项卡中显示多个选项,包括 Location 选项,该选项的值决定了应显示的其他选项。
- 选择 Use Embedded Materials 选项将材质保持在导入的资源中。
- 设置完这些选项后,请单击 Import Settings 窗口底部的 Apply 按钮来保存这些设置,也可单击 Revert 按钮取消设置。
查找纹理
Unity 遵循特定的搜索计划在导入时自动查找纹理。首先,导入器在与网格相同的文件夹中或任何父文件夹中查找名为 Textures 的子文件夹。如果此过程失败,Unity 将对项目中的所有纹理执行穷尽搜索。虽然速度只是稍慢,但穷尽搜索的主要缺点是项目中可能有两个或多个同名的纹理。在这种情况下,不能保证 Unity 可以找到合适的纹理。
纹理放置在资源级别或更高级别的 Textures 文件夹中
(A) 可能找到纹理的地方
(B) 正在导入的网格
法线贴图
如果一个角色具有从模型的复杂多边形版本生成的法线贴图,则应导入平滑角为 180 度的游戏质量版本。这样可以防止由于切线分裂而导致光照中出现看起来奇怪的接缝。如果使用这些设置后仍然存在接缝,请从 Tangents 下拉菜单中选择 Calculate Legacy With Split Tangents。如果是将灰度图像转换为法线贴图,则无需担心这一点。
将文件拖入 Unity 中
最后,可将文件导入场景中:
- 如果文件中包含网格,请将文件拖入 Scene 视图以将其实例化为__游戏对象__的__预制件__。
- 如果文件中包含动画剪辑,可将文件拖入 Animator 窗口以便在状态机中使用。也可以将动画连续片段直接拖动到 Scene 视图中的实例化预制件上。此操作将自动创建一个动画控制器 (Animation Controller) 并将动画连接到模型。