Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
Verfügbare 3D-Formate¶
Beim Umgang mit 3D-Assets verfügt Godot über einen flexiblen und konfigurierbaren Importer.
Godot arbeitet mit Szenen. Das bedeutet, dass die gesamte Szene, an der Sie in Ihrer bevorzugten 3D-Modellierungssoftware arbeiten, so exakt wie möglich übertragen wird.
Godot unterstützt die folgenden 3D-Szenen-Dateiformate:
glTF 2.0 (empfohlen). Godot unterstützt sowohl das Text- (
.gltf
) als auch das Binärformat (.glb
)..blend
(Blender). Dies funktioniert, indem Blender aufgerufen wird, um auf transparente Weise nach glTF zu exportieren (Blender muss installiert sein).DAE (COLLADA), ein älteres Format, das unterstützt wird.
OBJ (Wavefront)-Format + deren MTL Materialdateien. Dies wird auch unterstützt, aber ziemlich begrenzt angesichts der Einschränkungen des Formats (keine Unterstützung für Pivot-Punkte, Skelette, Animationen, UV2, PBR-Materialien, ...).
FBX, unterstützt durch FBX2glTF-Integration. Dies erfordert die Installation eines externen Programms, das mit dem proprietären FBX-SDK verknüpft ist. Wir empfehlen daher die Verwendung anderer oben aufgeführter Formate (sofern sie für Ihren Workflow geeignet sind).
Kopieren Sie die Szenendatei zusammen mit den Texturen und Mesh-Daten (falls separat) in das Projekt-Repository, dann wird Godot einen vollständigen Import durchführen, wenn das Editorfenster fokussiert wird.
Exportieren von glTF 2.0-Dateien aus Blender (empfohlen)¶
Es gibt 3 Möglichkeiten, glTF-Dateien aus Blender zu exportieren:
Als glTF-Binärdatei (
.glb
).Als textbasierte glTF-Datei mit eingebetteten Binärdaten (
.gltf
-Datei)Als textbasierte glTF-Datei mit separaten Binärdaten und Texturen (
.gltf
-Datei +.bin
-Datei + Texturen).
glTF-Binärdateien (.glb
) sind die kleinste der drei Optionen. Sie enthalten das Mesh und die Texturen, die in Blender eingerichtet wurden. Wenn sie in Godot übernommen werden, sind die Texturen Teil der Materialdatei des Objekts.
Eingebettete glTF-Dateien (.gltf
) funktionieren auf die gleiche Weise wie Binärdateien. Sie bieten keine zusätzlichen Funktionen in Godot und sollten nicht verwendet werden, da sie eine größere Dateigröße haben.
Es gibt zwei Gründe, glTF mit separaten Texturen zu verwenden. Zum einen kann man die Szenenbeschreibung in einem textbasierten Format und die Binärdaten in einer separaten Binärdatei haben. Dies kann für die Versionsverwaltung nützlich sein, wenn Sie Änderungen in einem textbasierten Format überprüfen wollen. Die zweite Möglichkeit ist, dass Sie die Texturdateien getrennt von der Materialdatei benötigen. Wenn Sie keines von beidem benötigen, sind glTF-Binärdateien in Ordnung.
Der glTF-Importprozess lädt zunächst die Daten der glTF-Datei in eine speicherinterne GLTFState-Klasse. Diese Daten werden dann verwendet, um eine Godot-Szene zu erzeugen. Beim Import von Dateien zur Laufzeit kann diese Szene direkt in den Baum eingefügt werden. Der Exportvorgang verläuft umgekehrt: eine Godot-Szene wird in eine GLTFState-Klasse umgewandelt, aus der dann die glTF-Datei erzeugt wird.
Beim Importieren von glTF-Dateien im Editor gibt es zwei weitere Schritte. Nach der Erzeugung der Godot-Szene wird die Klasse ResourceImporterScene verwendet, um zusätzliche Importeinstellungen anzuwenden, einschließlich der Einstellungen, die Sie über das Import-Dock und den Dialog Erweiterte Importeinstellungen festgelegt haben. Diese wird dann als Godot-Szenendatei gespeichert, die verwendet wird, wenn Sie Ihr Spiel ausführen/exportieren.
Warnung
Wenn Ihr Modell Blend-Shapes (auch bekannt als "Shape Keys" und "Morph Targets") enthält, muss die glTF-Exporteinstellung Nur Deformations-Knochen exportieren unter den Animations-Exportkonfigurationen auf Aktiviert gesetzt werden.
Das Exportieren von nicht deformierten Knochen führt ohnehin zu falschem Shading.
Bemerkung
Blender-Versionen, die älter als 3.2 sind, exportieren keine emissiven Texturen mit der glTF-Datei. Wenn dein Modell eine solche Textur verwendet und Sie eine ältere Version von Blender benutzt, muss sie separat importiert werden.
Standardmäßig hat Blender Backface Culling bei Materialien deaktiviert und exportiert Materialien so, wie sie in Blender gerendert werden. Das bedeutet, dass Materialien in Godot ihren Cull-Modus auf Deaktiviert gesetzt haben. Dies kann die Performance beeinträchtigen, da Rückseiten gerendert werden, auch wenn sie von anderen Flächen gecullt werden. Um dieses Problem zu beheben, aktivieren Sie Backface Culling in Materials-Tab von Blender und exportieren Sie die Szene dann wieder nach glTF.
Importieren von .blend
-Dateien direkt in Godot¶
Bemerkung
Diese Funktion erfordert Blender 3.0 oder höher. Für beste Ergebnisse empfehlen wir die Verwendung von Blender 3.5 oder höher, da es viele Korrekturen für den glTF-Exporter enthält.
Es wird stark empfohlen, eine offizielle Blender-Version zu verwenden, die von blender.org heruntergeladen wurde, anstatt eines Pakets einer Linux-Distribution oder Flatpak. Dies vermeidet alle Probleme im Zusammenhang mit dem Packaging, wie unterschiedliche Bibliotheksversionen, die Inkompatibilitäten oder Sandboxing-Einschränkungen verursachen können.
Ab Godot 4.0 kann der Editor .blend
-Dateien direkt importieren, indem er die glTF-Exportfunktion von Blender auf transparente Weise aufruft.
So können Sie Ihre 3D-Szenen schneller bearbeiten, denn Sie können die Szene in Blender speichern, per Alt-Tab zurück zu Godot wechseln und Ihre Änderungen sofort sehen. Wenn Sie mit einer Versionsverwaltung arbeiten, ist dies auch effizienter, da Sie nicht mehr eine Kopie der exportierten glTF-Datei an die Versionsverwaltung übergeben müssen.
Um den .blend
-Import zu verwenden, müssen Sie Blender installieren, bevor Sie den Godot-Editor öffnen (wenn Sie ein Projekt öffnen, das bereits .blend
-Dateien enthält). Wenn Sie Blender an seinem Default-Ort installiert lassen, sollte Godot in der Lage sein, seinen Pfad automatisch zu erkennen. Ist dies nicht der Fall, konfigurieren Sie den Pfad zu dem Verzeichnis, das die ausführbare Blender-Datei enthält, in den Editor-Einstellungen (Dateisystem > Import > Blender > Blender 3-Pfad).
Wenn Sie .blend
-Dateien in Ihrem Projektordner aufbewahren, aber nicht wollen, dass sie von Godot importiert werden, deaktivieren Sie Dateisystem > Import > Blender > Aktiviert in den erweiterten Projekteinstellungen.
Der .blend
-Importprozess konvertiert zuerst in glTF, benutzt also immer noch den glTF-Importcode von Godot. Daher ist der .blend
-Importprozess derselbe wie der glTF-Importprozess, nur mit einem zusätzlichen Schritt am Anfang.
Bemerkung
Wenn Sie in einem Team arbeiten, sollten Sie daran denken, dass die Verwendung von .blend
-Dateien in Ihrem Projekt voraussetzt, dass alle Teammitglieder Blender installiert haben. Obwohl Blender kostenlos heruntergeladen werden kann, kann dies die Arbeit an einem Projekt erschweren. Der .blend
-Import ist auch auf Android und Web-Editoren nicht möglich, da diese Plattformen keine externen Programme aufrufen können.
Wenn dies problematisch ist, sollten Sie stattdessen aus Blender exportierte glTF-Szenen verwenden.
Exportieren von DAE-Dateien aus Blender¶
Blender hat eine eingebaute COLLADA-Unterstützung, die aber für die Bedürfnisse von Game-Engines nicht richtig funktioniert und daher nicht verwendet werden sollte. Allerdings können Szenen, die mit der integrierten Collada-Unterstützung exportiert wurden, für einfache Szenen ohne Animation noch funktionieren.
Für komplexe Szenen oder Szenen, die Animationen enthalten, bietet Godot ein Blender-Plugin, das COLLADA-Szenen für die Verwendung in Godot korrekt exportiert.
Importieren von OBJ-Dateien in Godot¶
OBJ ist eines der einfachsten 3D-Formate, daher sollte Godot in der Lage sein, die meisten OBJ-Dateien erfolgreich zu importieren. Allerdings ist OBJ auch ein sehr begrenztes Format: Es unterstützt kein Skinning, keine Animation, keine UV2- oder PBR-Materialien.
Es gibt 2 Möglichkeiten, OBJ-Meshes in Godot zu verwenden:
Laden Sie sie direkt in einen MeshInstance3D-Node oder eine andere Property, die ein Mesh erwartet (z. B. GPUParticles3D). Dies ist der Default-Modus.
Ändern Sie den Importmodus auf OBJ als Szene im Import-Dock und starten Sie den Editor neu. Dadurch können Sie die gleichen Importoptionen wie bei glTF- oder Collada-Szenen verwenden, z.B. das Entpacken von UV2 beim Import (für Verwenden der Lightmap-Global Illumination).
Bemerkung
Blender 3.4 und höher kann RGB-Vertex-Farben in OBJ-Dateien exportieren (dies ist eine nicht standardisierte Erweiterung des OBJ-Formats). Godot ist in der Lage, diese Vertex-Farben seit Godot 4.0 zu importieren, aber sie werden nicht auf dem Material angezeigt, es sei denn, Sie aktivieren Vertex-Farbe > Als Albedo Verwenden auf dem Material.
Vertexfarben aus OBJ-Meshes behalten nach dem Import ihren ursprünglichen Farbraum (sRGB/linear), aber ihre Helligkeit wird auf 1,0 festgelegt (sie können nicht überhell sein).
Importieren von FBX-Dateien in Godot¶
Wenn Sie ein Projekt öffnen, das FBX-Szenen enthält, wird ein Dialogfeld angezeigt, das Sie auffordert, den FBX-Import zu konfigurieren. Klicken Sie auf den Link im Dialogfeld, um eine FBX2glTF-Binärdatei herunterzuladen. Extrahieren Sie dann das ZIP-Archiv, platzieren Sie die Binärdatei an einem beliebigen Ort und geben Sie dann den Pfad im Dialogfeld an.
Wenn Sie .fbx
-Dateien in Ihrem Projektordner aufbewahren, aber nicht wollen, dass sie von Godot importiert werden, deaktivieren Sie Dateisystem > Import > FBX > Aktiviert in den erweiterten Projekteinstellungen.
Der FBX-Importprozess konvertiert zuerst in glTF, verwendet also weiterhin den glTF-Importcode von Godot. Daher ist der FBX-Importprozess derselbe wie der glTF-Importprozess, nur mit einem zusätzlichen Schritt am Anfang.
Siehe auch
Der vollständige Installationsprozess für die Verwendung von FBX in Godot wird auf der Seite "FBX-Import" auf der Godot-Website beschrieben.