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...
3D-Partikel-Attraktoren

Partikel-Attraktoren sind Nodes, die eine Kraft auf alle Partikel in ihrer Reichweite ausüben. Je nach Richtung dieser Kraft ziehen sie die Partikel an oder stoßen sie weg. Es gibt drei Arten von Attraktoren: GPUParticlesAttractorBox3D, GPUParticlesAttractorSphere3D, und GPUParticlesAttractorVectorField3D. Sie können sie zur Laufzeit instanziieren und ihre Propertys vom Gameplay-Code aus ändern; Sie können sie sogar animieren und für komplexe Attraktionseffekte kombinieren.
Bemerkung
Partikel-Attraktoren sind für 2D Partikelsysteme noch nicht implementiert.
Das erste was Sie tun müssen, wenn Sie Attraktoren verwenden wollen, ist das Aktivieren der Property Attraktor-Interaktion
im ParticleProcessMaterial. Tun Sie dies für jedes Partikelsystem, das auf Attraktoren reagieren muss. Wie die meisten Properties in Godot, können Sie auch diese zur Laufzeit ändern.
Allgemeine Propertys

Allgemeine Attraktor-Propertys
Es gibt einige Propertys, die Sie bei allen Attraktoren finden können. Sie befinden sich im Abschnitt GPUParticlesAttractor3D
im Inspektor.
Stärke
steuert, wie stark die Kraft des Attaktor ist. Ein positiver Wert zieht die Partikel näher zum Zentrum des Attraktors, während ein negativer Wert sie wegschiebt.
Abschwächung
steuert den Stärkeabfall innerhalb des Einflussbereichs des Attraktors. Jeder Partikel-Attraktor hat eine Grenze. Seine Stärke ist am Rande dieser Grenze am schwächsten und in der Mitte am stärksten. Partikel, die sich außerhalb der Grenze befinden, werden vom Attraktor überhaupt nicht beeinflusst. Die Abschwächungskurve gibt an, wie stark die Stärke über diese Entfernung abnimmt. Eine gerade Linie bedeutet, dass die Stärke proportional zur Entfernung ist: Wenn sich ein Partikel auf halbem Weg zwischen der Grenze und dem Zentrum befindet, ist die Stärke des Attraktors nur halb so groß wie im Zentrum. Unterschiedliche Kurvenformen verändern die Geschwindigkeit, mit der sich die Partikel auf den Attraktor zubewegen.

Variationen der Stärkezunahme: Konstant über die Entfernung zum Attraktor (links), schnell an der Grenze und langsam in der Mitte (Mitte), langsam an der Grenze und schnell in der Mitte (rechts).
Die Property Direktionalität
ändert die Richtung, in die Partikel gezogen werden. Bei einem Wert von 0.0
gibt es keine Direktionalität, was bedeutet, dass die Partikel in Richtung des Zentrums des Attraktors gezogen werden. Bei einem Wert von 1.0
ist der Attraktor vollständig direktional, was bedeutet, dass die Partikel entlang der lokalen -Z
-Achse des Attraktors gezogen werden. Sie können die globale Richtung ändern, indem Sie den Attraktor drehen. Wenn Stärke
negativ ist, werden die Partikel stattdessen entlang der +Z
-Achse gezogen.

Keine Direktionalität (links) vs. volle Direktionalität (rechts). Beachten Sie, wie sich die Partikel entlang der lokalen Z-Achse des Attraktors bewegen.
Die Property Cull-Maske
steuert, welche Partikel Systeme von einem Attraktor betroffen sind, basierend auf den Sichtbarkeitsebenen der einzelnen Systeme. Ein Partikelsystem wird nur dann von einem Attraktor beeinflusst, wenn mindestens eine der Sichtbarkeitsebenen des Systems in der Cull-Maske des Attraktors aktiviert ist.
Warnung
Es gibt ein bekanntes Problem mit GPU Partikel-Attraktoren, die verhindern, dass die Cull-Maske in Godot 4.0 richtig funktioniert. Wir werden die Dokumentation aktualisieren, sobald das Problem behoben ist.
Box-Attraktoren

Box-Attraktor in der Node-Liste
Box-Attraktoren haben einen kastenförmigen Einflussbereich. Sie können ihre Größe mit der Property Ausmaße
steuern. Die Ausdehnung einer Box misst immer die Hälfte der Seiten seiner Begrenzungen. Ein Wert von (X=1.0,Y=1.0,Z=1.0)
erzeugt also einee Box mit einem Einflussbereich, der an jeder Seite 2 Meter breit ist.
Um einen Box-Attraktor zu erstellen, fügen Sie einen neuen Child-Node zu Ihrer Szene hinzu und wählen GPUParticlesAttractorBox3D
aus der Liste der verfügbaren Nodes. Sie können die Position der Box animieren oder ihn an einen beweglichen Node anhängen, um dynamischere Effekte zu erzielen.

Ein Box-Attraktor mit einem negativen Stärkewert teilt ein Partikelfeld, während es sich durch ihn bewegt.
Kugel-Attraktoren

Kugel-Attraktor in der Node-Liste
Kugel-Attraktoren haben einen kugelförmigen Einflussbereich. Sie können ihre Größe mit der Property Radius
kontrollieren. Während Box-Attraktoren keine perfekten Würfel sein müssen, sind Kugel-Attraktoren immer kugelförmig: Sie können die Breite nicht unabhängig von der Höhe einstellen. Wenn Sie einen Kugel-Attraktor für längliche Formen verwenden wollen, müssen Sie seine Skalierung
in der Node3D
-Sektion des Attraktors ändern.
Um einen Kugel-Attraktor zu erstellen, fügen Sie einen neuen Child-Node zu Ihrer Szene hinzu und wählen Sie GPUParticlesAttractorSphere3D
aus der Liste der verfügbaren Nodes. Sie können die Position der Kugel animieren oder sie an einen beweglichen Node anhängen, um dynamischere Effekte zu erzielen.

Ein Kugel-Attraktor mit einem negativen Stärkewert teilt ein Partikelfeld, während es sich durch ihn hindurch bewegt.
Vektorfeld-Attraktoren

Vektorfeld-Attraktor in der Node-Liste
Ein Vektorfeld ist ein 3D-Bereich, der Vektoren enthält, die in einem Raster angeordnet sind. Die Rasterdichte steuert, wie viele Vektoren es gibt und wie weit sie auseinander liegen. Jeder Vektor in einem Vektorfeld zeigt in eine bestimmte Richtung. Diese kann völlig willkürlich sein oder so ausgerichtet werden, dass sie ausgeprägte Muster und Pfade bildet.
Wenn Partikel mit einem Vektorfeld interagieren, ändert sich ihre Bewegungsrichtung, um dem nächstgelegenen Vektor im Feld zu entsprechen. Wenn sich ein Partikel dem nächsten Vektor im Feld nähert, ändert es seine Richtung, um sich der Richtung dieses Vektors anzupassen. Die Geschwindigkeit des Partikels hängt von der Länge des Vektors ab.
Wie Box-Attraktoren haben auch Vektorfeld-Attraktoren einen kastenförmigen Einflussbereich. Sie können ihre Größe mit der Eigenschaft Ausmaße
kontrollieren, wobei ein Wert von (X=1.0,Y=1.0,Z=1.0)
eine Box mit einer Einflußregion erzeugt, die auf jeder Seite 2 Meter breit ist. Die Property Textur
nimmt eine 3D-Textur an, bei der jedes Pixel einen Vektor darstellt, wobei die Farbe des Pixels als Richtung und Größe des Vektors interpretiert wird.
Bemerkung
Wenn eine Textur als Vektorfeld verwendet wird, gibt es zwei Arten der Konvertierung, die Sie beachten müssen:
Die Koordinaten der Textur entsprechen den Grenzen des Attraktors. Das Bild unten zeigt, welcher Teil der Textur welchem Teil des Vektorfeldvolumens entspricht. Zum Beispiel wirkt sich die untere Hälfte der Textur auf die obere Hälfte des Vektorfeld-Attraktors aus, weil
+Y
im UV-Raum der Textur nach unten, im Word Space von Godot aber nach oben zeigt.Die Farbwerte der Pixel werden auf Richtungsvektoren im Raum abgebildet. Die folgende Abbildung gibt einen Überblick. Da sich Partikel in zwei Richtungen entlang jeder Achse bewegen können, steht die untere Hälfte des Farbbereichs für negative Richtungswerte, während die obere Hälfte für positive Richtungswerte steht. Ein gelbes Pixel
(R=1,G=1,B=0)
wird also dem Vektor(X=1,Y=1,Z=-1)
zugeordnet, während ein neutrales Grau(R=0,5,G=0,5,B=0,5)
überhaupt keine Bewegung bewirkt.

Um einen Vektorfeld-Attraktor zu erstellen, fügen Sie einen neuen Node zu Ihrer Szene hinzu und wählen GPUParticlesAttractorVectorField3D
aus der Liste der verfügbaren Nodes. Sie können die Position des Attraktors animieren oder ihn an einen beweglichen Node anhängen, um dynamischere Effekte zu erzielen.
Tipp
Wenn Sie nicht über externe Tools zur Erstellung von Vektorfeldtexturen verfügen, können Sie eine NoiseTexture3D mit einem angehängten Farbgradienten als Vektorfeldtextur verwenden. Der Farbgradient kann geändert werden, um einzustellen, wie stark jede Koordinate durch das Vektorfeld beeinflusst wird.

Zwei Partikel-Systeme sind von demselben Vektorfeld-Attraktor betroffen. :download: Klicken Sie hier, um die 3D-Textur <img/particle_vector_field_16x16x16.bmp> herunterzuladen.