2024

Partikel-Simulationen - Eine Einführung

Mit Cinema 4D 2024.4 wird ein komplett neues Partikelsystem eingeführt, das nicht nur viel größere Partikelmengen schneller als zuvor verarbeiten kann, sondern auch detaillierte Beeinflussung des Partikelverhaltens zulässt. Dabei spielt besonders die Nutzung von logischen Bedingungen, Gruppen und Modifikatoren eine Rolle. Dies sind neue Objektgruppen, die Sie - zusammen mit den neuen Emitter-Objekten - im Simulieren-Menü finden können. Dort sind nach wie vor auch die älteren Partikelsysteme untergebracht, um Ihre alten Projekte weiterhin nutzen zu können. Neue Projekte, die von Partikeln profitieren, sollten Sie jedoch direkt mit dem neuen Partikelsystem starten, denn dieses kann nun auch Ihre Grafikkarte (GPU) verwenden und ist daher entsprechend leistungsfähiger. Sie kennen dieses Prinzip bereits von den übrigen Simulationssystemen in Cinema 4D, wie z. B. der Feuer- und Rauch-Simulation Pyro, der Kleidungssimulation oder auch den Simulationssystemen für weiche und feste Körper.

Themen in dieser Einführung:


Partikel - Was ist das?

Partikel sind erst einmal oft einfach nur punktartige Elemente, die über verschiedene Eigenschaften verfügen können, wie z. B. Farben, Größen, Geschwindigkeiten oder Dreh-Animationen. In dieser Phase erinnern Partikel z. B. an einfache Staubpartikel in der Luft, die sich z. B. über Kräfte, wie Gravitation oder Wind, in Ihrer Bewegung beeinflussen lassen. Interessant sind Partikel aber vor allem auch deswegen, da wir beliebige andere Objekte mit ihnen verknüpfen können. So können Partikel also z. B. auch Sandkörner, fallendes Laub oder auch komplexe Modelle, wie Autos oder Menschen darstellen. Möglich wird dies dadurch, dass die Partikel nicht nur Positionen im Raum darstellen, sondern u. a. auch über eigenen Matrizen verfügen, durch die sich mit Partikeln verknüpfte Objekte auch beliebig skalieren und ausrichten lassen. Denken Sie z. B. an einen abgeschossenen Pfeil oder ein Flugzeug, deren Spitze immer voran fliegt und sich mit der Flugkurve ausrichtet.
Da sowohl innere Kräfte zwischen den Partikeln, als auch äußere Kräfte, wie Wind oder Gravitation auf die Partikel wirken können, lässt sich auch natürliches Verhalten, z. B. einer über eine Landschaft galoppierenden Herde oder eines Vogel- oder Fischschwarms nachbilden. Wird mit sehr hohen Partikelmengen gearbeitet, können sogar massiv wirkende Strukturen entstehen, ganz ohne dass Objekte mit den Partikeln verknüpft werden müssen. Denken Sie z. B. an Schnee oder Sand. Da sich Partikel auch als Mittelpunkte für Voxel verwenden lassen, können mithilfe eines Volumen Builders so auch Polygon-Objekte entstehen, die das durch Partikel belegte Volumen nachbilden können.
Partikel lassen sich daher für eine Vielzahl von abstrakten Effekten und Animationen nutzen, ohne jedes an der Animation beteiligte Element separat animieren zu müssen. Durch die Kombinationsmöglichkeiten mit den anderen Simulationssystemen eröffnen sich zusätzliche Optionen, die zuvor nur mit größerem Aufwand oder über externe Plugins umgesetzt werden konnten.
Die Erzeugung und Bedienung von Partikeln kann dabei komfortabel über spezielle Objekte im Objekt-Manager erfolgen, die Sie alle im Simulieren-Menü von Cinema 4D finden können. Dabei sind diese Partikel-Elemente bereits in logischen Gruppen sortiert, deren Bedeutung wir im folgenden Abschnitt besprechen.


Obiger Film zeigt die Simulation eines stilisierten Wasserfalls mit einfachen Partikeln ohne zugewiesener Geometrie. Die Farbwechsel wurden ebenfalls automatisch innerhalb der Partikel-Simulation berechnet.


Einsatzmöglichkeiten und Beispiele

Hinweis zu den nachfolgend verlinkten Szenen:

Um die Dateien klein und übersichtlich zu halten, sind dort keine Caches der Partikel oder der übrigen verwendeten Simulationen enthalten. Um eine flüssige Wiedergabe und das Rendering mit Motion Blur zu ermöglichen, sollten Sie daher die Caches für die enthaltenen Partikel-Gruppen berechnen lassen. Sie finden dazu eine Objekt berechnen-Schaltfläche im Cache-Tab der Partikel-Gruppen-Objekte.

Partikel sind immer dann hilfreich, wenn Sie komplexe, abstrakte Strukturen animieren möchten oder es um die Animation sehr vieler Objekte geht. Die Möglichkeiten von Partikeln gehen dabei über die z. B. von MoGraph hinaus, denn die Anzahl der Partikel kann jederzeit regelbasiert variiert werden. Zudem ist die Simulation physikalischer Verhaltensweisen hier praktisch schon eingebaut. Partikel können über individuelle Geschwindigkeiten und Flugrichtungen verfügen und auf Ihre Umgebung und auch andere Partikel reagieren. Hier finden Sie ein Beispiel dazu:



Ein Standbild aus der Simulation eines Wasserfalls mit Partikeln. Die Anmutung von fließendem Wasser wurde hierbei durch automatische Farbwechsel der Partikel, ein Schwarmverhalten, Gravitation und das Rendering mit Motion Blur (Bewegungsunschärfe) umgesetzt.

Neben diesem eher typischen Aspekt von Partikel-Animationen können Partikel aber auch mit anderen Simulationen gemischt werden und interagieren. So können Partikel z. B. auch mit Hilfe der Pyro-Simulation Flammen und Rauch abgeben oder die Wichtungswerte in einem Vertex-Map-Tag beeinflussen. Eine Einführung und weitere Beispiele zur Nutzung von Pyro-Simulationen finden Sie auf diesen Seiten.
Hier finden Sie einige Partikel-Beispiele dazu:



In diesem Beispiel überfliegen Partikel eine Ebene. Die Flugbahnen werden durch automatisch verblassende Vertex Map-Wichtungen nachgezeichnet, die dann die Bereiche steuern, in denen ein Pyro Emitter Rauch erzeugt.





Hier werden die Kollisionen der Partikel mit einer Ebene in einer Vertex-Farben- Map erfasst, die um das Displacement und die Farbgebung an den "Einschlagstellen" der Partikel zu verändern.

 

Die Partikel selbst haben zwar keine Masse und können daher nicht andere dynamische Objekte bei Kollision verschieben, aber mit einem kleinen Trick gelingt auch das. Hier nutzen wir z. B. ein MoGraph Klon-Objekt um Rigid Body-Kugel an die Partikel zu heften. Der Effekt gelingt, da wir einen hohen Wert für Position folgen am Rigid Body-Tag verwenden. Dies zwingt die geklonten Kugeln dazu, immer nahe an den Partikeln zu bleiben.
Auf diese Weise reagieren die geklonten Kugeln auf die pendelnde Ebene und es wirkt, als könnten die Partikel selbst die Ebene zum Schwingen bringen:



Die Rigid Body-Kugeln werden mit einem Klon-Objekt an die Partikel geheftet und kollidieren dabei mit der gelenkig aufgehängten Ebene. Da die Rigid Body-Kugel eine Masse haben, können Sie eine Kraft auf die Ebene ausüben. Das Partikel alleine würde einfach nur von der Ebene abprallen, ohne diese zum Schwingen zu bringen.

Hinzu kommt, dass die Partikel innerhalb der Partikel-Gruppen wie normale Punkte verwaltet werden. Das bedeutet, dass sie sich auch mit Deformatoren verformen lassen oder z. B. in Kombination mit einem Volumen Builder zu organischen Formen umgewandelt werden können. Hier finden Sie Beispiele dazu:



Partikel können nicht nur elastisch mit anderen Objekten kollidieren, sondern auch an diesen kleben bleiben oder langsam abrutschen. In diesem Beispiel nutzen wir alle diese Optionen in Kombination mit einem Volume Builder, um eine Flüssigkeit darzustellen.




Beachten Sie bei dieser Szene, dass zuerst ein Cache für die Partikel-Gruppe erstellt werden muss, damit die Deformation entlang der Splines berechnet werden kann (siehe Cache-Tab der Partikel-Gruppe. Verwenden Sie dort die Schaltfläche für Objekt berechnen).
Alternativ zur Nutzung einer Cache-Berechnung kann ansonsten auch der Spline-Wickler direkt unter dem Tracer eingeordnet werden, um die nachgezeichneten Flugbahnen der Partikel entlang der Splines zu verformen.


Hier wurden die Partikel einfach nur gradlinig emittiert, anschließend aber mit einem Spline-Wickler Deformationsobjekt entlang eines Splines gebogen. Zusätzlich zeichnet ein MoGraph-Tracer die Flugbahnen der Partikel nach und macht diese als einfache Splines sichtbar.


Die Elemente einer Partikel-Simulation

Wie bereits erwähnt, bietet das Partikelsystem verschiedene Optionen an, um die Erstellung und die Eigenschaften der Partikel steuern zu können. Schauen wir uns daher nun diese Elemente an, die Sie im Simulieren-Menü von Cinema 4D finden können und die nach Aufruf als normale Objekte im Objekt-Manager erscheinen.
Sind Sie direkt an bestimmten Kategorien interessiert, finden Sie hier die Links für den Schnellzugriff darauf:


Die Emitter

Ein Emitter legt den Ort der Partikel-Entstehung fest und welche Eigenschaften den Partikeln am Anfang mitgegeben werden sollen. Das sind dann oft deren anfängliche Flugrichtung und Geschwindigkeit oder auch deren Farbe und Größe. Es stehen verschiedene Emitter zur Verfügung, je nachdem, wo die Partikel entstehen sollen:

Bei allen Emittern ist zu beachten, dass diese nur die Bedingungen festlegen, die den Ort und die Anfangseigenschaften der Partikel vorgeben. Sobald ein Partikel erzeugt wurde hat es keine Verbindung mehr zum Emitter. Es ist daher z. B. auch nicht länger möglich, dass Sie z. B. Objekte, die anstatt der Partikel verwendet werden sollen, direkt im Objekt-Manager unter einem Emitter eingruppieren. Stattdessen werden alle Partikel in speziellen Partikel-Gruppen verwaltet. Falls Sie schon einmal mit dem älteren Thinking Particles-System gearbeitet haben, dürftet Ihnen dieses Prinzip bekannt vorkommen.
Aus diesem Grund entsteht auch automatisch bei Aufruf des ersten Emitter-Objekts ein zusätzliches Partikel-Gruppe-Objekt. In diesem werden dann alle erzeugten Partikel verwaltet. Es sind daher auch diese Partikel-Gruppen-Objekte, denen automatisch ein Redshift Objekt-Tag zugewiesen wird, um die Partikel direkt als sichtbare Objekte rendern zu können. Alternativ hierzu können diese Partikel-Gruppen dann z. B. auch über MoGraph Kloner- oder Matrix-Objekte zur Platzierung von Achsensystemen oder beliebigen Objekten verwendet werden. Auch die Nutzung zusammen mit den Voxeln eines Volumen Erzeuger-Objekts ist über diese Partikel-Gruppen möglich.


Die Partikel-Gruppen

Partikel-Gruppen werden benötigt, um die durch Emitter erstellten Partikel zu verwalten. Zudem lassen sich das Aussehen der Partikel in den Ansichten und auch das Caching der Partikel über Gruppen steuern. Es wird immer zumindest eine Partikel-Gruppe in der Szene benötigt, wenn Sie mit Partikel arbeiten möchten. Daher entsteht das erste Partikel-Gruppe-Objekt auch automatisch, wenn Sie Ihr erstes Emitter-Objekt aufrufen.
Gruppen lassen sich auch manuell über das Simulieren-Menü oder teilweise auch direkt, z. B. über Gruppe erstellen-Schaltflächen an den Emittern erzeugen.


Die Anzeigemodi

Gruppen bieten verschiedene Formen an, die für die Anzeige der Partikel in den Ansichtsfenstern verwendet werden können. Je nach gewählter Form lassen sich daran auch die Ausrichtung oder Flugrichtung der Partikel ablesen. Diese Formen können so zwar nicht gerendert werden, aber durch ein zugewiesene Redshift Objekt-Tag lassen sich dort in der Partikel-Rubrik ebenfalls verschiedene Formen in einem Modus-Menü auswählen, die für das Rendering genutzt werden können. Ohne dieses Tag werden die Partikel standardmäßig nur als Kugeln gerendert. Dies sind die verschiedenen Anzeige-Formen an einer Partikel-Gruppe:


Hier wurden verschiedene Ansicht-Modi an dem Partikel-Gruppe-Objekt verwendet. Von links nach rechts sind dies Punkte, Pfeile und Ticks.
Hier wurden verschiedene Ansicht-Modi an dem Partikel-Gruppe-Objekt verwendet. Links sind Linien und rechts Handles zu sehen

Neben den angezeigten Formen kann über eine Option auch der Radius der Partikel als Kreis eingezeichnet werden (siehe nachfolgende Abbildung). Der Radius steht dabei stellvertretend für die Größe jedes Partikels. Dies ist eine der Eigenschaften, die direkt am Emitter eingestellt werden kann.


Hier wurde die Punkte-Darstellung mit der Radius zeichnen-Option kombiniert, um bereits ohne Rendering die Partikelgröße begutachten zu können.

Neben diesen eher formgebenden Einstellungen kann auch die Farbigkeit der Partikeldarstellung an der Gruppe beeinflusst werden. Die Emitter geben den Partikeln bereits bei deren Erstellung Farben mit auf die Reise, aber diese können für die Darstellung in den Ansichten auch über die Gruppen ersetzt werden. Dies kann hilfreich sein, wenn Sie bei Nutzung vieler Gruppen über die Einfärbung der Partikel direkt erkennen möchten, welche Partikel in welcher Gruppe verwaltet werden. Die im Rendering sichtbare Farbe kann zusätzlich noch über Materialien vorgegeben werden, die Sie den Gruppen zuweisen.


Hier wurde die Einstellung Keine für den Überschreiben-Modus genutzt. Die Partikel erhalten ihre Farben dabei direkt vom Emitter (links zu sehen), bzw. durch spezielle Modifikatoren, wie z. B. das Farbmapping-Objekt. Damit lassen sich auch individuelle Farbverläufe umsetzen, wie z. B. rechts im Bild.
Links im Bild wurde die Einstellung Konstant verwendet und in der Gruppe eine neue Farbe gewählt, die nun die ursprüngliche grünen Partikel umfärbt. Die rechte Seite der Abbildung zeigt die Färbungen im Modus Richtung. Dabei werden die Partikel je nach ihrer Bewegungsrichtung gefärbt. Bewegungen entlang der X-Achse werden rot, entlang der Y-Achse grün und Bewegungen entlang der Z-Richtung blau gefärbt.


Multi-Gruppen

Partikel-Gruppen gehören zum Kernstück der Partikel-Simulation, denn Sie enthalten die Partikel und stellen diese den Funktionen zur Verfügung, die z. B. Kräfte definieren oder Farben vergeben. Diese Objekte sind in den nachfolgend besprochenen Gruppen Bedingungen und Modifikatoren zu finden. Falls Sie z. B. die Gravitation auf Partikel wirken lassen möchten, die in verschiedenen Gruppen verwaltet werden, können Sie auch Multi-Gruppen nutzen. In diesen lassen sich mehrere Gruppen Ihrer Simulation angeben. Multi-Gruppen stellen dann automatisch alle Partikel der aufgeführten Gruppen zur Verfügung, ohne dass Sie die bereits vorhandene Gruppenaufteilung der Partikel verändern müssen. Im Abschnitt zu den Modifikatoren finden Sie ein Beispiel zur Nutzung.


Partikel rendern

Wie bereits erwähnt, sind Partikel erst einmal im Rendering nur als Kugeln sichtbar und werden daher oft nur als Platzhalter, z. B. für andere Objekte verwendet. Die Zuweisung von Formen zu den Partikeln kann direkt über ein Redshift Objekt-Tag erfolgen, das Sie der Partikel-Gruppeim Objekt-Manager zuweisen können (Rechtsklick auf die Partikel-Gruppe und Auswahl von Render-Tags/RS Objekt). Sie finden an diesem Tag eine eigene Partikel-Kategorie, in der unter verschiedenen Darstellungsformen gewählt werden können:


Die linke Spalte zeigt die 2D-Formen Punkt-Instanzen (oben) und Quader-Instanzen (unten). Rechts oben sind zum Vergleich Kugel-Instanzen zu sehen. Beachten Sie, wie dort die Schattierung der Partikel und auch deren Schattenwürfe detaillierter ausfallen. Die Nutzung von Optimierte Kugeln würde identisch aussehen. Rechts unten wurde ein Fußball-Objekt aus dem Asset-Browser aufgerufen und über das Redshift Objekt-Tag als Benutzerdefinierte Partikelform zugewiesen.

Wie auch in obigen Abbildungen zu erkennen, werden automatisch die Farben der Partikel für die Darstellung der Standardformen am Redshift Objekt-Tag übernommen. Nur wenn Sie eigene Formen verwenden oder individuelle Materialien, z. B. mit angepassten Spiegelungen oder Transparenzen nutzen möchten, müssen Sie ein Redshift-Material erstellen. Wir schauen uns daher hier noch an, wie Sie die Farbeigenschaften der Partikel innerhalb eines Materials auswerten können.


Das MoGraph Klon-Objekt nutzen

Neben der Nutzung des Redshift Objekt-Tags kann z. B. auch ein MoGraph Klon-Objekt im Objekt-Modus verwendet werden, um beliebige Objekte anstelle der Partikel rendern zu lassen. In dem Fall sollten Sie den Partikel-Gruppen aber dennoch ein Redshift Objekt-Tag zuweisen und dort den Darstellungsmodus Ausgeschaltet auswählen, damit nicht zusätzlich zu der geklonten Geometrie noch die typischen Partikel-Kugeln gerendert werden.
Die Nutzung des Klon-Objekts bringt sogar einige Vorteile gegenüber dem Redshift Objekt-Tag mit sich. So können damit nicht nur verschiedene Objekte zufällig und der Reihe nach auf die Partikel-Systeme geklont werden, sondern auch über MoGraph Modifikatoren gesteuert. Zudem bieten das Klon-Objekt Optionen an, um z. B. eine Dehnung der Partikelformen entsprechend der Fluggeschwindigkeit der Partikel darzustellen. Auch die Nutzung von animierten Objekten als Partikelformen ist auf diesem Wege einfacher, denn das Klon-Objekt kann die Wiedergabegeschwindigkeit von Animationen z. B. automatisch mit der Geschwindigkeit der Partikel synchronisieren.
Sie finden alle Informationen zur Nutzung des MoGraph Klon-Objekts mit Partikeln auf dieser Seite der Dokumentation.


Hinweis:

Generell macht es bei Simulationen Sinn, diese vor dem Rendern als Cache speichern zu lassen. Dies ist vor allem dann hilfreich, wenn Sie nicht direkt ab Beginn der Simulationszeit, also z. B. dem ersten Bild, ab dem ein Emitter Partikel ausgibt, rendern möchten, sondern erst, wenn bereits einige Simulationsbilder vergangen sind und sich die Partikel bereits verteilt haben. Gleiches gilt, wenn Ihre Partikel z. B. auf andere Objekte oder Simulationen reagieren sollen. Auch für das Rendern mit Motion Blur, also Bewegungsunschärfe, ist das vorherige Caching hilfreich.
Dieses kann sehr einfach direkt an der Partikel-Gruppe gestartet werden, an der Sie eine eigene Cache-Kategorie finden können. Betätigen Sie dort einfach die Schaltfläche für Objekt berechnen, um für diese Gruppe eine Cache-Datei berechnen und speichern zu lassen. Sie werden dazu nach einem Speicherpfad gefragt. Ist das Caching beendet, wird die Simulation deaktiviert und komplett aus der Datei entnommen. Dadurch wird auch das Hin- und Herspringen in der Zeit möglich. Das angezeigte Simulationsergebnis ist immer korrekt.
Nur wenn Sie noch etwas an der Simulation verändern möchten, müssen Sie den Speichermodus der Partikel-Gruppe wieder ausschalten und die Simulation erneut ablaufen lassen, um die Parameterveränderungen begutachten zu können. Anschließend kann die Simulation erneut als Cache gespeichert werden.

Dieses Prinzip der Berechnung von Caches ist bei allen Simulationssystemen in Cinema 4D verfügbar, wie z. B. bei Pyro-Simulationen oder Rigid Body-Simulationen. Mit einem Klick auf die Szene berechnen-Schaltfläche lassen sich daher auch direkt Caches für alle anderen Simulationen Ihrer Szene berechnen und speichern.


Eigene Materialien verwenden

Das Partikelsystem bietet verschiedene Optionen an, um Farben und Alpha-Werte zuzuweisen. So finden Sie z. B. bereits direkt an den Emittern Farbeinstellungen, die eine konstante Farbe oder auch Zufallsfarben aus einem Farbverlauf zuweisen können. Bei der Besprechung der Modifikatoren werden Sie noch andere Optionen kennenlernen, um z. B. auch Farbwechsel an Partikeln vornehmen zu können.
Wenn Sie die vorgegebenen Formen des Redshift Objekt-Tags zum Rendern der Partikel verwenden, werden diese Farben automatisch ausgelesen und auf die angezeigten Partikelformen übertragen, ohne ein Material zu benötigen. Auch bei Nutzung eines MoGraph-Klon-Objekts werden die Farben der Partikel automatisch auf die Farben der geklonten Objekte übertragen, sofern diese nicht über eigene Materialien verfügen.
Wenn Sie jedoch bereits texturierte, benutzerdefinierte Objekte verwenden möchten, werden stattdessen deren eigene Materialien gerendert. Es gibt aber auch die Option, die Farben der Partikel innerhalb eines Redshift-Materials auszulesen und so für beliebige Eigenschaften im Material verwenden zu können.


Obiges Video zeigt eine Partikelanimation, bei der Farben und Alpha-Werte über einen Farbmapping-Modifikator zugewiesen wurden (in diesem Abschnitt finden Sie weitere Informationen zu den Modifikatoren). Die Partikelfarben und Alphawerte wurden dann in einem Material ausgelesen (siehe nachfolgende Abbildung) und einem Kapsel-Grundobjekt zugewiesen, das mit einem Redshift Objekt-Tag als Benutzerdefiniertes Objekt für die Partikel-Gruppe genutzt wird.


Erstellen Sie dafür zunächst z. B. ein Redshift Standard-Material und öffnen Sie dieses im Node-Editor. Ergänzen Sie dann aus dem Asset Browser den Benutzerdaten: Farbe-Node, den Sie dort unter Utility/Benutzerdaten finden können. In den Einstellungen dieses Nodes finden Sie den Parameter Attributname mit einer Voreinstellungen ...-Schaltfläche dahinter. Ein Klick auf diese Schaltfläche zeigt Ihnen die in Ihrer Szene verfügbaren Kategorien mit Farbwerten an. Öffnen Sie dort die Partikel-Gruppe. Darin finden Sie den Eintrag für die Partikelfarbe. Diese Auswahl stellt Ihnen nun die Farbinformationen der Partikel am Ausgang des Benutzerdaten: Farbe-Nodes zur Verfügung. Sie können diesen Ausgang daher z. B. mit dem Farbe-Eingang am RS Standard-Node verbinden.

Tipp:

Wenn Sie einfach nur die Farben der Partikel auf den Farbkanal eines Materials übertragen möchten, können Sie auch direkt das Partikel-Material von Redshift aufrufen, das Sie z. B. unter Erzeugen/Materialien im Material-Manager finden können.


Sollten Ihre Partikel zusätzlich auch noch Alpha-Werte enthalten, können Sie diese ebenfalls in dem Material auslesen lassen. Bei Alpha-Werten handelt es sich um Werte zwischen 0.0 und 1.0, also sogenannte Skalare oder Fließkommawerte. Diese können über einen Benutzerdaten: Skalar-Node ausgelesen werden, den Sie ebenfalls im Asset Browser unter Utility/Benutzerdaten finden können. Auch dort muss dann noch der richtige Kanal ausgewählt werden. Sie finden daher auch dort wieder eine Voreinstellungen ...-Schaltfläche. Wählen Sie dort aus der Partikel-Gruppe den Eintrag für Transparenz (XP). Am Ausgang des Benutzerdaten: Skalar-Nodes stehen Ihnen nun die Alpha-Werte der Partikel zur Verfügung. Diese könnten z. B. mit dem Deckkraft-Eingang des RS Standard-Materials verbunden werden. Aber auch die Nutzung z. B. zur Steuerung der Leuchtfarbe oder eines Einfluss-Werts ist damit möglich. Sie können die Alpha-Werte der Partikel also auch gut zur Steuerung anderer Materialeigenschaften als der Transparenz nutzen.


Oben ist die Konfiguration des Benutzerdaten: Farbe-Nodes zu sehen, mit dem die Farbwerte der Partikel als Farben für das Material ausgelesen werden. Die untere Bildhälfte setzt den Benutzerdaten: Skalar-Node in den Fokus, mit dem hier die Alpha-Werte der Partikelfarben ausgelesen werden. Die Schaltung zeigt zwei mögliche Nutzen dieser Alpha-Werte bei der Steuerung des Farbe-Einflusses und der Emissionsfarben.

Nachdem Sie das Material wunschgemäß konfiguriert haben, muss es noch im Objekt-Manager zugewiesen werden. Wenn Sie die Partikelformen über ein Redshift Objekt-Tag zuweisen und dort eine der eingebauten Formen verwenden, müssen Sie das Material direkt der Partikel-Gruppe zuweisen. Nur wenn Sie benutzerdefinierte Objekte verwenden, gehört das Material stattdessen auf das entsprechende Objekt, das Sie als Benutzerdefiniertes Objekt im Redshift Objekt-Tag angegeben haben.

Dies gilt auch für den Fall, dass Sie ein MoGraph Klon-Objekt im Objekt-Modus nutzen, um andere Objekte auf die Partikel-Gruppe zu klonen. Das Material kann dann direkt dem Klon-Objekt zugewiesen werden. Zur Übertragung der Partikelfarben auf die geklonten Objekte muss jedoch am Benutzerdaten: Farbe-Node Voreinstellungen... MoGraph/Farbe verwendet werden, um den Farbwert zu erhalten. Eine Nutzung des Alpha-Werts der Partikelfarben ist aktuell in Kombination mit einem Klon-Objekt nicht möglich.


Die Kräfte und die Modifikatoren

Sie haben bereits gesehen, wie Partikel erzeugt und dabei in einer Gruppe verwaltet werden. Die Partikel einer Gruppe können mit Kräften und Modifikatoren beeinflusst werden. Kräfte sind bereits z. B. aus dem alten Partikelsystem bekannt und im Simulieren-Menü unter Kräfte zu finden. Dort finden Sie z. B. gängige Kräfte, wie die Gravitation oder Wind, um die Erdanziehung und Luftbewegungen zu simulieren. Wählen Sie dort das gewünschte Kraft-Objekt aus und ordnen Sie es unter der Partikel-Gruppe ein. Die Partikel in dieser Gruppe werden dadurch von diesen Kräften beeinflusst. Hier finden Sie alle diese Kraft-Objekte im Detail beschrieben.

Ähnlich funktionieren die spezielle Modifikator-Objekte, die Sie unter Simulieren/Modifikator finden können. Auch diese werden in der Regel unter der Gruppe eingruppiert, deren Partikel sie beeinflussen sollen (siehe nebenstehende Abbildung).
Generell beeinflussen die Kräfte und Modifikatoren die Flugbahnen, Farben oder andere spezielle Eigenschaften der Partikel, wie z. B. deren Radius oder Ausrichtung. Auch die Interaktionen zwischen den Partikeln oder zwischen Partikeln und Objekten können hierüber beeinflusst werden. Ohne an dieser Stelle alle Modifikatoren im Detail zu besprechen, schauen wir uns hier einige Beispiele an, wie die prinzipielle Funktionsweise dieser Objekte ist.


Neue Farben zuweisen

Mit dem Farbmapping-Modifikator lassen sich Farb- und Alpha-Verläufe zuweisen. Wählen Sie dazu zunächst an diesem Modifikator aus, welche Quelle für die Zuweisung der Farben genutzt werden soll:

Das nachfolgend abgebildete Beispiel nutzt die Eigenschaft Altersprozentsatz, das sich auf die am Emitter angegebene Lebensdauer der Partikel bezieht. Die Lebenszeit der Partikel ist standardmäßig auf unendlich gestellt (Lebensdauer= 0) und sollte daher am Emitter manuell begrenzt werden, um eine auf der Lebenszeit basierende Einfärbung umsetzen zu können.
Ein gerade erzeugter Partikel hat dann ein Altersprozentsatz von 0%. Dieser Wert erhöht sich linear bis zum Erreichen seines Lebensendes auf 100%. Entsprechend geben wir in diesem Beispiel auch die Werte Unten und Oben an. Ein ausgelesener Unten-Wert führt zu einer Farbentnahme am linken Rand des Farbverlaufs. Partikel mit einem Altersprozentsatz-Wert von Oben führen zu einer Farbentnahme am rechten Rand des Verlaufs. Dieses Prinzip funktioniert entsprechend auch bei der Nutzung anderer Partikel-Eigenschaften, wie z. B. der Fluggeschwindigkeit oder des Partikel-Radius.

Die Farben innerhalb des Verlaufs können Sie editieren, wenn Sie den kleinen Pfeil links neben dem Farbverlauf anklicken und dadurch dessen Farbreiter-Einstellungen sichtbar machen. Ein angeklickter Farbreiter am Verlauf stellt dann unterhalb des Verlaufs dessen genaue Position und seinen Farbwert zum Bearbeiten zur Verfügung. Neue Farbreiter entstehen automatisch durch einen Klick auf den Verlauf. Nicht benötigte Farbreiter können einfach mit der Maus nach oben oder unten aus dem Verlauf gezogen werden.

Sind die gewünschten Farben konfiguriert, können Sie zusätzlich auch deren Alpha-Werte konfigurieren. Dazu aktivieren Sie die Alpha bearbeiten-Option unterhalb des Verlaufs. Der Farbverlauf wird dadurch ausgeblendet und durch einen Graustufen-Verlauf ersetzt. Auf daran können Sie wieder beliebig viele eigene Farbreiter setzen und deren Helligkeitswerte einstellen. Weiß steht dabei für vollständig sichtbare Farben und schwarz für eine vollständige Transparenz. Wenn Sie die Wirkung Ihrer Alpha-Werte auf den Farbverlauf begutachten möchten, aktivieren Sie zusätzlich die Ergebnis anzeigen-Option.

Wenn Sie nun diesen Farbmapping-Modifikator unter der Partikel-Gruppe einordnen und die Animation ablaufen lassen, können Sie den Farbwechsel der Partikel beobachten (siehe nachfolgende Abbildung). Die Alpha-Werte werden dabei nicht bei der Anzeige im Ansichtsfenster berücksichtigt. Wie im Abschnitt zur Nutzung von Materialien für das Partikel-Rendering erläutert, kann diese Alpha-Information jedoch auch über einen Benutzerdaten: Skalar-Node ausgelesen und zur Steuerung verschiedener Materialeigenschaften eingesetzt werden.


Hier wird ein Farbmapping-Modifikator so eingestellt, dass das prozentuale Alter der Partikel zum Auslesen eines Farbverlaufs genutzt wird. Je nach Zustand der Alpha bearbeiten-Option lassen sich die Farben und die Alpha-Werte getrennt voneinander konfigurieren. Ganz rechts ist ein mögliches Ergebnis zu sehen, bei dem die Partikel entsprechend ihres prozentuales Alters ihre Farbe wechseln.


Partikel-Eigenschaften verknüpfen

Mit einem Datenmapper lassen sich - ähnlich wie beim Farbmapper - Partikel-Eigenschaften, Feld-Objekte oder Noise auswerten, um einzelne Eigenschaften der Partikel zu beeinflussen. Nachfolgend finden Sie einige Beispiele dazu.

Wir nutzen zunächst einen Datenmapper, um die zurückgelegte Entfernung der Partikel mit dem Rot-Anteil ihrer Farbe zu verknüpfen. Während der Farbmapper nur die komplette Farbe und deren Alpha-Wert steuern kann, lässt sich mit dem Datenmapper jede einzelne Farb- und Alpha-Komponente steuern. Um einen kompletten Farbwert (Rot, Grün und Blau) zu steuern, müssten also drei Datenmapper verwendet werden.


Hier wird die von den Partikeln zurückgelegte Entfernung erfasst und relativ zu den Kleinster Eingang- und Größter Eingang-Vorgaben ausgewertet. Über die Ausgangseigenschaft-Einstellung und deren Eigenschaftskanal-Konkretisierung kann z. B. eine Komponente eines Vektors oder einer Farbe verändert werden. Hier wird die Rot-Komponente der Partikelfarben alle 50 zurückgelegten Entfernungseinheiten auf 1 erhöht und wieder auf 0 reduziert. Diese zyklische Wiederholung wird durch den Wiederholen-Modus für den Begrenzungsmodus ausgelöst.

So wie oben für einzelne Farbwerte demonstriert, können auch die einzelnen Komponenten, z. B. der Geschwindigkeitsvektoren verändert werden. Im folgenden Beispiel wird ein kugelförmiges Feld verwendet, um die X-Geschwindgkeitskomponente zwischen 0 und 100 zu verändern. Der Kleinster Ausgang-Wert wird dabei auf den äußeren Rand des Felds angewendet und der Größter Ausgang-Wert kommt im inneren Bereich des Felds zum Einsatz. Im Effekt wird dadurch der anfänglich quaderförmige Partikelstrom zu einer Seite, entlang der positiven X-Achse verschoben.


Hier wird ein kugelförmiges Feld verwendet, um die X-Komponente der Partikel-Geschwindigkeiten auf bis zu 100 zu erhöhen. Im Außenbereich des Feld wird diese Komponente wieder auf 0 reduziert. Daher bleibt der Partikelstrom nach Verlassen des Felds in seiner Richtung konstant.

Nach dem gleichen Prinzip kann z. B. auch die Radius-Größe gesteuert werden. Im folgenden Beispiel wird wieder ein kugelförmiges Feld verwendet. Im Außenbereich des Felds erhalten die Partikel einen Radius von 2 cm und im Zentrum einen Radius von 0,1 cm. Wenn Sie an der Partikel-Gruppe die Option für Radius zeichnen aktivieren, kann die Radius-Veränderung bereits ohne Rendering direkt in den Ansichtsfensters betrachtet werden.


Hier wird der Radius der Partikel innerhalb eines kugelförmigen Felds zwischen 2 cm und 0,1 cm verändert.


Auf die Umgebung reagieren

Neben der Beeinflussung von Farben und Partikel-Eigenschaften, lassen sich Partikel auch mit physikalischen Simulationen kombinieren. So finden Sie z. B. einen Kollision-Modifikator, mit dem Abstände zwischen Partikeln und einer anderen Geometrie ausgewertet werden können. So lassen sich Partikel dann z. B. mit den typischen Einstellungen für die Elastizität oder Reibung versehen. Dafür müssen Kollision-Tags an die entsprechenden Objekte vergeben werden, die mit den Partikeln interagieren sollen. Sie finden diese Tags im Objekt-Manager unter Tags/Simulation-Tags/Kollision.


Dank des Kollision-Modifikators können Partikel von Objekten abprallen, die über ein Kollision-Tag verfügen.

Wie im linken Teil obiger Abbildung zu erkennen, bietet der Kollision-Modifikator auch die Option an, eine Zielgruppe anzugeben. Dadurch werden die kollidierenden Partikel automatisch einer anderen Gruppe zugewiesen, was z. B. die Zuweisung von Modifikatoren erleichtert, die dann nur auf die abgeprallten Partikel wirken. Sie können einfach eine neue Partikel-Gruppe aus dem Simulieren-Menü aufrufen und dann z. B. per Drag&Drop in das Zielgruppe-Feld zuweisen oder das Pipette-Symbol hinter dem Zielgruppe-Feld anklicken und dann auf die neue Partikel-Gruppe im Objekt-Manager klicken.

Aber auch das Reagieren von Partikeln auf seine Nachbar-Partikel ist möglich, um z. B. Schwarm- oder Raubtier/Beute-Verhalten zu simulieren. Dazu gehört u. a. der Schwarm-Modifikator, mit dem sich Anziehung- und Abstoßungskräfte zwischen benachbarten Partikeln berechnen lassen.
Im folgenden Beispiel setzen wir zwei Emitter ein, die Partikel in zwei getrennten Gruppen verwalten. Der linke Emitter erzeugt weiße Partikel mit einem Radius von 5 cm, der rechte erzeugt violette Partikel mit einem Radius von 1 cm. Beide Partikel-Gruppen werden in einer Multi-Gruppe zusammengefasst. Dazu ziehen Sie die beiden Partikel-Gruppen einfach in die Gruppenverknüpfungen-Liste der Multi-Gruppe. Wenn Sie nun Modifikatoren unter der Multi-Gruppe einordnen, wirken diese automatisch auf alle darin gelisteten Partikel-Gruppen. Wir ziehen daher nun einen Schwarm-Modifikator unter die Multi-Gruppe und passen dessen Einstellungen und unterschiedliche Radien an, um die gewünschten Anziehungen und Abstoßungen zwischen diesen Partikeln vorzugeben. In diesem Beispiel führt die zu einer Anziehung zwischen allen Partikel, was zu einer Zusammenführung der Partikelströme führt. Dabei würden normalerweise die Farb- und Radius-Unterschiede der beiden ursprünglichen Partikel-Gruppen erhalten bleiben.
Wenn wir nun jedoch noch Mischen-Modifikatoren unter der Multi-Gruppe ergänzen, können wir auch die unterschiedlichen Farben und Radien in Abhängigkeit von den Partikel-Abständen miteinander vermischen und dadurch den resultierenden Partikelstrom in seinem Aussehen weiter homogenisieren und angleichen. Da immer nur eine Eigenschaft der Partikel pro Mischen-Modifikator vermischt werden kann, nutzen wir zwei davon, einen für die Farben und einen für die Radien.


Die benachbarten Partikelströme zweier Emitter lassen sich mit einem Flocking-Modifikator zusammenführen.
Mit Mischen-Modifikatoren können die Eigenschaften benachbarter Partikel ausgeglichen werden. Hier werden die Farbwerte (links) und die Radien (rechts) in einer Entfernung von 30 cm um die Position jedes Partikel ausgewertet und entsprechend der Stärke-Angabe miteinander vermischt und ausgeglichen (Mischen Normale).


Naheliegend ist sicherlich auch die Kombination mit der Pyro-Simulation von Rauch oder Feuer. Auch hierfür steht ein Modifikator zur Verfügung der dafür sorgt, dass die Partikel automatisch von der Dichte- und Temperatur-Bewegung der Pyro-Simulation mitbewegt werden. Gehen Sie dafür am besten so vor, dass Sie zunächst die Pyro-Simulation über das Pyro-Ausgabe-Objekt in eine Cache-Datei sichern lassen. Vergessen Sie dabei nicht, zumindest die Optionen für die Dichte, die Temperatur und die Geschwindigkeit für das Caching zu aktivieren. Anschließend platzieren Sie Ihren Partikel-Emitter so, dass neue Partikel im Einflussbereich der Pyro-Simulation entstehen. Diese Partikel müssen nicht unbedingt über eine eigene Geschwindigkeit verfügen. Denken Sie z. B. an die Funken in einem Lagerfeuer. Die Partikel könnten dann diese Funken darstellen, indem Sie in der Nähe der Glut entstehen und von der aufsteigenden Hitze und Dichte mitbewegt werden.
Dafür reicht aus, der Partikel-Gruppe einen Pyro-Advektion-Modifikator unterzuordnen und dort auszuwählen, wie stark und auf welche Pyro-Komponenten reagiert werden soll. Haben Sie bislang noch nicht mit Pyro-Simulationen gearbeitet, finden Sie hier eine umfangreiche Einführung in das Thema.


Obiges Rendering zeigt die Pyro-Simulation einer brennenden Kugel, die gleichzeitig auch als Mesh-Emitter verwendet wird. Dessen Partikel werden durch einen Pyro Advektion-Modifikator automatisch von der aufsteigenden Dichte und Temperatur mitgerissen. Ein zweiter Emitter sorgt für die größeren Funken, die zusätzlich nach unten fallen und - Dank des Kollision-Modifikators - dort mit dem Boden kollidieren.


Bedingungen nutzen

Sie haben nun bereits die Emitter, die Partikel-Gruppen und auch die Kraft-Objekte und Modifikatoren kennengelernt, mit denen Partikel erzeugt, verwaltet und gesteuert werden können. Dabei sind die Gruppen besonders hilfreich, um verschiedene Modifikationen an dem gleichen Partikelstrom durchführen zu können. So können wir z. B. die Partikel eines Emitters in verschiedene Gruppen aufteilen und dort unterschiedlich färben oder z. B. mit unterschiedlichen Eigenschaften belegen. Wir haben diesbezüglich schon den Kollision-Modifikator angesprochen, der kollidierende Partikel automatisch in eine neue Gruppe verschieben kann. Speziell für diese Funktion, also den Wechsel der Partikel in eine neue Gruppe, aber auch zur Filterung von Partikeln innerhalb einer Gruppe, sind die Bedingung-Objekte gedacht. Dort lassen sich gezielt Eigenschaften der Partikel auslesen und dann z. B. durch logische Vergleiche Kriterien für einen Gruppenwechsel oder auch die Anwendung von Modifikatoren festlegen. Schauen wir uns auch dies an Beispielen an.

Wir starten mit dem Aufruf eines Kreis-Splines in der XY-Ebene und eines Spline-Emitters. Der Spline-Emitter nutzt den Kreis, um in dessen Umfeld neue Partikel zu erzeugen, denen wir am Emitter eine Lebensdauer von 200 Bildern und eine gelbe Farbe zuweisen. Zusätzlich rufen wie ein Rotation Kraft-Objekt ab und ordnen dieses der Partikel-Gruppe unter, die zusammen mit dem Spline-Emitter entstanden ist. Durch dieses werden alle Partikel wie in einem Tornado oder einem Strudel auf Kreisbahnen bewegt. Nutzen Sie die Winkelgeschwindigkeit am Rotation-Objekt, um die gewünschte Geschwindigkeit der Verdrehung einzustellen.


Ein Spline-Emitter erzeugt um einen Kreis-Spline herum neue Partikel, die durch ein Rotation-Objekt in eine Drehung und auf eine zylindrische Flugbahn gebracht werden.

Im nächsten Schritt ergänzen wir eine Bedingung unter der Partikel-Gruppe. Diese funktioniert wie ein Vergleich-Node in den Szenen-Nodes oder in XPresso oder wie eine if-Abfrage in der Programmierung. Wir können also eine Eigenschaft der Partikel abfragen und dann mit eigenen Werten vergleichen lassen. Fällt die Überprüfung positiv aus, können die entsprechenden Partikel gezielt durch Kräfte oder Modifikatoren beeinflusst werden, die unter der Bedingung eingruppiert sind.

In unserem Beispiel wählen wir mit Eigenschaft Ausrichtung die Drehlage der Partikel im Raum als auszulesenden Wert und konkretisieren mit Extrahieren Vorwärts Punkt-Produkt, dass wir an der Z-Achsrichtung der Partikel interessiert sind. Die Ausrichtung der Partikel wird anfänglich direkt vom Emitter festgelegt und kann auch während des Partikelflugs noch z. B. über den Ausrichten-Modifikator aktualisiert werden.
Im unteren Teil der Bedingung-Einstellungen geht es dann um unsere eigenen Vorgaben, die zu erfüllen sind. Mit Vergleich In Bereich können wir einen Winkelbereich vorgeben, in dem sich die Z-Achse der Partikel bewegen muss. Als Bezugssystem wird dabei das Achsensystem des Bedingung-Objekts herangezogen. Es werden bei unserem Beispiel also die Winkel zwischen den Z-Achsen der Partikel und der Z-Achse des Bedingung-Objekts ausgerechnet und dann mit dem Winkelbereich zwischen Unten und Oben verglichen. Über den Wahrscheinlichkeit-Wert können Sie bei Bedarf noch festlegen, wie strikt diese Überprüfung sein soll.


Die Bedingungen vergleicht hier die Ausrichtung der Partikel mit den Achsen des Bedingung-Objekts. Liegt der ermittelte Winkel innerhalb des vorgegebene Winkelbereichs, können unter dem Bedingung-Objekt gruppierte Modifikatoren gezielt auf diese Partikel wirken. In diesem Beispiel werden diese Partikel gezielt umgefärbt und mit einem Schwarm-Modifikator mit Anziehungskräften versehen.

Wie in obiger Abbildung rechts erkennen, ergänzen wir dann noch einen Schwarm- und einen Farbmapping-Modifikator, die direkt unter der Bedingung eingruppiert werden. Dadurch wirken diese Modifikatoren nur auf die Partikel, deren Ausrichtung die Bedingung erfüllen. Der Schwarm-Modifikator sorgt für eine Interaktion zwischen den Partikeln und das Farbmapping für eine einheitliche Einfärbung. Dies ist generell hilfreich, um direkt erkennen zu können, ob die richtigen Partikel aussortiert werden. Die folgende Animation zeigt ein mögliches Ergebnis.


Im nächsten Schritt ergänzen wir eine zweite Bedingung, die diesmal das prozentuale Alter der Partikel abfragt und - sofern dieses über 25% der durch den Emitter festgelegten Lebenszeit liegt - das entsprechende Partikel automatisch löscht. Damit das funktionieren kann, muss im Emitter eine beschränkte Lebensdauer von z. B. 200 Bildern angegeben werden. Standardmäßig werden Partikel ohne Begrenzung der Lebensdauer generiert, was generell die Nutzung von Altersprozentsatz unmöglich machen würde.

Wir ordnen diese neue Bedingung unter der ersten ein und erhalten dadurch eine zusätzliche Überprüfung der Partikel. Über die Einstellung Kombinationsmodus können Sie daher auswählen, wie diese mehrfachen Überprüfungen zusammengefasst werden sollen. Die Voreinstellung Und sorgt dafür, dass sowohl die erste Bedingung als auch die zweite Bedingung positiv sein müssen, um die unter der zweiten Bedingung eingeordneten Modifikatoren zu aktivieren. Dort kommt ein Vernichten-Modifikator zum Einsatz, der die Partikel entfernt.


Die zweite Bedingung ergänzt eine zweite Überprüfung bezüglich der prozentualen Lebenszeit und führt zum vorzeitigen Lebensende der Partikel.


Obiges Video zeigt, wie die aussortierten Partikel früher aus der Simulation entfernt werden im Vergleich zu der ursprünglich am Emitter festgelegten Lebensdauer.


Gruppenwechsel

Obiges Beispiel hat gezeigt, wie mit Bedingungen gezielt Kräfte und Modifikatoren auf einen Teil der Partikel begrenzt werden können. Eine noch striktere Trennung von Partikeln kann durch einen Gruppenwechsel erzielt werden, dem ebenfalls wieder eine Bedingung-Abfrage vorhergeht. Im folgenden Beispiel nutzen wir als Grundlage einen einfachen Basis-Emitter, mit dem Partikel in Z-Richtung ausgegeben werden und ordnen dessen Partikel-Gruppe eine Gravitationskraft unter (Simulieren/Kräfte/Gravitation). Die Partikel fallen daraufhin beim Abspielen der Animation nach unten. Nun soll eine Bedingung dafür sorgen, dass die Partikel nach einer gewissen Zeitspanne wieder nach oben steigen. Wir wählen daher diesmal eine Zeitbedingung, mit der Zeitabstände erfasst werden können und gruppieren diese unter der Partikel-Gruppe ein. An der Bedingung wechseln wir in den Pulsieren-Modus und setzen Startbild, Dauer und Lücke jeweils auf 10 Bilder. Dadurch werden alle die Partikel unter der Bedingung ausgegeben, die ab Bild 10 erscheinen und zwar für die folgenden 10 Simulationsbilder. Anschließend wurde die eingestellte Lücke für einen Zeitraum von 10 Bildern sorgen, in dem die Bedingung keine Funktion hat. Danach wiederholt sich der Zyklus von 10 Bildern.

Unter dieser Bedingung sortieren wir eine zusätzliche Gravitationskraft ein, die diesmal eine doppelt so große, aber negative Beschleunigung verwendet (siehe auch nachfolgendes Bild). Dies führt dazu, dass die erste Gravitationskraft (mit dem Standardwert 981 cm) nicht nur kompensiert wird, sondern die resultierende Gravitation mit gleicher Stärke in die gegenüberliegende Richtung wirkt.


Die Zeitbedingung unterwirft die Partikel in einem zyklischen Zeitabstand mit einer negativ wirkenden Gravitation.

Um die Einwirkung der Gravitation auf die Partikel zu beenden, fügen wir eine normale Bedingung hinzu, durch die wir das Alter der Partikel abfragen lassen. Partikel, die älter als 20 Bilder sind, sollen aussortiert werden und in eine neue Gruppe verschoben werden. Dafür nutzen wir den Gruppe wechseln-Modifikator unter der neuen Bedingung. Wir rufen dazu noch eine neue Partikel-Gruppe auf und weisen diese dem Gruppe wechseln-Modifikator zu. Die älteren Partikel werden dadurch in die neue Gruppe geleitet (siehe nachfolgende Abbildung).


Über eine zweite Bedingung und einen Gruppe wechseln-Modifikator lassen wir Partikel in eine neue Gruppe verschieben.

Die aussortierten Partikel in der neuen Gruppe unterliegen damit zwar nicht länger der Gravitation, können aber noch die letzte Bewegungsrichtung beibehalten und daher nach oben oder unten auseinanderdriften. Wir erstellen daher unter der neuen Gruppe einen Datenmapper-Modifikator und lassen dort die Y-Komponente der Geschwindigkeit auslesen und mit den nachfolgenden Ausgangseigenschaft-Einstellungen auf Null. Wir belassen dafür einfach den gesamten Eingangsbereich mit Kleinster Eingang und Größter Eingang bei 0. Durch Nutzung von Begrenzungsmodus Abschneiden und einer linearen Kurve im Spline-Graphen, wird in jedem Fall unser Wert 0 ausgegeben, den wir für Kleinster Ausgang und Größter Ausgang verwenden.


Mit diesen Einstellungen werden alle Y-Komponenten der Geschwindigkeitsvektoren auf Null gesetzt.


Das Video zeigt ein mögliches Ergebnis der oben beschriebenen Simulation.


Zusätzliche Optionen

Bislang haben wir die Kräfte und Modifikatoren immer direkt unter einer Partikel-Gruppe einsortiert. Dies ermöglicht uns u. a. durch das Zuklappen der Gruppen auch komplexe Partikelsteuerungen im Objekt-Manager komprimieren zu können. Tatsächlich wirken Bedingungen und Modifikatoren jedoch auf alles, was auf ihrer Hierarchie-Ebene an Partikeln verfügbar ist. Wie man sich dies zu Nutzen machen kann, zeigt folgendes Beispiel.


Hier sehen Sie einen einzelnen Basis-Emitter, dessen Partikel in einem festen Rhythmus zufällig die Y- und Z- Richtung wechseln. Schauen wir uns schrittweise die Umsetzung an.

Zunächst erstellen Sie einen Basis-Emitter mit rechteckiger Fläche und stauchen diesen entlang der X-Richtung stark zusammen, damit die Partikel nur in einem schmalen Spalt austreten. Die Aktivierung der Shot-Emission erzeugt nur einmalig die angegebene Partikel-Anzahl ab dem angegebenen Startbild. Wir versuchen es hier zunächst mit einem niedrigen Wert von 20. In den Eigenschaften des Emitters geben wir eine benutzerdefinierte Startrichtung mit dem Vektor 0, 1, 1 an. Die Partikel starten dadurch in einem Winkel von 45° entlang der positiven Y- und Z-Achsen. Die folgende Abbildung stellt diese Einstellungen dar.


Die Einstellungen des Basis-Emitters

Nun ergänzen wir zwei Zeitbedingungen unter der Partikel-Gruppe. Diese sind in der Lage, in beliebigen zeitlichen Abständen untergeordnete Modifikatoren zu aktivieren. Wir verwenden hier bei beiden den Puls-Modus, jeweils mit einer Dauer von 1 Bild und einer Lücke von 10 Bildern. Der Unterschied liegt nur im Wahrscheinlichkeit-Wert. Dieser entspricht einer zufälligen Variation der Ergebnisse. Die erste Zeitbedingung nutzt eine Wahrscheinlichkeit von 50%. Dies bedeutet, dass alle 10 Bilder einen 50%-Chance für die Aktivierung der untergeordneten Modifikatoren besteht.

Die an zweiter Stelle unter der Gruppe liegende Zeitbedingung nutzt eine Wahrscheinlichkeit von 100% und erhält dadurch alle Partikel, die nicht bereits von der ersten Bedingung verarbeitet wurden. Unter beiden Bedingungen verwenden wir Gruppe wechseln-Modifikatoren in denen wir je eine neu erstellte Partikel-Gruppe verlinken. Wir teilen durch dieses Setup also die vorhandenen Partikel alle 10 Animationsbilder zufällig in zwei Gruppen auf.


Die Einstellungen der beiden Zeitbedingungen

Wie auch die nachfolgende Abbildung zeigt, kommen in den beiden neuen Gruppen jeweils Mathe-Modifikatoren zum Einsatz. Diese Multiplizieren den Y- und den Z-Anteil der Geschwindigkeiten jeweils mit -1 und führen so zu einer Umkehr der Bewegungsrichtung in der entsprechenden Richtung.


In den beiden neuen Partikel-Gruppen sorgen Mathe-Modifikatoren jeweils für eine Umkehrung der Flugrichtung. Die erste Gruppe invertiert den Z-Anteil und die zweite Gruppe den Y-Anteil der Geschwindigkeiten.

Der Trick besteht nun darin, die Partikel wieder in die Hauptgruppe zu kopieren, damit die Zeitbedingungen erneut berechnet werden und im nächsten Zeitzyklus wieder eine zufällige Variation der Flugrichtungen erfolgt. Dies erledigt ein neuer Gruppe wechseln-Modifikator, der am Ende der Hierarchie platziert wird (siehe linke Hälfte der folgenden Abbildung). Da alle Modifikatoren und Bedingungen von oben nach unten abgearbeitet werden und Modifikatoren und Kräfte, die in keiner Hierarchie liegen auf alle Partikel zugreifen können, werden die Partikel beider Gruppen wieder in die Partikel-Hauptgruppe überführt.

Die rechte Hälfte der Abbildung zeigt zusätzlich die Nutzung eines MoGraph Tracers, mit dem die Flugbahnen der Partikel auch als Spline nachgezeichnet werden können. Dazu ziehen Sie einfach die Hauptgruppe der Partikel in das Tracer Verknüpfung-Feld. Über die Einstellung Grenze Ende in Verbindung mit dem Bilder-Wert. werden die nachgezeichneten Pfade automatisch nach der angegebenen Bilderanzahl gekürzt.
Wenn Sie den Tracer auch mit einem Redshift Objekt-Tag versehen, können die Tracer-Pfade auch ohne die Erzeugung echter Geometrie direkt gerendet werden. Sie finden dazu eine Kurve-Kategorie am Objekt-Tag.


Das Gruppe wechseln am Ende sorgt dafür, dass alle Partikel wieder in die Hauptgruppe verschoben werden und sich so der Zyklus wiederholen kann. Ein zusätzlicher Tracer zeichnet die Flugbahnen der Partikel nach.

Als zusätzlichen Effekt können Sie nun z. B. noch einbauen, dass die Geschwindigkeiten im Außenbereich automatisch reduziert werden und dadurch noch detailliertere Formen entstehen können. Wir setzen dies über zusätzliche Bedingungen und Daten Mapper-Modifikatoren um, die direkt der Hauptgruppe untergeordnet werden (siehe nachfolgende Abbildungen).
Die erste Bedingung überprüft, ob der Y-Anteil der Partikel-Geschwindikeiten größer als 0, also positiv ist. In dem Fall wird ein untergeordneter Daten Mapper ausgeführt der ein Feld-Objekt als Quelle verwendet. Wir setzen hier z. B. ein Kugelfeld ein. Wir wählen den Y-Anteil der Geschwindigkeit für die Ausgabe und legen Werte zwischen 10 und 100 fest (siehe rechte Seite der folgenden Abbildung). Dadurch werden allen positiven Y-Geschwindigkeitskomponenten neue Werte zwischen 10 und 100 zugewiesen, die aus den Einflussradien des Kugelfelds resultieren. Im Kernbereich des Kugelfelds wird der Wert 100 und im Randbereich der Wert 10 ausgegeben.
Nun müssen wir uns noch um die Partikel kümmern, die eine negative Geschwindigkeit entlang der Y-Achse verwenden, also schräg nach unten fliegen.


Skalierung der positiven Y-Geschwindigkeitskomponenten über ein Kugelfeld.

Wir ergänzen dazu gruppiert unter der ersten Bedingung eine zweite, die den Kombinationsmodus invertieren benutzt und damit alle Partikel erhält, die nicht von der oberen Bedingung verarbeitet wurden. In unserem Fall sind das also alle Partikel, die eine negative Y-Komponente für die Geschwindigkeit haben. Ein neuer Datenmapper unter dieser Bedingung greift auf das gleiche Kugelfeld zurück und schreibt ebenfalls neue Y-Geschwindigkeitswerte an die Partikel zurück, nur diesmal negative Werte (siehe folgende Abbildung).


Skalierung der negativen Geschwindigkeiten entlang der Y-Achse über ein Kugelfeld.

Anschließend wiederholen Sie diesen Schaltungsteil, nur diesmal für die Z-Anteile der Geschwindigkeiten. Dabei können Sie auch wieder das gleiche Kugelfeld verlinken. Auf diese Weise haben Sie nur ein Kugelfeld-Objekt, über das Sie die gesamte Abnahme der Geschwindigkeitsberechnungen steuern können.


Ein mögliches Ergebnis obiger Partikel-Schaltung

Abschließend zu diesem Thema zeigt der nachfolgende Abschnitt, wie Sie trotz dieser szenenweiten Nutzung von Kräften oder Modifikatoren, zusammenhängende Partikelsysteme in Simulationsszene-Objekten gruppieren isolieren können.


Die Simulationsszene

Auch die Partikel-Simulation unterliegt einer Simulationsumgebung, die standardmäßig über die Szenenvoreinstellungen definiert wird. Sie finden diese, wenn Sie die Szenenvoreinstellungen im Bearbeiten-Menü aufrufen. Sie finden dann im Attribute-Manager einen Simulation-Reiter, in dem auch die Einstellungen für die Partikel-Simulation zu finden sind.

Sie können isolierte Szenenvoreinstellungen für Ihre Simulationen nutzen, wenn Sie Simulationsszene-Objekte verwenden und darunter die jeweiligen Komponenten Ihre Simulationen eingruppieren. Schauen wir uns bezüglich der Partikel-Simulation dazu ein einfaches Beispiel an.
Nehmen wir an, Sie möchten drei Emitter in der Szene verwenden, wobei zwei davon von gleichen Effekten und Kräften beeinflusst werden sollen. Sie könnten nun mit einer Multi-Gruppe für die beiden Partikel-Gruppen der Emitter arbeiten und dort die entsprechenden Kräfte und Modifikatoren unterordnen. Eine Alternative hierzu ist jedoch, die beiden Emitter samt ihren Gruppen unter einem neuen Simulationsszene-Objekt einzuordnen. Dort können Sie dann auch direkt z. B. eine Gravitationskraft und einen Farbmapping-Modifikator einsortieren. Es werden automatisch beide Partikelsysteme davon beeinflusst.
Das verbleibende, dritte Partikelsystem mit seinem Emitter und seiner Partikel-Gruppe ordnen Sie einer zweiten Simulationsszene unter. Damit ist die Trennung komplett.

Die Trennung der Simulationen geht dabei sogar so weit, dass auch das Caching davon beeinflusst wird. Selbst wenn Sie an einer der Partikel-Gruppen in der ersten Simulationsszene das Caching für die gesamte Szene starten, werden nur die Simulationen innerhalb der Simulationsszene berücksichtigt.