Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
Benutzerdefinierte Anpassungen des Node-Typs mithilfe von Namenssuffixen¶
Bei der Bearbeitung einer Szene gibt es häufig Aufgaben, die nach dem Exportieren erledigt werden müssen:
Kollisionserkennung zu Objekten hinzufügen.
Objekte als Navigations-Meshes setzen.
Nodes löschen, die nicht in der Spiele-Engine verwendet werden (z. B. bestimmte Lichter, die für die Modellierung verwendet werden).
Um diesen Workflow zu vereinfachen, bietet Godot verschiedene Suffixe, die den Namen der Objekte in Ihrer 3D-Modellierungssoftware hinzugefügt werden können. Beim Import erkennt Godot Suffixe in Objektnamen und führt automatisch Aktionen aus.
Warnung
Bei allen nachstehend beschriebenen Suffixen ist die Groß-/Kleinschreibung zu beachten**.
Nodes entfernen (-noimp)¶
Objekte, die das Suffix -noimp
haben, werden beim Import entfernt, unabhängig von ihrem Typ. Sie werden in der importierten Szene nicht erscheinen.
Dies ist gleichbedeutend mit der Aktivierung von Import überspringen für einen Knoten im Dialogfeld Erweiterte Importeinstellungen.
Kollisionen erzeugen (-col, -convcol, -colonly, -convcolonly)¶
Die Option -col
funktioniert nur für Mesh-Objekte. Wenn sie erkannt wird, wird ein statischer Child-Collision-Node hinzugefügt, der die gleiche Geometrie wie das Mesh verwendet. Dadurch wird eine Dreiecks-Mesh-Collision-Shape erzeugt, was eine langsame, aber präzise Option für die Kollisionserkennung ist. Diese Option ist normalerweise das, was Sie für Level-Geometrie wünschen (siehe aber auch -colonly
weiter unten).
Mit der Option -convcol
wird ein ConvexPolygonShape3D anstelle eines ConcavePolygonShape3D erzeugt. Im Gegensatz zu Dreiecks-Meshes, die konkav sein können, kann eine konvexe Form nur eine Form genau darstellen, die keine konkaven Winkel hat (eine Pyramide ist konvex, aber eine hohle Box ist konkav). Aus diesem Grund sind konvexe Collision-Shapes im Allgemeinen nicht für Level-Geometrien geeignet. Wenn die Meshes einfach genug sind, können konvexe Collision Shapes im Vergleich zu einer dreieckigen Collision Shape zu einer besseren Performance führen. Diese Option ist ideal für einfache oder dynamische Objekte, die eine weitgehend genaue Kollisionserkennung erfordern.
In beiden Fällen kann die visuelle Geometrie jedoch zu komplex oder nicht glatt genug für Kollisionen sein. Dies kann zu Physikstörungen führen und die Engine unnötig verlangsamen.
Um dieses Problem zu lösen, gibt es den -colonly
-Modifikator. Er entfernt das Mesh beim Importieren und erzeugt stattdessen eine StaticBody3D Kollision. Dies hilft, das visuelle Mesh und die tatsächliche Kollision zu trennen.
Die Option -convcolonly
arbeitet ähnlich, erzeugt aber stattdessen ein ConvexPolygonShape3D unter Verwendung der konvexen Zerlegung.
Bei Collada-Dateien kann die Option -colonly
auch mit leeren Objekten von Blender verwendet werden. Beim Import wird ein StaticBody3D mit einem Collision-Node als Child-Node erstellt. Der Collision-Node wird eine von mehreren vordefinierten Shapes haben, abhängig von Blenders leerem Zeichentyp:
Ein einzelner Pfeil erzeugt einen SeparationRayShape3D.
Box erstellt eine BoxShape3D.
Bild erstellt ein WorldBoundaryShape3D.
Kugel (und die anderen nicht aufgeführten) erstellt eine SphereShape3D.
Wenn möglich, versuchen Sie, einige wenige primitive Collision-Shapes anstelle von Dreiecks-Mesh oder konvexen Shapes zu verwenden. Primitive Shapes haben oft die beste Performance und Zuverlässigkeit.
Bemerkung
Für eine bessere Sichtbarkeit im Blender-Editor können Sie die "Röntgen"-Option für leere Collision-Objekte aktivieren und eine bestimmte Farbe für sie festlegen, indem Sie Bearbeiten > Einstellungen > Themes > 3D-Viewport > leere Objekte ändern.
Wenn Sie Blender 2.79 oder älter verwenden, folgen Sie stattdessen diesen Schritten: Benutzervorgaben > Themes > 3D-Ansicht > leere Objekte.
Siehe auch
Siehe Kollisions-Shapes (3D) für einen umfassenden Überblick über Collision-Shapes.
Occluder erstellen (-occ, -occonly)¶
Wenn ein Mesh mit dem Suffix -occ
importiert wird, wird ein Occluder3D-Node basierend auf der Geometrie des Meshs erstellt, er ersetzt das Mesh nicht. Ein Mesh-Node mit dem Suffix -occonly
wird beim Import in einen Occluder3D konvertiert.
Ein VehicleBody erstellen (-vehicle)¶
Ein Mesh-Node mit dem Suffix -vehicle
wird als Child-Node eines VehicleBody3D-Nodes importiert.
Ein VehicleWheel erstellen (-wheel)¶
Ein Mesh-Node mit dem Suffix -wheel
wird als Child-Node eines VehicleWheel3D-Nodes importiert.
Rigid Body (-rigid)¶
Ein Node mit dem Suffix -rigid
wird als RigidBody3D importiert.
Animations-Loop (-loop, -cycle)¶
Animationsclips in der 3D-Quelldatei, die mit dem Token loop
oder cycle
beginnen oder enden, werden als Godot-Animation mit gesetztem Loop-Flag importiert. Im Gegensatz zu den anderen oben beschriebenen Suffixen ist hier kein Bindestrich erforderlich.
In Blender erfordert dies die Verwendung des NLA-Editors und die Benennung der Aktion mit dem Präfix oder Suffix loop
oder cycle
.