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 素材習慣上會讓模型的正面朝向 -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 編輯器內重建或調整燈光。
這可以讓您對最終結果有更準確的感覺,因為不同的引擎將以不同的方式算繪燈光。這也可以避免因匯入過程而導致燈光顯得過強或過弱的任何問題。