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...
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, supported via the ufbx library. The previous import workflow used FBX2glTF integration. This requires installing an external program that links against the proprietary FBX SDK, so we recommend using the default ufbx method or other formats listed above (if suitable for your workflow).
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 separaten Binärdaten und Texturen (
.gltf-Datei +.bin-Datei + Texturen).
glTF binary files (.glb) are the smaller option. They include the mesh and
textures set up in Blender. When brought into Godot the textures are part of the
object's material file.
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
If your model contains blend shapes (also known as "shape keys" and "morph targets"), your glTF export setting Data > Armature > Export Deformation Bones Only needs to be configured to Enabled.
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.
The editor can directly import .blend files by calling Blender's
glTF export functionality in a transparent manner.
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.
To use .blend import, you must install Blender before opening the Godot
editor (if opening a project that already contains .blend files). If you
keep Blender installed at its default location, Godot should be able to detect
its path automatically. If this isn't the case, configure the path to the
Blender executable in the Editor Settings
(Filesystem > Import > Blender > Blender Path).
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.
For complex scenes or scenes that contain animations it is highly recommend to use glTF instead.
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 and later can export RGB vertex colors in OBJ files (this is a nonstandard extension of the OBJ format). Godot is able to import those vertex colors, but they will not be displayed on the material unless you enable Vertex Color > Use As Albedo on the 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
Standardmäßig verwendet jede FBX-Datei, die einem Godot-Projekt in Godot 4.3 oder höher hinzugefügt wird, die ufbx-Importmethode. Jede Datei, die einem Projekt in einer früheren Version, z. B. 4.2, hinzugefügt wurde, wird weiterhin über die FBX2glTF-Methode importiert, es sei denn, Sie gehen in die Importeinstellungen dieser Dateien und ändern den Importer in „ufbx“.
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.
Wenn Sie den fbx2gltf-Workflow einrichten möchten, was im Allgemeinen nicht empfohlen wird, es sei denn, Sie haben einen bestimmten Grund, ihn zu verwenden, müssen Sie die ausführbare Datei fbx2gltf herunterladen und dann den Pfad zu dieser ausführbaren Datei in den Editoreinstellungen unter Dateisystem > Importieren > FBX > FBX2glTFPath angeben.
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.