可用的 3D 文件格式

在处理 3D 资产时,Godot 有一个非常灵活且可配置的导入器。

Godot 使用 场景 工作。这意味着用你最喜爱的 3D 软件制作的整个场景可以尽可能完整地被导入。

Godot 支持以下 3D 场景文件格式

  • glTF 2.0 (推荐使用)。Godot 完全支持文本(.gltf)和二进制( .glb )格式。

  • .blend (Blender)。这是通过调用 Blender 以透明方式导出到 glTF 来实现的(需要安装 Blender)。

  • DAE(COLLADA),一个受支持的比较老的格式。

  • OBJ(Wavefront)格式 + 它们的 MTL 材质文件。这也是完全支持的,但由于格式的限制支持相当有限(不支持轴心、骨架、动画、UV2、PBR 材质……)。

  • FBX,通过 FBX2glTF 集成提供支持。这需要安装链接到专有 FBX SDK 的外部程序,因此我们建议使用上面列出的其他格式(如果适合你的工作流程)。

将场景文件连同纹理和网格数据(如果是单独的)复制到项目仓库,然后当聚焦编辑器窗口时,Godot 将执行完全导入。

直接在 Godot 中导入 .blend 文件

备注

此功能需要 Blender 3.0 或更高版本。为了获得最佳结果,我们建议使用 Blender 3.5 或更高版本,因为它包含了对 glTF 导出器的许多修复。

强烈 建议使用从 Blender.org 下载的官方 Blender 版本,而不是 Linux 发行包或 Flatpak。这可以避免与打包相关的任何问题,例如可能导致不兼容或沙箱限制的不同库版本。

The editor can directly import .blend files by calling Blender's glTF export functionality in a transparent manner.

这样可以使你更快地迭代 3D 场景。你可以将场景保存在 Blender 中,按 Alt + Tab 返回 Godot,然后立即查看更改。使用版本控制时也更有效,你不再需要将导出的 glTF 文件的副本提交到版本控制。

To use .blend import, you must install Blender before opening the Godot editor (if opening a project that already contains .blend files). If you keep Blender installed at its default location, Godot should be able to detect its path automatically. If this isn't the case, configure the path to the Blender executable in the Editor Settings (Filesystem > Import > Blender > Blender Path).

如果你希望将 .blend 文件保留在项目文件夹中,但不让 Godot 导入它们,请在高级项目设置中禁用 文件系统 > 导入 > Blender > 启用

.blend 导入过程会首先转换为 glTF,因此它仍然使用 Godot 的 glTF 导入代码。因此,.blend 导入过程与 glTF 导入过程相同,但在开始时会有一个额外的步骤。

解释 Godot 中 Blender 文件导入过程的图表

备注

请记住,在团队中工作时,在项目中使用 .blend 文件意味着要求 所有 团队成员都安装 Blender。虽然 Blender 是免费下载的,但这也依然可能会增加项目工作时的摩擦。.blend 导入在 Android 和 Web 编辑器上也不可用,因为这些平台无法调用外部程序。

如果有以上问题,请考虑使用从 Blender 导出的 glTF 场景。

从 Blender 导出的 DAE 文件

Blender 也有内置的 COLLADA 支持,但它无法正常工作以满足游戏引擎的需求,因此不应按原样使用。但是,使用内置 Collada 支持导出的场景可能仍然适用于没有动画的简单场景。

For complex scenes or scenes that contain animations it is highly recommend to use glTF instead.

在 Godot 中导入 OBJ 文件

OBJ 是最简单的 3D 格式,Godot 应该能够成功导入大多数 OBJ 文件。不过 OBJ 格式的限制也很多:不支持蒙皮、动画、UV2、PBR 材质。

在 Godot 中使用 OBJ 网格的方法有两种:

  • 直接将它们加载到 MeshInstance3D 节点,或任何其他需要网格的属性(例如 GPUParticles3D)中。这是默认模式。

  • 在导入面板中将其导入模式更改为 场景 ,然后重新启动编辑器。这会允许使用与 glTF 或 Collada 场景相同的导入选项,例如在导入时展开 UV2(对于 使用光照贴图全局照明)。

备注

Blender 3.4 and later can export RGB vertex colors in OBJ files (this is a nonstandard extension of the OBJ format). Godot is able to import those vertex colors, but they will not be displayed on the material unless you enable Vertex Color > Use As Albedo on the material.

OBJ 网格的顶点颜色在导入后会保留其原始颜色空间(sRGB/线性),但其亮度被限制为 1.0(这些颜色不能过亮)。

在 Godot 中导入 FBX 文件

默认情况下,在 Godot 4.3 或更高版本中,添加到 Godot 项目的任何 FBX 文件都将使用 ufbx 导入方法。任何在如 4.2 等之前的版本中添加到项目的文件将继续通过 FBX2glTF 方法导入,除非你进入该文件的导入设置,并将导入器更改为 ufbx

如果你将 .fbx 文件保留在项目文件夹中,但不希望 Godot 导入它们,请在高级项目设置中禁用 文件系统 > 导入 > FBX > 启用

如果你想设置 FBX2glTF 的工作流程——一般情况下不推荐,除非你有具体理由——你需要下载 FBX2glTF 可执行文件,然后在编辑器设定 Filesystem > Import > FBX > FBX2glTFPath 中 指定该文件路径

FBX 导入过程中会首先转换为 glTF,因此过程仍然使用 Godot 的 glTF 导入代码。所以可以说,FBX 导入过程与 glTF 导入过程相同,但在开始时多了一个额外的步骤。

通过 FBX2glTF 在 Godot 中导入 FBX 文件的过程示意图

参见

在 Godot 网站的 FBX 导入页面 中描述了在 Godot 中使用 FBX 的完整安装过程。