Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Partikelsysteme (3D)

Dieser Abschnitt des Tutorials behandelt (3D) GPU-beschleunigte Partikelsysteme. Das meiste, was hier besprochen wird, gilt auch für CPU-Partikel.

Einführung

Sie können Partikelsysteme verwenden, um komplexe physikalische Effekte wie Feuer, Funken, Rauch, magische Effekte und vieles mehr zu simulieren. Sie sind sehr gut geeignet, um dynamisches und organisches Verhalten zu erzeugen und Ihren Szenen "Leben" zu verleihen.

Die Idee ist, dass ein Teilchen in einem festen Intervall und mit einer festen Lebensdauer emittiert wird. Während seiner Lebensdauer hat jedes Partikel das gleiche Grundverhalten. Was jedes Partikel von den anderen unterscheidet und das organischen Aussehen erzeugt, ist die Zufälligkeit, die Sie den meisten Parametern und Verhaltensweisen hinzufügen können.

Jedes Partikelsystem, das Sie in Godot erstellen, besteht aus zwei Hauptteilen: Partikel und Emitter.

Partikel

Ein Partikel ist der sichtbare Teil eines Partikelsystems. Es ist das, was Sie auf dem Bildschirm sehen, wenn ein Partikelsystem aktiv ist: Die winzigen Staubkörnchen, die Flammen eines Feuers, die leuchtenden Kugeln eines magischen Effekts. Ein einziges System kann zwischen ein paar hundert und zehntausend Partikel enthalten. Sie können die Größe, Geschwindigkeit und Bewegungsrichtung eines Partikels nach dem Zufallsprinzip bestimmen und seine Farbe im Laufe seines Lebens ändern. Wenn Sie an ein Feuer denken, können Sie sich all die kleinen Funken, die davon wegfliegen, als einzelne Partikel vorstellen.

Emitter

Ein Emitter ist das, was die Partikel erzeugt. Emitter sind normalerweise nicht sichtbar, aber sie können eine Form haben. Diese Form steuert, wo und wie die Partikel erzeugt werden, z. B. ob sie einen Raum wie Staub füllen oder von einem einzelnen Punkt wie eine Fontäne wegschießen sollen. Um auf das Beispiel mit dem Feuer zurückzukommen: Ein Emitter wäre die Hitze im Zentrum des Feuers, die Glut und Flammen erzeugt.

Node-Übersicht

Eine Liste von Nodes, die sich auf 3D-Partikel beziehen

Alle 3D-Partikel-Nodes, die in Godot verfügbar sind

Es gibt zwei Arten von 3D-Partikel-Systemen in Godot: GPUParticles3D, die auf der GPU verarbeitet werden, und CPUParticles3D, die auf der CPU verarbeitet werden.

CPU-Partikel-Systeme sind weniger flexibel als ihr GPU-Gegenstück, aber sie funktionieren auf einer breiteren Palette von Hardware und bieten bessere Unterstützung für ältere Geräte und Mobiltelefone. Da sie auf der CPU verarbeitet werden, sind sie nicht so leistungsfähig wie GPU-Partikel-Systeme und können nicht so viele einzelne Partikel rendern. Außerdem verfügen sie derzeit nicht über alle Optionen, die GPU-Partikel zur Steuerung bieten.

GPU-Partikel-Systeme laufen auf der GPU und können auf moderner Hardware Hunderttausende von Partikeln rendern. Sie können eigene Partikel-Shader für sie schreiben, was sie sehr flexibel macht. Sie können sie auch mit der Umgebung interagieren lassen, indem Sie Attraktor- und Kollisions-Nodes verwenden.

Es gibt drei Partikel-Attraktor-Nodes: GPUParticlesAttractorBox3D, GPUParticlesAttractorSphere3D, und GPUParticlesAttractorVectorField3D. Ein Attraktor-Node übt eine Kraft auf alle Partikel in seiner Reichweite aus und zieht sie näher heran oder stößt sie weg, je nach Richtung dieser Kraft.

Es gibt mehrere Nodes für Partikelkollisionen: GPUParticlesCollisionBox3D und GPUParticlesCollisionSphere3D sind die einfachsten. Sie können sie verwenden, um grundlegende Formen wie Boxen, einen Boden oder eine Wand zu erstellen, mit denen Partikel kollidieren. Die anderen beiden Nodes bieten ein komplexeres Kollisionsverhalten. Der GPUParticlesCollisionSDF3D ist nützlich, wenn Sie wollen, dass Innenszenen mit Partikeln kollidieren, ohne alle einzelnen Box- und Kugelkollider von Hand erstellen zu müssen. Wenn Sie wollen, dass Partikel mit großen Außenszenen kollidieren, würden Sie den GPUParticlesCollisionHeightField3D Node verwenden. Er erstellt eine Höhenkarte Ihrer Welt und der darin befindlichen Objekte und verwendet diese für großflächige Partikelkollisionen.

Grundlegende Verwendung

Fortgeschrittene Themen