模型匯出注意事項

從 3D 建模軟體(如 Blender)匯出 3D 模型前,請務必先檢查模型結構與內容是否符合 Godot 的最佳實踐與命名慣例,以避免匯入問題。

3D 素材坐標朝向慣例

Godot 採用右手坐標系,Y 軸朝上,-Z 為鏡頭正前方(同 OpenGL)。等於 +Z 為後、+X 為右、-X 為左。

3D 素材習慣上會讓模型的正面朝向 -Z(也就是鏡頭預設的前方),這樣匯入 Godot 時角色正面才會朝向玩家。這點在 glTF 2.0 標準中也有明文規定(<https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#coordinate-system-and-units>)。換句話說,角色正面應該是 +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(Adobe)、ArmorPaint、Material Maker 等。

也參考

有關 Godot 的材質的更多資訊,請參閱 標準 3D 材質與 ORM 3D 材質

其他建議

GPU 只能算繪三角形,所以四邊形或多邊形網格必須先三角化。Godot 匯入時會自動三角化,但結果不一定理想,尤其是多邊形(n-gon)。建議在 DCC 軟體中就先三角化(Triangulate),這樣匯入結果最穩定。

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

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

備註

匯出時請確保骨架未對模型產生變形,骨架應重設為 T 姿勢或預設靜止姿勢再匯出。

其他建議

雖然 glTF、.blend 或 Collada 格式可以帶入場景中的燈光,但建議匯入後再於 Godot 編輯器內重建或調整燈光。

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