Überlegungen zum Modellexport
Bevor Sie ein 3D-Modell aus einer 3D-Modellierungsanwendung wie Blender exportieren, sollten Sie einige Überlegungen anstellen, um sicherzustellen, dass das Modell den Konventionen und bewährten Praktiken für Godot entspricht.
Konventionen zur Ausrichtung von 3D-Assets
Godot verwendet ein rechtshändiges Y-ist-oben-Koordinatensystem, wobei die -Z-Achse die Vorwärtsrichtung der Kamera ist. Dies entspricht dem OpenGL-System. Das bedeutet, dass bei einer Kamera +Z hinten, +X rechts und -X links ist.
Die Konvention für 3D-Assets ist es, in die entgegengesetzte Richtung der Kamera zu schauen, so dass Charaktere und andere Assets standardmäßig der Kamera zugewandt sind. Diese Konvention ist in 3D-Modellierungsanwendungen sehr verbreitet und wurde in glTF als Teil der glTF 2.0-Spezifikation gernormt. Das bedeutet, dass für orientierte 3D-Assets (wie Charaktere) die +Z-Achse die Richtung der Vorderseite ist, also ist -Z die Rückseite, +X die linke Seite und -X die rechte Seite eines 3D-Assets. In Blender bedeutet dies, dass +Y die Rückseite und -Y die Vorderseite eines Assets ist.
Wenn Sie ein orientiertes 3D-Asset in Godot drehen, verwenden Sie die Option use_model_front für die look_at-Funktionen, und verwenden Sie die Konstanten Vector3.MODEL_*, um Berechnungen im Local-Space des orientierten Assets durchzuführen.
Bei Objekten ohne eigene Vorderseite oder Vorwärtsrichtung, wie z.B. einer Spielkarte oder einem Terrain, sind stattdessen die Himmelsrichtungen zu beachten. In Godot und den meisten anderen Anwendungen gilt die Konvention, dass +X für Osten und -X für Westen steht. Aufgrund des rechtshändigen Y-ist-oben-Koordinatensystems von Godot bedeutet dies, dass +Z Süden und -Z Norden ist. In Blender bedeutet dies, dass +Y im Norden und -Y im Süden liegt.
Texturen separat exportieren
Während Texturen in bestimmten Dateiformaten, wie etwa gltf 2.0, mit einem Modell exportiert werden können, ist auch ein separater Export möglich. Godot verwendet PBR (Physically Based Rendering) für seine Materialien. Wenn also ein Texturierungsprogramm PBR-Texturen exportieren kann, können diese in Godot funktionieren. Dazu gehören die „Substance Suite <https://www.adobe.com/creativecloud/3d-ar.html>“, „ArmorPaint (Open Source) <https://armorpaint.org/>“ und „Material Maker (Open Source) <https://github.com/RodZill4/material-maker>“.
Siehe auch
Weitere Informationen zu den Materialien von Godot finden Sie unter Standardmaterial 3D und ORM-Material 3D.
Überlegungen zum Exportieren
Da GPUs nur Dreiecke rendern können, müssen Meshes, die Quads oder N-Gons enthalten, trianguliert werden, bevor sie gerendert werden können. Godot kann Meshes beim Importieren triangulieren, aber die Ergebnisse könnten unvorhersehbar oder falsch sein, insbesondere bei N-Gons. Unabhängig von der Zielanwendung führt das Triangulieren vor dem Exportieren der Szene zu konsistenteren Ergebnissen und sollte nach Möglichkeit durchgeführt werden.
Um Probleme mit falscher Triangulation nach dem Import in Godot zu vermeiden, wird empfohlen, die 3D-Modellierungssoftware dazu zu bringen, Objekte selbst zu triangulieren. In Blender können Sie dies tun, indem Sie Ihren Objekten einen Triangulationsmodifikator hinzufügen und sicherstellen, dass Apply Modifiers im Exportdialog aktiviert ist. Alternativ können Sie, je nach Exporter, im Exportdialog die Option Triangulate Faces suchen und aktivieren.
Um Probleme mit der 3D-Auswahl im Editor zu vermeiden, empfiehlt es sich, die Objekttransformation in der 3D-Modellierungssoftware anzuwenden, bevor die Szene exportiert wird.
Bemerkung
Es ist wichtig, dass das Mesh beim Export nicht durch Knochen deformiert wird. Stellen Sie sicher, dass das Skelett vor dem Export mit Ihrem bevorzugten 3D-Editor auf seine T-Pose oder seine Default-Standardpose zurückgesetzt wird.
Überlegungen zur Beleuchtung
Es ist zwar möglich, Lichter aus einer 3D-Szene in den Formaten glTF, .blend oder Collada zu importieren, aber im Allgemeinen ist es ratsam, die Beleuchtung der Szene nach dem Import im Godot-Editor zu gestalten.
Auf diese Weise erhalten Sie ein genaueres Gefühl für das Endergebnis, da verschiedene Engines Lichter auf unterschiedliche Weise rendern. Auf diese Weise wird auch vermieden, dass die Lichter durch den Importvorgang zu stark oder zu schwach erscheinen.