Unity3D:导入一个模型
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生
导入一个模型
模型文件可以包含各种数据,例如网格、动画绑定和剪辑、材质和纹理。您的文件可能不包含所有这些元素,但您可以按照工作流的任何部分进行操作:
- 在 Project 视图中选择文件以查看 Import Settings 窗口
- 设置模型特有的选项或常规导入器选项
- 设置骨架和动画的导入选项(不适用于 SpeedTree 模型)
- 处理材质和纹理
- 将文件拖入 Unity 中
有关如何从 3D 建模软件导出 Humanoid 动画的指南,请参阅做好导出人形模型的准备。
注意:Unity 对模型文件的主要支持是 FBX 格式。但是,您可以将大多数常见 3D 建模软件中的 3D 文件保存为其本机格式(例如,.max、.blend、.mb、.ma)。当 Unity 在您的文件夹中找到这些文件类型时,它会调用 3D 建模软件的 FBX 导出插件并导入文件。3D 建模软件必须与 Unity 安装在同一台计算机上,因此在大多数情况下,最佳做法是直接从应用程序中作为 FBX 导出到文件夹中。AssetsAssets
访问 Import Settings 窗口
无论要从模型文件中提取哪种数据,始终以相同的方式开始:
- 打开 Project 窗口和 Inspector,确保能同时看到这两个界面。
从 Project 窗口的 Asset 文件夹中选择要导入的模型文件。
Inspector 中将打开 Import Settings 窗口,其中默认显示 Model 选项卡。
设置模型特有的选项和常规导入器选项
SpeedTree 模型与其他模型可用的选项非常不同。例如,SpeedTree Model 选项卡提供的选项主要用于设置 LOD 级别之间的过渡。
角色和动画模型在其 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 可以找到合适的纹理。

(A) 可能找到纹理的地方
(B) 正在导入的网格
法线贴图
如果一个角色具有从模型的复杂多边形版本生成的法线贴图,则应导入平滑角为 180 度的游戏质量版本。这样可以防止由于切线分裂而导致光照中出现看起来奇怪的接缝。如果使用这些设置后仍然存在接缝,请从 Tangents 下拉菜单中选择 Calculate Legacy With Split Tangents。如果是将灰度图像转换为法线贴图,则无需担心这一点。
将文件拖入 Unity 中
最后,可将文件导入场景中:
- 如果文件中包含网格,请将文件拖入 Scene 视图以将其实例化为游戏对象的预制件。
- 如果文件中包含动画剪辑,可将文件拖入 Animator 窗口以便在状态机中使用。也可以将动画连续片段直接拖动到 Scene 视图中的实例化预制件上。此操作将自动创建一个动画控制器 (Animation Controller) 并将动画连接到模型。
由3D建模学习工作室整理翻译,转载请注明出处!