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...
Prozessmaterial-Propertys

Min-, Max- und Kurven-Propertys
Die Propertys in diesem Material steuern das Verhalten und die Veränderung der Partikel während ihrer Lebensdauer. Viele von ihnen haben Min
-, Max
- und Kurve
-Werte, mit denen Sie ihr Verhalten fein abstimmen können. Die Beziehung zwischen diesen Werten ist die folgende: Wenn ein Partikel gespawnt wird, wird die Property auf einen zufälligen Wert zwischen Min
und Max
gesetzt. Wenn Min
und Max
gleich sind, wird der Wert für jedes Partikel immer gleich sein. Wenn Kurve
ebenfalls gesetzt ist, wird der Wert der Property mit dem Wert der Kurve zum aktuellen Zeitpunkt in der Lebenszeit eines Partikels multipliziert. Verwenden Sie die Kurve, um eine Property über die Lebensdauer des Partikels zu verändern. Sehr komplexes Verhalten kann auf diese Weise ausgedrückt werden.
Bemerkung
This page covers how to use ParticleProcessMaterial for 3D scenes specifically. For information on how to use it in a 2D Scene see ParticleProcessMaterial 2D Usage.
Zeit
Die Property Lebensdauer-Zufälligkeit
steuert, wie viel Zufall auf die Lebensdauer der Partikel angewendet werden soll. Ein Wert von 0
bedeutet, dass es überhaupt keine Zufälligkeit gibt und alle Partikel gleich lange leben, festgelegt durch die Lebensdauer-Property. Ein Wert von 1
bedeutet, dass die Lebensdauer eines Partikels innerhalb des Bereichs [0.0, Lebensdauer
] völlig zufällig ist.
Partikel-Flags
Die Property Y Ausrichten
richtet die Y-Achse eines jeden Partikels an seiner Bewegungsrichtung aus. Das Aktivieren dieser Property ist dasselbe wie das Setzen der Property Transformationsausrichtung auf Y nach Bewegungsrichtung
.
Die Property Y Rotieren
arbeitet mit den Propertys in den Gruppen Winkle und Winkelgeschwindigkeit zusammen, um die Partikelrotation zu kontrollieren. Die Property Y Rotieren
muss aktiviert sein, wenn man eine Rotation auf Partikel anwenden will. Die Ausnahme hiervon ist jedes Partikel, das ein Standard Material verwendet, bei dem die Property Billboard
auf Partikel-Billboard
gesetzt ist. In diesem Fall rotieren die Partikel, auch wenn Y Rotieren
nicht aktiviert ist.
Wenn das Property Z Deaktivieren
aktiviert ist, werden sich die Partikel nicht entlang der Z-Achse bewegen. Ob das die lokale Z-Achse des Partikelsystems oder die Welt-Z-Achse ist, wird durch die Property Lokale Koordinaten bestimmt.
Die Property Dämpfung als Reibung
ändert das Verhalten der Dämpfung von einer konstanten Verlangsamung zu einer geschwindigkeitsabhängigen Verlangsamung.
Spawnen
Emissions-Shape
Partikel können von einem einzelnen Punkt im Raum emittieren oder so, dass sie eine Form ausfüllen. Die Property Form
kontrolliert diese Form. Die Property Point
ist der Defaultwert. Alle Partikel emittieren von einem einzigen Punkt in der Mitte des Partikelsystems. Wenn die Property Kugel
oder Box
eingestellt ist, werden die Partikel so emittiert, dass sie eine Kugel- oder Box-Form gleichmäßig ausfüllen. Sie haben die volle Kontrolle über die Größe dieser Formen. Kugeloberfläche
funktioniert wie Kugel
, aber anstatt sie auszufüllen, spawnen alle Partikel auf der Oberfläche der Kugel.

Partikel, die von einem Punkt (links), in einer Kugel (Mitte) und in einer Box (rechts) emittieren

Ein ringförmiges Partikelsystem
Die Emissionsform Ring
bewirkt, dass die Partikel in der Form eines Rings emittieren. Sie können die Richtung des Rings kontrollieren, indem Sie die Property Ringachse
ändern. Die Eigenschaft Ringhöhe
kontrolliert die Dicke des Rings entlang seiner Achse. Ringradius
und Innerer Ringradius
steuern, wie breit der Ring ist und wie groß das Loch in der Mitte sein soll. Das Bild zeigt ein Partikelsystem mit einem Radius von 2
und einem inneren Radius von 1.5
, die Achse zeigt entlang der globalen Z-Achse.
Zusätzlich zu diesen relativ einfachen Formen können Sie die Option Punkte
oder Gerichtete Punkte
wählen, um hochkomplexe Emissionsformen zu erstellen. Im Abschnitt Komplexe Emissionformen finden Sie eine detaillierte Erklärung, wie Sie diese einrichten können.
Winkel
Die Property``Winkel`` steuert die Anfangsrotation eines Partikels wie oben beschrieben. Um einen tatsächlichen Effekt auf den Partikel zu haben, muss man eine von zwei Propertys aktivieren: Rotate Y rotiert den Partikel um die Y-Achse des Partikelsystems. Die Property Billboard
im Standard Material, wenn sie auf Particle Billboard
gesetzt ist, rotiert das Partikel um die Achse, die vom Partikel zur Kamera zeigt.
Richtung
Bemerkung
Die Property Richtung
allein reicht nicht aus, um eine Partikelbewegung zu sehen. Die hier eingestellten Werte werden erst wirksam, wenn auch die Propertys Geschwindigkeit oder Beschleunigung eingestellt sind.
Die Property Richtung
ist ein Vektor, der die Bewegungsrichtung eines jeden Partikels zum Zeitpunkt des Spawnens bestimmt. Ein Wert von (X=1,Y=0,Z=0)
würde dazu führen, dass sich alle Partikel seitwärts entlang der X-Achse bewegen. Für etwas wie einen Springbrunnen, bei dem die Partikel in die Luft schießen, wäre ein Wert von (X=0,Y=1,Z=0)
ein guter Ausgangspunkt.

Verschiedene Richtungswerte: Nur Y-Achse (links), gleiche Werte für X und Y (Mitte), X und Y mit aktivierter Schwerkraft (rechts)
Nachdem Sie eine Richtung festgelegt haben, werden Sie feststellen, dass sich alle Partikel in einer geraden Linie in dieselbe Richtung bewegen. Die Property Streuung
fügt der Richtung jedes Partikels eine gewisse Variation und Zufälligkeit hinzu. Je höher der Wert, desto stärker ist die Abweichung von der ursprünglichen Bahn. Ein Wert von 0
bedeutet, dass es überhaupt keine Streuung gibt, während ein Wert von 180
die Partikel in alle Richtungen schießen lässt. Man könnte dies z.B. für Trümmerteile bei einem Explosionseffekt verwenden.

Keine Streuung (links), 45-Grad-Winkel (Mitte), volle 180 Grad (rechts)
Das Property Flachheit
begrenzt die Streuung entlang der Y-Achse. Ein Wert von 0
bedeutet, daß es keine Begrenzung gibt, und ein Wert von 1
eliminiert jede Bewegung der Partikel entlang der Y-Achse. Die Partikel breiten sich dann völlig "flach" aus.
Sie werden erst dann eine tatsächliche Bewegung sehen, wenn Sie auch einige Werte für die unten stehenden Propertys "Geschwindigkeit" und "Beschleunigung" festgelegt haben, also sehen wir uns diese als nächstes an.
Anfangsgeschwindigkeit
Während die Property Richtung
die Bewegungsrichtung eines Partikels steuert, kontrolliert die Property Anfangsgeschwindigkeit
die Geschwindigkeit, mit der es sich bewegt. Sie ist unterteilt in Geschwindigkeit Min
und Geschwindigkeit Max
, die beide standardmäßig auf 0
gesetzt sind, weshalb man anfangs keine Bewegung sieht. Sobald Sie die Werte für eine dieser beiden Eigenschaften wie oben beschrieben einstellen, beginnen sich die Partikel zu bewegen. Die Richtung wird mit diesen Werten multipliziert, so dass Sie die Partikel in die entgegengesetzte Richtung bewegen können, indem Sie eine negative Geschwindigkeit einstellen.
Beschleunigungen
Schwerkraft
Die nächsten Property-Gruppen arbeiten eng zusammen, um die Bewegung und Rotation der Partikel zu steuern. Schwerkraft
zieht die Partikel in die Richtung, in die sie zeigt, d.h. standardmäßig gerade nach unten mit der Stärke der Erdanziehung. Die Schwerkraft beeinflusst alle Partikelbewegungen. Wenn Ihr Spiel Physik verwendet und die Schwerkraft der Welt sich zur Laufzeit ändern kann, können Sie diese Property verwenden, um die Schwerkraft des Spiels mit der Schwerkraft der Partikel synchron zu halten. Ein Schwerkraft
-Wert von (X=0,Y=0,Z=0)
bedeutet, dass sich kein Partikel jemals bewegen wird, wenn keine der anderen Bewegungs-Propertys gesetzt ist.

Links: (X=0,Y=-9.8,Z=0), Mitte: (X=0,Y=9.8,Z=0), Rechts: (X=4,Y=2,Z=0).
Winkelgeschwindigkeit
Winkelgeschwindigkeit
steuert die Rotationsgeschwindigkeit eines Partikels wie oben beschrieben. Sie können die Richtung umkehren, indem Sie negative Zahlen für Geschwindigkeit Min
oder Geschwindigkeit Max
verwenden. Wie die Property Winkel ist die Rotation nur sichtbar, wenn das Flag Y Rotieren gesetzt ist oder der Modus Partikel-Billboard
im Standard-Material ausgewählt ist.
Bemerkung
Die Property Dämpfung hat keine Auswirkung auf die Winkelgeschwindigkeit.
Lineare Beschleunigung
Die Geschwindigkeit eines Partikels ist ein konstanter Wert: Wenn er einmal eingestellt ist, ändert er sich nicht mehr und der Partikel bewegt sich immer mit der gleichen Geschwindigkeit. Sie können die Property Lineare Beschleunigung
verwenden, um die Geschwindigkeit der Bewegung während der Lebensdauer eines Partikels zu verändern, wie oben beschrieben. Positive Werte beschleunigen das Partikel und lassen es sich schneller bewegen. Negative Werte verlangsamen es, bis es anhält und sich in die andere Richtung bewegt.

Negative (oben) und positive (unten) lineare Beschleunigung
Es ist wichtig, sich vor Augen zu halten, dass wir bei einer Änderung der Beschleunigung nicht direkt die Geschwindigkeit ändern, sondern die Änderung der Geschwindigkeit. Ein Wert von 0
auf der Beschleunigungskurve stoppt nicht die Bewegung des Partikels, sondern die Änderung der Bewegung des Partikels. Unabhängig von der Geschwindigkeit, die es in diesem Moment hatte, wird es sich mit dieser Geschwindigkeit weiterbewegen, bis die Beschleunigung erneut geändert wird.
Radiale Beschleunigung
Die Property Radiale Beschleunigung
fügt allen Partikeln eine der Schwerkraft ähnliche Kraft hinzu, wobei der Ursprung dieser Kraft am aktuellen Standort des Partikelsystems liegt. Negative Werte bewirken, dass sich die Partikel in Richtung des Zentrums bewegen, wie die Schwerkraft eines Planeten auf Objekte in seiner Umlaufbahn. Positive Werte bewirken, dass sich die Partikel vom Zentrum weg bewegen.

Negative (links) und positive (rechts) radiale Beschleunigung
Tangentiale Beschleunigung

Tangenten an einen Kreis
Diese Property addiert die Partikelbeschleunigung in Richtung der Tangente an einen Kreis auf der XZ-Ebene des Partikelsystems mit dem Ursprung im Zentrum des Systems und einem Radius, der dem Abstand zwischen dem aktuellen Standort jedes Partikels und dem auf diese Ebene projizierten Zentrum des Systems entspricht.
Packen wir das mal aus.
Eine Tangente an einen Kreis ist eine gerade Linie, die den Kreis im rechten Winkel zum Radius des Kreises am Berührungspunkt "berührt". Ein Kreis auf der XZ-Ebene des Partikelsystems ist der Kreis, den Sie sehen, wenn Sie von oben direkt auf das Partikelsystem schauen.

Tangentiale Beschleunigung von oben
Tangentiale Beschleunigung
ist immer auf diese Ebene beschränkt und bewegt die Partikel nie entlang der Y-Achse des Systems. Die Position eines Partikels reicht aus, um einen solchen Kreis zu definieren, bei dem der Abstand zum Zentrum des Systems der Radius ist, wenn wir die Y-Komponente des Vektors ignorieren.
Die Property Tangentiale Beschleunigung
führt dazu, dass die Partikel das Zentrum des Partikelsystems umkreisen, aber der Radius nimmt ständig zu. Von oben betrachtet, bewegen sich die Partikel spiralförmig vom Zentrum weg. Negative Werte kehren die Richtung um.
Dämpfung
Die Property Dämpfung
stoppt schrittweise alle Bewegungen. Mit jedem Bild wird die Bewegung eines Partikels ein wenig verlangsamt, es sei denn, die Gesamtbeschleunigung ist größer als der Dämpfungseffekt. Wenn dies nicht der Fall ist, wird der Partikel immer weiter verlangsamt, bis er sich überhaupt nicht mehr bewegt. Je größer der Wert ist, desto weniger Zeit wird benötigt, um die Partikel zum Stillstand zu bringen.
Attraktor-Interaktion
Wenn Sie möchten, dass das Partikelsystem mit Partikelattraktoren interagiert, müssen Sie die Property Aktiviert
aktivieren. Wenn sie deaktiviert ist, ignoriert das Partikelsystem alle Partikel-Attraktoren.
Anzeige
Skalierung
Skalierung
steuert die Größe eines Partikels wie oben beschrieben. Sie können verschiedene Werte für Skalierung Min
und Skalierung Max
setzen, um die Größe der Partikel zu randomisieren. Negative Werte sind nicht erlaubt, daher können Sie Partikel mit dieser Property nicht spiegeln. Wenn Sie Partikel als Billboards emittieren, muss das Property Größe beibehalten
auf dem Standard Material in Ihren Zeichendurchläufen aktiviert sein, damit die Skalierung einen Effekt hat.
Farbe
Die Property Farbe
kontrolliert die anfängliche Farbe eines Partikels. Sie hat nur einen Effekt, wenn die Property Als Albedo verwenden
in der Gruppe Vertexfarbe
des Standard-Materials aktiviert ist. Diese Property wird mit der Farbe multipliziert, die von der Property Farbe
oder Textur
des Partikelmaterials stammt.

Einrichten eines Farbgradients
Es gibt zwei Gradient
-Propertys in der Farbe
-Gruppe. Diese erlauben es, eine Reihe von Farben zu definieren, die verwendet werden, um die Farbe des Partikels zu bestimmen. Die Property Farbgradient
ändert die Farbe eines Partikels im Laufe seines Lebens. Sie bewegt sich durch den gesamten von Ihnen definierten Farbbereich. Das Property Anfänglicher Farbgradient
wählt die Anfangsfarbe des Partikels aus einer zufälligen Position auf dem Farbgradienten.
Um einen Farbgradienten einzurichten, klicken Sie auf das Kästchen neben dem Namen der Property und wählen Sie aus dem Dropdown-Menü Neu: GradientTexture1D
. Klicken Sie erneut auf das Kästchen, um die Details der Textur zu öffnen. Suchen Sie die Property Gradient
, klicken Sie in das Kästchen daneben und wählen Sie Neu: Gradient
. Klicken Sie erneut auf das Kästchen und Sie werden einen Farbbereich sehen. Klicken Sie irgendwo auf diesen Bereich, um eine neue Markierung einzufügen. Sie können die Markierung mit der Maus verschieben und sie mit der rechten Maustaste löschen. Wenn eine Markierung ausgewählt ist, können Sie mit der Farbpipette neben dem Bereich die Farbe ändern.
Farbtonvariation
Wie die Property Farbe
steuert Farbtonvariation
die Farbe eines Partikels, aber auf eine andere Weise. Sie tut dies nicht, indem sie Farbwerte direkt setzt, sondern indem sie den Farbton der Farbe verschiebt.
Der Farbton beschreibt das Pigment einer Farbe: rot, orange, gelb, grün und so weiter. Er sagt nichts darüber aus, wie hell oder wie gesättigt die Farbe ist. Die Property Farbtonvariation
steuert den Bereich der verfügbaren Farbtöne wie oben beschrieben.
Sie arbeitet zusätzlich zur aktuellen Farbe des Partikels. Die Werte, die Sie für Variation Min
und Variation Max
festlegen, bestimmen, wie weit der Farbton in beide Richtungen verschoben werden darf. Ein höherer Wert führt zu einer größeren Farbvariation, während ein niedriger Wert die verfügbaren Farben auf die nächstgelegenen Nachbarn der ursprünglichen Farbe begrenzt.

Verschiedene Werte für die Farbtonvariation, beide Male mit Blau als Grundfarbe: 0,6 (links) und 0,1 (rechts)
Animation
Die Animation
Propertygruppe kontrolliert das Verhalten von Sprite Sheet-Animationen im Standard Material des Partikels. Die Min
-, Max
- und Kurve
-Werte funktionieren wie oben beschrieben.
Ein animiertes Sprite Sheet ist eine Textur, die mehrere kleinere Bilder enthält, die in einem Raster angeordnet sind. Die Bilder werden so schnell nacheinander angezeigt, dass sie sich zu einer kurzen Animation zusammenfügen, wie bei einem Daumenkino. Sie können sie für animierte Partikel wie Rauch oder Feuer verwenden. Dies sind die Schritte zur Erstellung eines animierten Partikelsystems:

Ein 8x8 animiertes Rauch-Sprite Sheet
Importieren Sie eine Sprite-Sheet-Textur in die Engine. Wenn Sie keine zur Hand haben, können Sie die
Hochauflösende Version des Beispielbildes
herunterladen.Richten Sie ein Partikelsystem mit mindestens einem Zeichendurchlauf ein und weisen Sie dem Mesh in diesem Zeichendurchlauf ein
Standardmaterial
zu.Weisen Sie das Sprite Sheet der Property
Textur
in der GruppeAlbedo
zuSetzen Sie die Property
Billboard
des Materials aufPartikel-Billboard
. Dadurch wird die GruppePartikel Anim
in dem Material verfügbar.Setzen Sie
H-Frames
auf die Anzahl der Spalten undV-Frames
auf die Anzahl der Zeilen im Sprite Sheet.Aktivieren Sie
Loop
, wenn Sie möchten, dass die Animation immer wieder wiederholt wird.
Das war's mit dem Standardmaterial. Sie werden nicht sofort eine Animation sehen. Hier kommen die Animation
-Propertys ins Spiel. Die Geschwindigkeit
-Propertys kontrollieren, wie schnell das Sprite Sheet animiert wird. Setzen Sie Geschwindigkeit Min
und Geschwindigkeit Max
auf 1
und Sie sollten die Animation ablaufen sehen. Die Property Versatz
steuert, wo die Animation eines neu gespawnten Partikels beginnt. Standardmäßig ist es immer das erste Bild in der Sequenz. Sie können etwas Abwechslung in die Animation bringen, indem Sie Versatz Min
und Versatz Max
ändern, um die Startposition zu randomisieren.

Drei verschiedene Partikelsysteme unter Verwendung desselben Rauch-Sprite Sheet
Je nachdem, wie viele Bilder Ihr Sprite Sheet enthält und wie lange Ihr Partikel aktiv ist, sieht die Animation möglicherweise nicht flüssig aus. Die Beziehung zwischen der Lebensdauer des Partikels, der Animationsgeschwindigkeit und der Anzahl der Bilder im Sprite Sheet ist die folgende:
Bemerkung
Bei einer Animationsgeschwindigkeit von 1.0
erreicht die Animation das letzte Bild in der Sequenz genau dann, wenn die Lebensdauer des Partikels endet.
Wenn Ihr Sprite Sheet 64 (8x8) Bilder enthält und die Lebensdauer der Partikel auf 1 Sekunde
eingestellt ist, wird die Animation bei 64 FPS (1 Sekunde / 64 Bilder) sehr flüssig sein. Wenn die Lebensdauer auf 2 Sekunden
eingestellt ist, wird sie bei 32 FPS immer noch ziemlich flüssig sein. Aber wenn das Partikel 8 Sekunden
lebt, wird die Animation bei 8 FPS sichtbar abgehackt. Um die Animation wieder flüssig zu machen, müssen Sie die Animationsgeschwindigkeit auf etwas wie 3
erhöhen, um eine akzeptable Framerate zu erreichen.

Dasselbe Partikelsystem bei unterschiedlichen Lebensdauern: 1 Sekunde (links), 2 Sekunden (Mitte), 8 Sekunden (rechts)
Beachten Sie, dass der Wert Feste FPS des GPUParticles3D-Nodes auch die Wiedergabe der Animation beeinflusst. Für eine reibungslose Animationswiedergabe wird empfohlen, den Wert auf 0 zu setzen, damit die Partikel bei jedem gerenderten Frame simuliert werden. Wenn dies für Ihren Anwendungsfall nicht in Frage kommt, setzen Sie Feste FPS auf die effektive Framerate, die von der Flipbook-Animation verwendet wird (siehe oben für die Formel).
Turbulenz
Die Turbulenz fügt der Bewegung der Partikel Rauschen hinzu und erzeugt so interessante und lebendige Muster. Markieren Sie das Kästchen neben der Property Aktiviert
, um sie zu aktivieren. Es gibt eine Reihe von neuen Propertys, die Bewegungsgeschwindigkeit, Rauschmuster und Gesamteinfluss auf das Partikelsystem steuern. Eine detaillierte Erklärung dieser Propertys finden Sie im Abschnitt Turbulenz der Partikel.
Kollision
Das Property Modus
steuert, ob und wie Emitter mit Partikel Kollisionsnodes kollidieren. Setzen Sie sie auf Deaktiviert
, um jegliche Kollision für dieses Partikelsystem zu deaktivieren. Setzen Sie sie auf Bei Kontakt verstecken
, wenn Sie wollen, dass Partikel verschwinden, sobald sie kollidieren. Setzen Sie ihn auf Konstant
, wenn die Partikel kollidieren und umherhüpfen sollen. Sie werden zwei neue Propertys im Inspektor sehen. Sie steuern, wie sich Partikel bei Kollisionen verhalten.
Ein hoher Wert für Reibung
verringert das Gleiten auf Oberflächen. Dies ist besonders hilfreich, wenn Partikel mit schrägen Oberflächen kollidieren und man möchte, dass sie an Ort und Stelle bleiben, anstatt den ganzen Weg nach unten zu rutschen, wie Schnee, der auf einen Berg fällt. Ein hoher Abprall
-Wert lässt Partikel von Oberflächen abprallen, mit denen sie zusammenstoßen, wie Gummibälle auf einem festen Boden.
Wenn die Property Skalierung verwenden
aktiviert ist, wird die Kollisionsbasisgröße mit der aktuellen Skalierung des Partikels multipliziert. Sie können dies verwenden, um sicherzustellen, dass die gerenderte Größe und die Kollisionsgröße für Partikel mit zufälliger Skalierung oder einer Skalierung, die sich im Laufe der Zeit ändert, übereinstimmen.
Sie können mehr über Partikel-Kollisionen im Abschnitt Kollisionen in diesem Handbuch erfahren.
Sub-Emitter

Die verfügbaren Sub-Emitter-Modi
Das Property Modus
steuert, wie und wann Sub-Emitter gespawnt werden. Setzt man sie auf Deaktiviert
, werden keine Sub-Emitter gespawnt. Setzt man sie auf Konstant
, so werden die Sub-Emitter kontinuierlich mit einer konstanten Rate gespawnt. Die Property Frequenz
bestimmt, wie oft dies innerhalb einer Sekunde geschieht. Setzen Sie den Modus auf Zum Ende
, um den Sub-Emitter am Ende der Lebenszeit des übergeordneten Partikels zu erzeugen, kurz bevor dieser zerstört wird. Die Property Menge bei Ende
steuert, wie viele Sub-Emitter erzeugt werden sollen. Setzen Sie den Modus auf Bei Kollision
, um Sub-Emitter zu erzeugen, wenn ein Partikel mit der Umgebung kollidiert. Die Property Menge bei Kollision
steuert, wie viele Sub-Emitter gespawnt werden sollen.
Wenn die Property Geschwindigkeit beibehalten
aktiviert ist, beginnt der neu erzeugte Sub-Emitter mit der Geschwindigkeit des Parent-Partikels zum Zeitpunkt der Erzeugung des Sub-Emitters.
Siehe den Abschnitt Sub-Emitter in diesem Handbuch für eine detaillierte Erklärung, wie man einen Sub-Emitter zu einem Partikelsystem hinzufügt.