Up to date

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

Model export considerations

Before exporting a 3D model from a 3D modeling application, such as Blender, there are some considerations that should be taken into account to ensure that the model follows the conventions and best practices for Godot.

命名公約

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 suite , ArmorPaint (開源) , Material Maker (開源) .

備註

更多有關光照烘焙的資訊,請參考 doc_baked_lightmaps

其他建議

由於 GPU 只能渲染三角形,所以包含四邊形或 N 邊形的網格必須在渲染前進行*三角剖分*。Godot 可以在匯入時對網格進行三角剖分,但結果可能無法預測或不正確,特別是對於 N 邊形。無論目標應用是什麼,在匯出場景之前進行三角剖分會得到更一致的結果,因此應該盡可能地進行三角剖分。

為了避免在Godot中匯入後出現三角剖分不正確的問題, 建議讓3D DCC自行對物件進行三角剖分. 在Blender中, 可以通過向物件新增三角剖分修改器, 並確保在匯出對話方塊中勾選 應用修改器 來實作. 另外, 根據匯出工具的不同, 您可以在匯出對話方塊中找到並啟用 Triangulate Faces 選項.

為了避免在編輯器中出現3D選擇的問題, 建議在匯出場景前在3D DCC中應用物件變換.

備註

有一點很重要的是,匯入後的網格並不會被骨骼變形。請確保在匯入前以您慣用的 3D 編輯器將骨骼重設至 T-Pose 或預設靜止姿勢。

其他建議

雖然可以使用 glTF、.blend 或 Collada 格式從 3D 場景匯入燈光,但通常建議在匯入場景後在 Godot 編輯器中設計場景的燈光。

這可以讓您對最終結果有更準確的感覺,因為不同的引擎將以不同的方式渲染燈光。這也可以避免因匯入過程而導致燈光顯得過強或過弱的任何問題。