Work in progress
The content of this page was not yet updated for Godot
4.2
and may be outdated. If you know how to improve this page or you can confirm
that it's up to date, feel free to open a pull request.
Verwenden von SoftBody¶
Soft Bodys (oder Soft-Body-Dynamik) simulieren Bewegungen, Änderungen der Form und andere physikalische Eigenschaften verformbarer Objekte. Dies kann zum Beispiel verwendet werden, um Stoff zu simulieren oder realistischere Charaktere zu erstellen.
Grundlegende Einrichtung¶
Ein SoftBody3D-Node wird für Soft Body-Simulationen verwendet.
Wir werden einen elastischen Würfel erstellen, um die Einrichtung eines Soft Body zu demonstrieren.
Erstellen Sie eine neue Szene mit einem Node3D
-Node als Root. Erstellen Sie dann einen Soft Body
-Node. Fügen Sie ein CubeMesh
in der mesh
-Property des Nodes im Inspektor hinzu und erhöhen Sie die Unterteilung des Meshes für die Simulation.
Stellen Sie die Parameter ein, um den gewünschten Soft Body-Typ zu erhalten. Versuchen Sie, die Simulationsgenauigkeit
über 5 zu halten, da sonst der Soft Body zusammenbrechen kann.
Bemerkung
Gehen Sie vorsichtig mit einigen Parametern um, da gewisse Werte zu seltsamen Ergebnissen führen können. Wenn beispielsweise die Shape nicht vollständig geschlossen ist und Sie den Druck auf mehr als 0 einstellen, fliegt der Soft Body bei starkem Wind wie eine Plastiktüte herum.
Starten Sie die Szene, um sich die Simulation anzusehen.
Tipp
Um das Simulationsergebnis zu verbessern, erhöhen Sie die Simulationsgenauigkeit
. Dies führt zu einer signifikanten Verbesserung der Performance.
Stoffsimulation¶
Erstellen wir einen Umhang in der Platformer3D-Demo.
Bemerkung
Sie können die Platformer3D-Demo auf GitHub oder aus der Asset-Bibliothek herunterladen.
Öffnen Sie die Szene Player
, fügen Sie einen SoftBody
-Node hinzu und weisen Sie ihm ein PlaneMesh
zu.
Öffnen Sie die PlaneMesh
-Property und stellen Sie die Größe ein (x: 0.5 y: 1), dann setzen Sie Unterteilungsbreite
und Unterteilungstiefe
auf 5. Passen Sie die Position des SoftBody
an. Am Ende sollten Sie etwas wie dieses erhalten:
Tipp
Die Unterteilung erzeugt ein stärker mosaikartiges Mesh für bessere Simulationen.
Füge einen BoneAttachment3D-Node unter dem Skeleton-Node hinzu und wähle den Hals-Knochen aus, um den Umhang am Charakterskelett zu befestigen.
Bemerkung
Der Node BoneAttachment3D
dient zum Anhängen von Objekten an einen Bone einer Armatur. Das angehängte Objekt wird der Bewegung des Knochens folgen, Waffen eines Charakters können auf diese Weise angehängt werden.
Um Gelenkpunkte zu erzeugen, wählen Sie die oberen Vertices im SoftBody
-Node:
Die Gelenkpunkte sind in der Attachments
-Property von SoftBody
zu finden, wählen Sie BoneAttachment
als SpatialAttachment
für jeden Gelenkpunkt, die Gelenkpunkte sind nun mit dem Hals verbunden.
Der letzte Schritt ist das Vermeiden von Clipping, indem der Kinematic Body Player zu Parent Collision Ignore
des SoftBody
hinzugefügt wird.
Spielen Sie die Szene ab und der Umhang sollte korrekt simuliert werden.
Experimentieren Sie mit den Parametern, um den Effekt zu erzielen, den Sie bei der Entwicklung Ihres Spiels anstreben.