Unity 使用 .fbx 文件格式作为其导入链。将任何类型的模型导入 Unity 时,最佳做法是使用 .fbx 文件格式;但是,您也可以导入以下文件类型的网格和动画:
以下应用程序不使用 .fbx 作为中间格式。Unity 在将它们导入编辑器之前将其转换为 .fbx 文件格式:
有关导入这些文件格式的更多信息,请参阅 SketchUp 导入设置和 SpeedTree 导入设置文档。
Unity 可读取 .fbx、.dae (Collada)、.dxf 和 .obj 文件。这些是最容易导入 Unity 的文件,因为您可以从 Unity 不直接支持的软件中导入它们,您还可以将导出的 .fbx 或 .obj 文件重新导入到您选择的 3D 建模软件中,以检查所有信息已正确导出。
这些类型的文件通常也比专有软件的文件小,这使您的项目规模更小,迭代速度更快。
最佳做法是导出为 .fbx 而不是直接将应用程序文件保存在项目中,并且不应在生产中直接使用本机文件格式。但是,有时您可能需要将这些文件作为项目的一部分包含在内。Unity 可以从以下 3D 建模软件中导入专有文件,并将其转换为 .fbx 文件:
Unity 不提供对 Cinema4D 文件的内置支持。要在 Unity 中使用 Cinema4D 文件,您应该将它们从专有软件导出为 .fbx 文件。
除非在计算机上安装了相应的 3D 建模软件,否则保存为 .ma、.mb、.max、.c4d 或 .blend 文件的资源将无法导入。这意味着,处理 Unity 项目的每个人都必须安装正确的软件。例如,如果您使用 Autodesk Maya LT 许可证来创建 .mb 文件,并将其复制到您的项目中,那么任何打开该项目的用户也需要在他们的计算机上安装 Autodesk Maya LT。
在将文件导入 Unity 之前,您应该遵循一些步骤以确保以最佳方式优化您的文件。
思考您希望导出的内容:有些场景对象必不可少,而其他则可能不必要。因此您可以通过仅保留基本对象来优化 Unity 中的数据。这有助于从场景中删除不需要的数据,还意味着您可以使用预设或自定义场景导出器以自动化或简化选择导出过程。
下表列出了为使每种资源类型在 Unity 中发挥最佳效果而应考虑的特殊注意事项:
Object | 准备 |
---|---|
网格 (Meshes) | 必须将所有 NURBS、NURMS、样条曲线、面片和细分曲面转换为多边形(三角形剖分或四边形剖分) |
烘焙变形体 (Bake deformers) | 在导出为 .fbx 文件格式之前,请确保将变形体烘焙到应用程序中的模型上。例如,如果要从 Maya 导出复杂骨架,则可以在将模型导出到 .fbx 之前将变形烘焙到蒙皮权重上。 |
纹理 (Textures) | 确保您应用程序的纹理来自 Unity 项目,或者将它们复制到 Unity 项目中的名为 Textures 的文件夹。注意:建议不要使用 Embed Media 选项在 .fbx 文件中嵌入纹理。由于 Unity 在使用纹理之前必须先进行提取,因此嵌入它们会导致项目臃肿并减慢导入过程。 |
平滑 (Smoothing) | 如果要导入混合形状法线,则 .fbx 文件中必须有平滑组。 |
在导出 .fbx 文件之前,请确保使用 3D 建模应用程序支持的最新版本的 .fbx 导出器。导出到 .fbx 时,记录 3D 建模应用程序的导出对话框中的每项设置,以便匹配 Unity 中的 .fbx 导入设置。大多数 .fbx 导出器允许您启用或禁用某些动画、摄像机和灯光效果的导出,因此如果在导入 Unity 时发现缺少任何内容,请检查该内容是否已导出。
在将 .fbx 文件导入 Unity 之前,请验证导出文件的大小。对文件大小执行完整性检查(例如,查看文件大小是否大于 10KB)。将 .fbx 文件重新导回到用于生成该文件的 3D 建模软件中(例如导入到新场景中)。检查并确保能正常工作。
要将文件导入 Unity,请遵循有关导入操作的说明,务必记住您在 3D 建模软件中的导出选项设置。