Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

导出模型的注意事项

从 3D 建模应用程序(例如 Blender)导出 3D 模型之前,应考虑一些注意事项,以确保模型遵循 Godot 的约定和最佳实践。

3D 资产方向约定

Godot 使用 Y 朝上的右手坐标系,-Z 轴是相机的前方。这是与 OpenGL 一致的。即对于相机而言,+Z 为后方、+X 为右侧、-X 为左侧。

传统上,3D 资产的朝向与相机相对,所以角色和其他资产默认应该面朝相机。这种约定在 3D 建模软件中极其常见,在 glTF 2.0 规范中对 glTF 有相关成文的规定。这意味着确定 3D 资产(例如角色)朝向时,3D 资产的 +Z 轴是前方、-Z 轴是后方、+X 为左侧、-X 为右侧。在 Blender 中,也就是 +Y 为角色后方、-Y 为角色前方。

在 Godot 中旋转 3D 资产时,请为 look_at 函数指定 use_model_front 选项,使用 Vector3.MODEL_* 常量在资产的局部空间中进行计算。

对于地图、地形等没有正反、前后概念的资产,请改用东南西北等基本方向。Godot 和大多数其他程序都约定 +X 为东、-X 为西。由于 Godot 使用的是 Y 朝上的右手坐标系,所以 +Z 为南、-Z 为北。在 Blender 中,这意味着 +Y 为北、-Y 为南。

单独导出纹理

虽然纹理可以和模型一起以某些文件格式导出,如 glTF 2.0,但你也可以单独导出它们。Godot的材质使用 PBR(基于物理的渲染),所以如果一个纹理程序可以导出 PBR 纹理,它们就可以在 Godot 中工作。这包括 `Substance 套件<https://www.substance3d.com/>`__ArmorPaint (开源)Material Maker (开源)

备注

关于 Godot 材质的更多信息见 标准 3D 材质与 ORM 3D 材质

导出注意事项

由于 GPU 只能渲染三角形,所以包含四边形或 N 边形的网格必须在渲染前进行三角剖分。Godot 可以在导入时对网格进行三角剖分,但结果可能无法预测或不正确,特别是对于 N 边形。无论目标应用是什么,在导出场景之前进行三角剖分会得到更一致的结果,因此应该尽可能地进行三角剖分。

为了避免在 Godot 中导入后出现三角剖分不正确的问题,建议让 3D 建模软件自行对对象进行三角剖分。在Blender中,可以通过向对象添加三角剖分修改器,并确保在导出对话框中勾选 应用修改器 来实现。另外,根据导出工具的不同,你可以在导出对话框中找到并启用 Triangulate Faces 选项。

为了避免在编辑器中出现 3D 选择的问题,建议在导出场景前在 3D 建模软件中应用对象变换。

备注

在输出时,网格不会被骨骼变形很重要。在使用你喜欢的 3D 编辑器进行导出之前,请确保将骨架重置为其 T 姿势或默认的放松姿势。

光照注意事项

虽然可以使用 glTF、 .blend 或 Collada 格式从 3D 场景中导入灯光,但通常建议在导入场景后在 Godot 编辑器中设计场景的照明。

这样可以让你更准确地感受到最终结果,因为不同的引擎会以不同的方式渲染灯光。这也避免了由于导入过程中灯光显示过强或过弱的问题。