Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
导出模型的注意事项
从 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 套件,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 编辑器中设计场景的照明。
这样可以让你更准确地感受到最终结果,因为不同的引擎会以不同的方式渲染灯光。这也避免了由于导入过程中灯光显示过强或过弱的问题。