Thinking Particles: Die Nodes – Thinking Particles > TP Dynamik

Tutorials 8. Februar 2016 – 0 Kommentare

Natürlich wäre es auch hilfreich, wenn Partikel auf äußere Kräfte reagieren würden. Dafür sind die folgenden Nodes gedacht.

P Abstoßen/Abprallen-Node

Thinking Particles bietet keine perfekte Kollisionserkennung zwischen Partikeln und deren Objektformen an. Wir können aber mittels dieses Nodes zumindest dafür sorgen, dass sich Partikel voneinander abstoßen können. Der perfekte Gegenspieler dieses Nodes ist der P Pass AB-Node, da Sie über diesen bereits Partikel beliebiger Gruppen ausfiltern können, die sich z. B. gefährlich nahe kommen. Wir hatten diese Funktion beim P Pass AB bereits besprochen. Sie benötigen also generell zwei Partikelströme, die Sie über die Eingänge für Partikel A und Partikel B in den Node hineinleiten. In den Parametern des Nodes finden Sie zuerst einen Prozentwert für Abstoßung. Damit ist eine Art Kraftfeld um jedes Partikel herum gemeint, der bei Werten über 0% zu einer Abstoßung der Partikel führt. Dieser Effekt ist unabhängig von der Größe, Abmessung, Masse oder Geschwindigkeit der Partikel, wirkt also überall gleich stark. Bei negativen Abstossung-Werten ziehen sich die Partikel an.

Bei Abprallen geht es um eine physikalische Simulation von Körpern die aufeinanderprallen. Hierbei werden also die Geschwindigkeit und Masse der Partikel mit ausgewertet. Treffen ein sehr leichtes und ein sehr schweres Partikel aufeinander, so wird wahrscheinlich nur das leichte in seiner Flugbahn abgelenkt. Um diesen Effekt realistisch nutzen zu können, sollten Sie zuvor also unterschiedliche Massen vergeben haben. Wir hatten dazu bereits den P Masse-Node besprochen. Ein physikalisch korrektes Verhalten wird bei einem Abprallen-Wert von 100% erzielt. Werte über 100% führen zu einer künstlichen Erhöhung der Energie an den abprallenden Partikeln. Kleinere Werte reduzieren die Energie und wirken dann, als ginge beim Zusammenstoß Geschwindigkeit verloren. Wie die Massen in die Berechnung einfließen sollen, regeln Sie über die Masse-Abhängigkeit. In der Regel können Sie hier die 100% verwenden, es sei denn, Sie möchten die vergebenen Partikel-Massen nachträglich für die Abprallen-Berechnung verringern oder erhöhen. Die Masse-Abhängigkeit ist also mehr oder weniger nur ein Multiplikator für die Partikel-Massen.

Schließlich können Sie den Energieverlust beim Zusammenprall auch noch über die Abprall-Elastizität steuern. Ein Wert von 100% steht für eine perfekte Energieerhaltung bei der Kollision. In der Realität wäre dies z. B. annäherungsweise bei zwei Metallkugeln der Fall, die aufeinandertreffen. Sobald die kollidierenden Objekte aus etwas weicheren Materialien gefertigt sind, ist mit Verformungen zu rechnen. Dabei entsteht Wärme und somit Energieverlust. Stellen Sie sich z. B. zwei Kugeln Knetmasse vor, die aufeinandertreffen.

Derartige Szenarien können mit einer Abprall-Elastizität unter 100% dargestellt werden. Der Effekt ähnelt somit einer Reduzierung des Abprallen-Werts und könnte auch als Reibung interpretiert werden. Ein perfekter Zusammenprall unter Beibehaltung aller Geschwindigkeiten und Einbeziehung der Massen erreichen Sie daher mit dem Wert 100% für Abprallen, Abprall-Elastizität und die Masse-Abhängigkeit.

Wie gewohnt finden Sie einen An-Port am Node, um dessen Funktion individuell ein- und ausschalten zu können. Ohne die Nutzung dieses Ports ist der Node bereits automatisch aktiv. Wurden Parameter am Node über Keyframes animiert, können Sie deren Zeitverhalten über das Anlegen einer eigenen Zeit über den Port für die Animations-Zeit verändern. Ansonsten verwendet der Node automatisch die normale Animationszeit von Cinema 4D.

P Bewegungs-Übernahme-Node

Mithilfe dieses Nodes lassen sich die Bewegungen eines beliebigen Objekts aus dem Objekt-Manager auf einen Partikelstrom übertragen. Denken Sie z. B. an einen sich drehenden Zylinder, durch den sich die Partikel kreisförmig, wie bei einem Strudel animieren lassen (siehe Abbildung 3.45). Das entsprechende Objekt muss zuerst aus dem Objekt-Manager in das Objekt-Feld im Dialog des Nodes hineingezogen werden. Sie legen anschließend über die Prozentwerte bei Übernahme und Rotations-Übernahme fest, welcher Bewegungsart des Objekts die Partikel folgen sollen. Übernahme steht für die Positionsveränderung des zugewiesenen Objekts. Dies bedeutet also nicht, dass die Partikel nur an der Position des Objekts erscheinen, sondern hier geht es um die Veränderung der Position. Wird das Objekt also um zehn Einheiten nach rechts verschoben, wandern die Partikel ebenfalls um diesen Betrag nach rechts. Bleibt das Objekt unbeweglich, folgen die Partikel unverändert ihren normalen Flugbahnen. Der Prozentwert bei Übernahme steht also für einen Multiplikator der Positionsveränderung. Bei 100% folgen die Partikel somit im gleichen Maße nach. Ausnahmen von dieser Regel lernen wir gleich noch kennen.

Animation in Cinema 4D - Mittels Bewegungsübernahme kann leicht ein Partikel-Strudel erzeugt werden.

Abbildung 3.45: Mittels Bewegungsübernahme kann leicht ein Partikel-Strudel erzeugt werden.

Das gleiche Prinzip finden wir bei der Rotations-Übernahme. Hiermit werden die Drehungen des Objekts auf die Partikelflugbahnen übertragen. Dreht sich das Objekt nicht, folgen die Partikel also unbeirrt ihrer normalen Flugrichtung. In Abbildung 3.45 wurde z. B. das gleiche Null-Objekt um seine Z-Achse gedreht, das auch für den P Sturm-Node benutzt wurde.
Die beiden Variation-Werte ermöglichen prozentuale Abweichungen für die Übernahme und die Rotations-Übernahme, damit nicht alle Partikel im gleichen Maß auf Veränderungen am Objekt reagieren. Über Richtungs-Variation können Sie zusätzliche Zufälligkeiten für die Flugrichtungen der mitbewegten Partikel aktivieren. Dieser Grad-Wert gibt dabei die maximal mögliche Kursänderung der Partikel an. Vermeiden Sie hier zu hohe Einstellungen. Die Partikel können ansonsten sehr stark von ihrer ursprünglichen Bewegungsrichtung abdriften und ggf. sogar in eine exakt entgegengesetzte Richtung fliegen.

Die bis hierhin zu lesenden Erläuterungen über die Übernahme von Positions- und Rotationsveränderungen betreffen nur die Typ-Einstellung Ohne, bei der alle Partikel gleich stark beeinflusst werden. Sie können jedoch auch einen Einflussbereich für das zugewiesene Objekt definieren und somit z. B. Partikel in größerer Entfernung weniger stark als nahe Partikel nachfolgen lassen. In Abbildung 3.46 wurde z. B. der Typ Kugel verwendet. Sie bekommen daraufhin eine Kugelform entsprechend der Radius-Einstellung in die Editoransichten eingeblendet. Leider scheint deren Position teilweise falsch berechnet zu werden. Bei mir stimmt deren Mittelpunkt zumindest nicht mit der Position des zugewiesenen Objekts überein. Eine Darstellung in der Zentralperspektive entfällt ganz. Lassen Sie sich davon jedoch nicht verunsichern. Die Berechnung ist dann wieder korrekt und orientiert sich an dem Radius-Gradient. Dessen Intensitäten können Sie über die Farbreiter auf dem Verlauf selbst beeinflussen. Klappen Sie dazu das kleine schwarze Dreieck vor dem Verlauf auf und selektieren Sie einen der vorhandenen Reiter unter dem Verlauf um dessen exakte Position und Intensität angezeigt zu bekommen. Zusätzliche Farbreiter lassen sich durch Klicks knapp unter den Verlauf setzen, überzählige Reiter können durch Ziehen mit der Maus nach oben oder unten entfernt werden. Der linke Rand des Gradienten steht für die Position des übernommenen Objekts, der rechte Gradient-Rand kennzeichnet die Intensität am Außenrand der kugelförmigen Abnahme. Die Abbildung 3.46 macht diesen Bezug zwischen dem Gradienten und der Kugelform durch einen überblendeten Helligkeitsverlauf in der Editordarstellung deutlich. Diesen Verlauf sehen Sie bei sich also im Editor nicht.

Animation in Cinema 4D - Kugelförmige Bewegungsübernahme

Abbildung 3.46: Kugelförmige Bewegungsübernahme

Je größer die Intensität im Verlauf ist, desto stärker folgen am entsprechenden Bereich der Abnahmekugel die Partikel nach. So können Sie in der Abbildung 3.46 bereits an den rötlich gefärbten Partikeln erkennen, dass deren Rotation in einer gewissen Entfernung hinter dem Emitter bereits abnimmt und die Partikel weiter unten wieder parallel zueinander weiterfliegen. Auffällig dabei ist, dass der Querschnitt des Partikelstroms nach der Abnahme-Kugel geringer als noch an der Emitterfläche ist. Dies liegt an den Geschwindigkeitsvektoren der Partikel, die im oberen Teil noch auf Helixbahnen gezwungen werden. Diese Geschwindigkeitsvektoren entsprechen nur geraden Linien und keinen gekrümmten Bahnen. Daher kommt es mit abnehmender Intensität der Rotationsübernahme zu einer Reduzierung der Abstände von der Rotationsachse der verbundenen Objekts.

Der dritte Modus des Typ-Menüs nennt sich Zylinder und wird diesmal auch korrekt in allen Ansichten eingezeichnet. Die Größe des Zylinders wird über den Radius und die Zylinder-Höhe vorgegeben, wobei die Zylinder-Höhe doppelt verwendet wird. Der Mittelpunkt liegt dabei immer an der Position des verbundenen Objekts. Die Ausrichtung des Zylinders erfolgt über das Menü für die Zylinder-Achse. Wählen Sie hier die Achse des verbundenen Objekts aus, entlang derer die Höhe des Zylinders orientiert sein soll. In meinem Fall war dies die Z-Achse (siehe Abbildung 3.47).

Animation in Cinema 4D - Zylindrische Bewegungsübernahme

Abbildung 3.47: Zylindrische Bewegungsübernahme

Neben dem bereits bekannten Radius-Gradient steht Ihnen jetzt auch noch ein Zylinder-Gradient zur Verfügung. Die Bedienung und Bedeutung ist bei beiden Gradienten identisch zum Typ Kugel. Mit dem Radius-Gradienten legen Sie die Abnahme der Bewegungsübernahme senkrecht zur Zylinder-Höhe fest, also auch senkrecht zur Zylinder-Achse. Der Zylinder-Gradient steht senkrecht dazu und breitet sich von der Position des verlinkten Objekts in Richtung der Zylinder-Deckflächen aus, also beidseitig entlang der Zylinder-Höhe. Der Radius-Gradient wird also mit dem Zylinder-Gradient multipliziert, um die tatsächlich auf die Partikel wirkende Intensität berechnen zu können. Die rechte Einblendung in Abbildung 3.47 macht dies sicher deutlicher. Die Scheiben stehen dort für den Radius-Gradienten, der entlang der Zylinderhöhe gleich bleibt. Der Zylinder-Gradient breitet sich von der Mitte des Zylinders zu seinen beiden Enden aus.
Schließlich gibt es noch einen Abmessung-Gradient. Dieser hat nichts mit der Größe oder Abmessung der Partikel zu tun, sondern wirkt als Kraft senkrecht zur Höhe des Zylinders. Die folgende Abbildung macht dies deutlicher.

Sie erkennen in Abbildung 3.48 die bereits zuvor genutzte Szene mit den gleichen Einstellungen wie in den Abbildungen 3.45 und 3.47. Hier wurde nur zusätzlich der Abmessung-Gradient modifiziert. Dieser arbeitet wie die anderen Gradienten auch mit Intensitätswerten. Es sind daher problemlos auch Intensitäten über 100% möglich, die jedoch im Verlauf nur weiß dargestellt werden können. Der erste Reiter wurde dort mit einer Intensität von 100% auf eine Position von 80% platziert. Der zweite Reiter liegt am rechten Rand des Gradienten und benutzt eine Intensität von 5000%. Dies reduziert sich automatisch durch den Zylinder-Gradient, der weiterhin wirkt.

Animation in Cinema 4D - Wirkung des Abmessung-Gradienten

Abbildung 3.48: Wirkung des Abmessung-Gradienten

Je größer die Intensität im Abmessung-Gradienten ist, desto stärker werden die Partikel in Richtung der äußeren Zylinder-Mantelfläche gedrückt. Daher erkennen wir nun auch, dass sich der Partikelstrom am unteren Ende noch einmal aufweitet. Intensitäten unter 100% ziehen die Partikel stärker auf die Rotationsachse des Zylinders zu. Da der Partikelstrom bei einer Rotations-Übernahme mit gleichzeitiger Intensitätsabnahme über den Zylinder-Gradienten sowieso zur Einschnürung neigt, bilden sich aber auch bereits ohne den Abmessung-Gradient Strudel im Partikelstrom. Mit Intensitäten über 100% beim Abmessung-Gradient können Sie diesem Effekt daher entgegenwirken, oder die Einschnürung mit Intensitäten unter 100% noch verstärken.
Der Geschwindigkeitsbetrag in Richtung der Original Partikelflugbahn bleibt durch den Abmessung-Gradienten und die Rotations-Übernahme konstant, sofern der Abnahme-Zylinder richtig ausgerichtet wurde und sich die Partikel parallel zu seiner Höhe bewegen. Es können nur zusätzliche Geschwindigkeitsvektoren senkrecht dazu hinzukommen, über die die Partikel zusätzlich nach außen oder innen verschoben werden. Um bei dem Beispiel der Abbildung 3.48 zu bleiben, kommen die Partikel also mit oder ohne modifizierten Abmessung-Gradienten zur gleichen Zeit am unteren Ende des Zylinders an.

Wie üblich steht auch an diesem Node ein An-Port zur Verfügung, über den Sie die Übernahme-Funktion individuell ein- oder ausschalten können. Wird dieser Port nicht benutzt, ist der Node automatisch aktiv. Sind Parameter am Node über Keyframes animiert worden, können Sie optional eine eigene Zeit an den Port für die Animation-Zeit anlegen. Ansonsten wird automatisch die normale Animationszeit von Cinema 4D benutzt.

P Blubbern-Node

Mit Blubberblasen hat dieser Node nur ganz entfernt zu tun. Vielmehr zwingt er die Partikel auf eine Sinusschwingung, die bekanntlich an das Auf und Ab von Wellen erinnert. Vielleicht deshalb der Name. Der Wert für die Amplitude legt die senkrechte Distanz fest, mit der sich die Partikel während der Schwingung maximal von ihrer ursprünglichen Bewegungsrichtung entfernen. Die Geschwindigkeit bezieht sich dabei nicht auf die Geschwindigkeit der Partikel, sondern auf die Abstände zwischen den Wellenbergen und –tälern, also praktisch die Frequenz der Sinusschwingung. Je größer die Geschwindigkeit ist desto hektischer und in kürzeren Zeitabständen schwingen die Partikel auf und ab. Was dabei herauskommen kann sehen Sie auf der linken Seite der Abbildung 3.49. Dort wurden die Flugbahnen der Partikel mithilfe des Tracer-Objekts aus dem MoGraph-Menü nachgezeichnet, um die Flugbahnen hervorzuheben. Wir kommen auf diese Funktion später noch zurück.

Animation in Cinema 4D - P Blubbern-Varianten

Abbildung 3.49: P Blubbern-Varianten

Wie Sie erkennen können, wird die Richtung der Schwingung individuell pro Partikel variiert. Standardmäßig beginnt die Schwingung jedes Partikels jedoch gleich. Es kommt daher in diesem Fall erst zu einer Aufweitung und dann zu einer Einengung des gesamten Partikelstroms. Wenn Sie diese Gleichmäßigkeit vermeiden möchten, können Sie z. B. die Phasen-Variation benutzen. Deren Effekt ist auf der rechten Seite der Abbildung 3.49 zu beobachten. Dort wurde eine Phasen-Variation von 360° verwendet. Die übrigen Parameter wurden wie auf der linken Abbildungsseite belassen. Wie Sie erkennen können, startet jedes Partikel nun an einer anderen Stelle der Sinusschwingung. Dieser Versatz führt zu einem chaotisch wirkenden Partikelstrom, der aber dennoch vom Durchmesser her innerhalb der Amplitude-Vorgaben bleibt. Zusätzliche Variation-Werte für die Amplitude und die Geschwindigkeit stehen ebenfalls noch zur Verfügung, um diese Eigenschaften innerhalb des Partikelstroms zu variieren. Die Variation wird jedoch nur ein Mal für jedes Partikel berechnet und dann nicht mehr verändert.

Neben dem natürlich immer vorhandenen Eingang-Port für die zu beeinflussenden Partikel finden Sie auch hier wieder einen An-Port, über den Sie den Node manuell ein- und ausschalten können. Zum Einschalten reicht ein TRUE-Signal bzw. 1 aus. Ausschalten können Sie P Blubbern durch das Anschließen von FALSE bzw. 0. Wird der An-Port nicht benutzt, ist der Node automatisch aktiv. Auch der Animations-Zeit-Port ist bereits hinlänglich bekannt und kann zur Beeinflussung von über Keyframes animierte Parameter benutzt werden. Ohne diesen Port nutzt der Node automatisch die normale Animationszeit.

P Einfrieren-Node

Dieser Node kann interessant werden, wenn Sie die Bewegung der Partikel kurzfristig verlangsamen oder gar ganz zum Stillstand bringen möchten. Die ursprüngliche Geschwindigkeit und Flugrichtung kann dabei durch das Abschalten dieser Funktion jederzeit wieder hergestellt werden. Die Intensität des Verlangsamens steuern Sie über den Einfrieren-Parameter. Bei 0% fliegen die Partikel normal weiter, bei 100% bleiben Sie bewegungslos stehen. Zwischenwerte führen zu einer entsprechenden Abbremsung der Partikel. Wer mag, kann diesen Effekt durch die Variation zufällig auf die Partikel wirken lassen.

Das Abbremsen oder Festhalten durch den Einfrieren-Wert kann zudem an die Lebensphase der Partikel gekoppelt werden. So lassen sich Partikel am Ende ihrer Lebenszeit z. B. automatisch verlangsamen. Aktivieren Sie hierfür die Altersabhängig-Option und konfigurieren Sie den Alters-Gradient entsprechend Ihren Vorstellungen. Dessen Reiter verwenden Intensität-Werte, die Sie nach einem Klick auf das kleine Dreieck vor dem Verlauf einsehen können. Der Gradient bildet dabei von links nach rechts gelesen die Lebensspanne der Partikel ab. Links liegt also die Geburt und rechts der Tod der Partikel. Liegt links ein Reiter mit 0% Intensität und rechts einer mit 100% Intensität, werden die eingeleiteten Partikel zum Ende ihrer normalen Lebenszeit hin entsprechend der Einfrieren-Vorgabe immer stärker abgebremst. Die Intensität ist also ein Multiplikator für das Einfrieren. Die Abbildung 3.50 gibt ein dazu passendes Beispiel. An den immer kürzer werdenden Strichen auf der rechten Seite erkennen Sie, wie die Partikel kontinuierlich abgebremst werden und durch den Einfrieren-Wert 100% schließlich ganz zum Stillstand kommen. Wie bei solchen Verläufen üblich, lassen sich zusätzliche Reiter durch einen Klick knapp unter den Verlauf erstellen. Überzählige Reiter können per Drag&Drop mit der Maus nach oben oder unten aus dem Verlauf gezogen werden. Beachten Sie, dass die Lebenszeit der Partikel in der Regel durch den Emitter vorgegeben wird und die Lebensphase nicht erst mit dem Einleiten der Partikel in den P Einfrieren-Node beginnt.

Animation in Cinema 4D - Einfrieren von Partikeln am Ende ihrer Lebenszeit

Abbildung 3.50: Einfrieren von Partikeln am Ende ihrer Lebenszeit

Die Funktion des Nodes kann optional über einen An-Port ein- und ausgeschaltet werden. Ohne diesen Port ist der P Einfrieren-Node bereits automatisch aktiv. Haben Sie Parameter am Node über Keyframes animiert, wird dies automatisch auf die normale Animationszeit von Cinema 4D bezogen. Sie können aber auch eine eigene Zeitrechnung über den Animation-Zeit-Port einleiten.

P Geschwindigkeit-Node

Wir haben bereits an mehreren Stellen etwas über die Geschwindigkeit der Partikel erfahren. Diese besteht bekanntlich aus einer Richtung und einem Betrag. Diese beiden Eigenschaften lassen sich nun auch gemeinsam oder getrennt voneinander konfigurieren und an die Partikel zurückschreiben. Wir hatten bereits eine ähnliche Möglichkeit beim P Daten setzen-Node gefunden, aber mit P Geschwindigkeit geht es noch komfortabler.

Nachdem Sie die zu beeinflussenden Partikel an den Partikel-Eingang angeschlossen haben, wählen Sie über das Verändere-Menü des Nodes aus, welche Eigenschaft Sie verändern möchten. Zur Wahl stehen Geschwindigkeit, Richtung sowie Geschwindigkeit&Richtung, wobei Geschwindigkeit nur für den Betrag der eigentlichen Geschwindigkeit steht.

Bei der Auswahl von Verändere Geschwindigkeit steht daher auch nur ein Geschwindigkeit-Eingabefeld zur Verfügung, in dem Sie die gewünschte Geschwindigkeit eintragen können. Ein Variation-Wert ermöglicht es, diesen Wert mit einer zufälligen Abweichung auf die Partikel zu verteilen. Zusätzlich müssen Sie angeben, wie diese neue Vorgabe zu handhaben ist. Dazu treffen Sie eine Auswahl im Berechnung-Menü des Nodes. Bei Ersetzen wird die eingestellte Geschwindigkeit schlagartig verwendet und überschreibt praktisch nur die vorhandenen Werte der Partikel. Bei Berechnung Multiplizieren wird die eingetragene Geschwindigkeit mit der vorhandenen multipliziert. Hierbei sollten Sie also nur kleine Geschwindigkeit-Werte knapp über 1 verwenden, damit die Partikel nicht zu stark beschleunigen. Leider ist das Multiplizieren der Geschwindigkeit in meiner Cinema 4D-Version fehlerhaft. Scheinbar wird keine korrekte Umrechnung des ursprünglichen Geschwindigkeit-Vektors zu einem Betragswert durchgeführt. Ich kann jedenfalls bei mir eine Veränderung der Flugrichtung beobachten, die nicht resultieren dürfe. Weichen Sie daher bei Bedarf auf Berechnung Addieren aus. Dieser Modus funktioniert wieder korrekt und addiert die Geschwindigkeit aus dem Node bei jeder Berechnung des Nodes auf die vorhandene Geschwindigkeit der Partikel auf.

Da sowohl die Multiplikation als auch das Addieren standardmäßig bei jeder Neuberechnung des Nodes erfolgen, können 25 bis 30 Erhöhungsschritte pro Sekunde der Animation resultieren. Dies ist abhängig von der von Ihnen verwendeten Bilderrate. Um ein dermaßen schnelles Ansteigen der Geschwindigkeit zu vermeiden, aktivieren Sie die Option Pro Sekunde. Die Erhöhungsschritte werden dann automatisch so reduziert, dass z. B. nur der fünfundzwanzigste oder dreißigste Teil Ihrer Vorgabe pro Animationsbild verwendet wird. Bei der Berechnung Ersetzen hat diese Option keine Wirkung, da nur die vorhandenen Werte ausgetauscht und nicht kontinuierlich angepasst werden. Die folgende Abbildung 3.51 gibt Ihnen eine Idee von der Wirkweise der addierenden Geschwindigkeit. Dort wurden Partikel mit einer Geschwindigkeit von zehn von einem P Sturm-Node erzeugt und dann über einen P Pass-Node direkt an einen P Geschwindigkeit-Node geleitet. Dieser addiert pro Sekunde eine Geschwindigkeit von 100, was an den Partikeln zu der sichtbaren Längenzunahme führt.

Animation in Cinema 4D - Geschwindigkeitszunahme durch Addition in einem P Geschwindigkeit-Node

Abbildung 3.51: Geschwindigkeitszunahme durch Addition in einem P Geschwindigkeit-Node

Kommen wir nun also zum zweiten Verändere-Modus, der Richtung. Hierbei bleibt also der Betrag der Geschwindigkeit gleich, nur die Flugrichtung verändert sich. Soweit die Theorie. Leider funktionieren hier die Berechnung-Modi Addieren und Multiplizieren nicht korrekt. Sie führen ebenfalls zu einer Beeinflussung des Geschwindigkeitsbetrags, was ja eigentlich nicht sein dürfte. Hier würde ich Ihnen daher generell Berechnung Ersetzen empfehlen oder eingeschränkt noch das Addieren, sofern Sie nur einen kurzen Richtung-Vektor verwenden. Die Richtung wird also die neue Flugrichtung der Partikel. Dabei geben Sie diesen Vektor in globalen Koordinaten an. Eine Vorgabe für Richtung von 0, 1, 0 führt also immer dazu, dass die Partikel senkrecht nach oben fliegen. Im Berechnung-Modus Addieren kann diese Richtungsänderung mit einem gewissen Übergang gestaltet werden, weil die Richtung nicht einfach ausgetauscht wird. Für etwas Abwechslung sorgt zudem ein Variation-Parameter, über den Sie als Grad-Winkel eine maximale Abweichung der Flugbahnen von der Richtung angeben können. Die Einstellmöglichkeiten des Berechnung-Menüs und der Pro Sekunde-Option entsprechen ansonsten, bis auf die genannten Einschränkungen, denen des Geschwindigkeit-Modus.

Es ist interessant zu sehen, dass die aufgezählten Probleme beim Addieren durch die Auswahl von Verändere Geschwindigkeit&Richtung keine Rolle mehr zu spielen scheinen. Hier funktioniert alles wie erwartet, sodass ich Ihnen bis zum einem Bugfix zu diesem Modus raten würde. Bei Geschwindigkeit&Richtung können beide Aspekte der Geschwindigkeit gleichzeitig vorgegeben werden. Die Eingabemaske und die verfügbaren Parameter sind daher die gleichen, wie bei den vorgenannten Modi. Richtung gibt die Flugrichtung und Geschwindigkeit den Betrag der Fluggeschwindigkeit an. Die beiden Variationswerte können für zufällig wirkende Abweichungen benutzt werden, damit nicht alle Partikel gleich schnell und in die gleiche Richtung unterwegs sind. Bei Berechnung Ersetzen werden Flugrichtung und Geschwindigkeit absolut und sofort verändert, bei Berechnung Addieren können sich Richtung und Geschwindigkeit über einen Zeitraum hinweg langsam aufbauen. Berechnung Multiplizieren funktioniert auch in diesem Verändere-Modus nicht korrekt.

Wie üblich steht ein An-Port zum Ein- und Ausschalten der Node-Funktionen zur Verfügung.

P Geschwindigkeit ist aber bereits ohne Nutzung dieses Ports aktiv. Sind Parameter des Nodes über Keyframes animiert worden, kann deren Zeitverhalten durch Einleiten einer eigenen Zeit am Port für Animations-Zeit verändert werden. Wird dieser Port nicht benutzt, verhalten sich die animierten Werte normal und im Einklang mit der Zeitleiste von Cinema 4D.

P Gravitation-Node

Gravitation entsteht durch Massenanziehung und dürfte uns allen als Erdanziehung bekannt sein. Durch diese Kraft werden Objekte auf den Schwerpunkt benachbarter Massen zu beschleunigt. Dabei unterliegt diese Kraft auch einer Abnahmekurve, die der von Licht entspricht. Wir sprechen hier von einer invers quadratischen Abnahme. Die Anziehungskraft lässt also mit zunehmendem Abstand der Objekte voneinander ab. Sind die Größenverhältnisse der Objekte derart unterschiedlich, wie z. B. bei einem Menschen und der Erde, so werden wir von dieser Abnahme der Anziehungskraft kaum etwas merken, egal ob wir z. B. auf einen Berg steigen oder uns in einem Tal befinden. Hundert Kilometer außerhalb der Erde sieht dies jedoch schon anders aus. Um ein natürliches Verhalten von Objekten in einem Schwerefeld zu simulieren ist eine simulierte Gravitationskraft sehr hilfreich und exakt hier spring der P Gravitation-Node in die Bresche. Er erzeugt eine Gravitationskraft auf die eingeleiteten Partikel und lenkt dadurch ihre Flugbahn ab. Bei normal orientierten Szenen wird diese Kraft zu einer Fallbewegung, also zu einer Verschiebung der Flugrichtung nach unten führen. Im Prinzip kann jedoch jede beliebige Richtung für die Gravitation benutzt werden, denn P Gravitation benötigt ein Objekt von uns. Dafür reicht ein einfaches Null-Objekt in Ihrer Szene aus, das Sie per Drag&Drop aus dem Objekt-Manager in das Objekt-Feld des Nodes ziehen. Die Z-Achse am Achsensystem dieses Objekts gibt danach die Richtung der Gravitation vor.

Ob dabei die Position des Gravitation-Objekts eine Rolle spielt, hängt vom Typ-Menü und der Abnahme-Einstellung im P Gravitation-Node ab. Beim Typ Fläche wirkt die Gravitation parallel zur Z-Achse des Objekts. Beim Typ Kugel hingegen weist die Gravitation strahlenförmig auf die Position des zugewiesenen Objekts. Dies wäre theoretisch für die Simulation der Erdanziehung der richtige Modus, aber dann müsste das Gravitationsobjekt auch entsprechend weit von den Partikeln entfernt werden, was natürlich unpraktisch ist. Als kleine Hilfestellung bekommen wir in den Editoransichten einen Pfeil eingezeichnet, der zumindest beim Typ Fläche die Richtung der wirkenden Gravitationskraft anzeigt. Beim Typ Kugel erscheint eine stilisierte Kugel an der Position des Gravitation-Objekts. Die Icon-Größe dieser Darstellungen kann unter dem Node-Reiter im Attribute-Manager editiert werden. Die Größe des Pfeils oder der Kugel haben somit nichts mit der Intensität der wirkenden Kraft zu tun. Diese Intensität wird ausschließlich über den Stärke-Wert des Nodes gesteuert. Die Erdanziehung beträgt im Mittel 9.81 Meter pro Sekunde zum Quadrat.

Ganz so eindeutig ist die Stärke nicht, aber das liegt ja ganz in Ihren Händen. Wenn Sie z. B. die Standard-Stärke 100 einfach als Zentimeter pro Sekunde zum Quadrat interpretieren, so müssten Sie nur alle anderen Geschwindigkeiten Ihrer Partikel im gleichen Maßstab rechnen und vergeben, um ein natürliches Verhalten der Partikel zu erhalten. In der Praxis ist dies jedoch oftmals gar nicht so kritisch, denn da spielen ja vorrangig optische Gesichtspunkte eine Rolle. Wir passen dann oftmals diese Werte einfach so lange an, bis uns die Flugbahn der Partikel gefällt. Gleiches gilt für den Parameter Abnahme.

Aus den bereits oben genannten Gründen nimmt die Gravitation im großen Maßstab betrachtet natürlich mit der Distanz zwischen den Objekten ab. Sie können dies mit Abnahme-Werten über Null simulieren. Je größer dieser Wert ist, desto kürzer wird die Reichweite der Gravitation. Eine Abnahme von Null deaktiviert die Reduzierung der Gravitation. Sie ist dann also gleich stark in der gesamten Szene vorhanden.

Haben Sie individuelle Massen oder Größen an die Partikel vergeben, können Sie deren Einfluss ebenfalls auf die Gravitation wirken lassen. Grundsätzlich fällt ein schweres Objekt genauso schnell wie ein leichtes, sofern der Luftwiederstand aus der Gleichung genommen werden kann. Was sich jedoch bei einem schweren Objekt verändert, ist die Trägheit, also der Widerstand gegen Richtungsveränderungen. Ein schweres Objekt, das entlang der Welt-Z-Achse fliegt wird sich daher erst später im Kraftfeld der Gravitation nach unten bewegen als ein leichtes Objekt, das die gleiche Geschwindigkeit und Flugrichtung hat. Der Einfluss von Masse und Größe kann prozentual über die Parameter für Massenabhängigkeit und Größenabhängigkeit geregelt werden.

Besonders beim Typ Kugel ist es für Sie vielleicht interessant zu wissen, dass die Stärke natürlich auch negativ eingesetzt werden kann. Die Partikel werden dann praktisch vom Zentrum des Gravitationsobjekts weggedrückt, so wie es die Abbildung 3.52 zeigt.

Animation in Cinema 4D - Wirken einer kugelförmigen Gravitation

Abbildung 3.52: Wirken einer kugelförmigen Gravitation

Dort wurde ein P Sturm-Emitter benutzt, dessen Partikel über einen P Pass-Node direkt in den P Gravitation-Node geleitet wurden. Je nach Abnahme-Einstellung werden die Partikel bei negativer Stärke nur leicht vom Gravitationsobjekt abgelenkt oder sogar vollständig am Durchflug gehindert. Wären die Partikel schwerer, hätten also bei Nutzung von Massenabhängigkeit eine größere Masse, würden sie weniger stark abgelenkt. In der Abbildung wurden die Flugbahnen der Partikel durch ein Tracer-Objekt aus dem MoGraph-Menü nachgezeichnet. Mehr dazu im Abschnitt zu MoGraph.

Wie üblich finden wir auch an diesem Node einen An-Port, über den sich das Gravitationsfeld beliebig an- und ausschalten lässt. Auch ohne einen Anschluss an diesem Port ist der Node jedoch bereits aktiv. Auch die Animations-Zeit kennen wir bereits. Sind Einstellungen des Nodes über Keyframes animiert, wird automatisch die normale Animationszeit der Zeitleiste benutzt. Sie können jedoch auch eine eigene Zeit an diesem Port anschließen und damit das Auslesen der Keyframes dieser Werte z. B. beschleunigen oder verlangsamen.

P Position folgen-Node

Mithilfe dieses Nodes können Sie eine Anziehungskraft zwischen den Partikeln und einer beliebigen Position im Raum simulieren. Der Effekt kann also ganz ähnlich wirken, wie die Gravitation, wird jedoch häufig mit einem animierten Objekt gesteuert, auf dessen Position die Partikel zufliegen sollen. Das Typ-Menü des Nodes hält dafür zwei verschiedene Modi parat.

Beim Typ Konstante Geschwindigkeit wird nur die Flugrichtung der Partikel so aktualisiert, dass sich diese auf die Ziel-Position zu bewegen. Die Ziel-Position kann als globale Position direkt in den Dialog des Nodes eingetragen werden. Oft praktischer ist jedoch die Nutzung des gleichnamigen Eingang-Ports am Node, um dort die globale Position eines beliebigen Objekts nutzen zu können. Dies ermöglicht Ihnen, durch die separate Animation dieses Objekts ein variables Ziel für die Bewegungsrichtung der Partikel zu erstellen. Wie Konstante Geschwindigkeit schon andeutet, kann bei diesem Parameter der gewünschte Betrag für die Partikel-Geschwindigkeit eingetragen werden. In der Regel werden Sie hier die ursprüngliche Geschwindigkeit verwenden, die die Partikel bei Ihrer Erstellung z. B. über einen P Sturm-Node erhalten haben. Ansonsten ließe sich die aktuelle Geschwindigkeit auch über einen P Daten lesen-Node in Erfahrung bringen, den wir etwas später noch besprechen werden.

Die Abbildung 3.53 zeigt ein Beispiel, wie dies in der Praxis aussehen könnte. Dort wurde ein Null-Objekt über eine Auf Spline Ausrichten-Expression auf einem Blume-Spline animiert. Per P Quelle-Node werden Thinking Particles erzeugt, die gleich bei ihrer Geburt auf die zu diesem Zeitpunkt aktuelle Position des Ziel-Null-Objekts geschossen werden. Wie in der linken Hälfte der Abbildung zu erkennen, zeichnen die Flugbahnen daher die bereits abgefahrene Form der Blume nach. Da die Partikel nur bei Ihrer Geburt durch den P Position Folgen-Node beeinflusst werden, bleibt deren Flugbahn später auch für andere Richtungsänderungen und Kräfte anfällig.

Animation in Cinema 4D - Die Partikel folgen einem animierten Null-Objekt.

Abbildung 3.53: Die Partikel folgen einem animierten Null-Objekt.

Ein weiterer Modus verbirgt sich hinter dem Typ Feder. Auch hier wird die Flugrichtung der Partikel durch eine Ziel-Position beeinflusst, der Betrag der Geschwindigkeit ist dabei jedoch abhängig von dem Wert für die Feder-Schnelligkeit. Je größer Feder-Schnelligkeit ist, desto schneller erreichen die Partikel die Ziel-Position. Dies geht so weit, dass bei einer Feder-Schnelligkeit von 100% die Partikel im nächsten Animationsbild praktisch sofort an der Ziel-Position ankommen. Dort ist jedoch nicht Schluss mit der Beeinflussung der Partikel, denn diese große Geschwindigkeit bleibt erst einmal erhalten. Die Partikel werden daher u. U. sehr stark beschleunigt und verschwinden ggf. im Niemandsland des 3D-Raums. Experimentieren Sie daher vorsichtig mit diesem Parameter und starten Sie zuerst mit kleinen Werten. Bei einer Feder-Schnelligkeit von 0% werden die in den Node geleiteten Partikel übrigens gar nicht mehr von der Ziel-Position beeinflusst. Recht praktisch, um den Effekt auch kurzfristig zu deaktivieren.

Wie bei Thinking Particles-Nodes üblich, kann die Funktion des Nodes auch über den An-Eingangs-Port ein- oder ausgeschaltet werden. Wenn Sie diesen Port nicht benutzten, ist der Node jedoch bereits aktiv. Sofern Sie bei den Parametern des Nodes Keyframes benutzen, kann deren Zeitverhalten auch über eine eigene Animations-Zeit gesteuert werden. Sofern Sie diese Funktion nicht benötigen, lassen Sie einfach den Eingang dafür unbenutzt. Der Node verwendet dann automatisch die normale Animationszeit von Cinema 4D und dessen Zeitleiste.

P Reflektor-Node

Interessant werden die Bewegungen von Partikeln natürlich immer dann, wenn diese mit anderen Objekten kollidieren können. Diese Funktion lässt sich im Standard-Partikelsystem von Cinema 4D nur über einen ebenen Reflektor simulieren. Thinking Particles ermöglicht jedoch auch die Nutzung komplexer Geometrien. Sie finden dazu im P Reflektor-Node einen Objekt-Link, über den Sie ein Polygon-Objekt zuweisen können. Grundobjekte lassen sich zwar auch per Drag&Drop aus dem Objekt-Manager in dieses Feld ziehen, für diese werden jedoch keine Kollisionen berechnet. Je nach Polygon-Anzahl dieses Objekts kann eine Überprüfung auf Kollision mit den eingeleiteten Partikeln naturgemäß recht aufwendig sein. Über das Menü Reflektor Typ stehen daher mehrere Optionen zur Wahl, wie nun auf Kollisionen geprüft werden soll. Bei Quader wird die Form des zugewiesenen Objekts durch einen simplen Quader abstrahiert (siehe auch Abbildung 3.54).

Animation in Cinema 4D - Vereinfachte Kollisionsformen

Abbildung 3.54: Vereinfachte Kollisionsformen

Dessen Abmessungen geben Sie über die Felder X-Größe, Y-Größe und Z-Größe vor. Der Mittelpunkt dieses Quaders liegt dabei auf der Position des Achsensystems am Objekt. Beim Reflektor Typ Kugel kann nach dem gleichen Prinzip eine einfache Kugel mit dem gewünschten Radius die Form des zugewiesenen Objekts für die Kollisionsberechnung darstellen. Auch hierbei wird wieder die Position des Objekts als Mittelpunkt der Kugel verwendet. Die Abbildung 3.54 zeigt Ihnen, dass die Wahl dieser beiden Modi auch zu einer symbolhaften Einblendung eines Quaders bzw. einer Kugel in den Editoransichten führt. Wichtig für die Funktion ist bei der in der Abbildung verwendeten Anordnung des Emitters innerhalb der Reflektor-Form die Einstellung im Kollisionstyp-Menü wir kommen gleich noch darauf zurück.

Sehr viel aufwendiger arbeitet der Reflektor Typ Objekt. Hierbei werden tatsächlich alle Polygone des Objekts auf Kollision mit den Partikeln überprüft. Es macht daher in diesem Modus eventuell Sinn, diejenigen Polygone an dem zugewiesenen Objekt zu löschen, die z. B. auf der Rückseite des Objekts oder weit außerhalb des Auftreffbereichs der Partikel liegen. Beachten Sie, dass in diesem Modus nur die Mittelpunkte der Partikel auf Kollision überprüft werden. Die den Partikeln zugewiesene Objektform spielt also keine Rolle. Wenn Ihnen diese Überprüfung der Partikelform wichtig ist, müssen Sie den letzten verfügbaren Modus im Reflektor Typ-Menü benutzen. Nur beim Modus Geometrie werden sowohl das zugewiesenen Objekt als auch die Form der Partikel für die Überprüfung auf Kollision berücksichtig. Beachten Sie jedoch auch hierbei, dass sowohl das zugewiesene Objekt, als auch die Objektform der Partikel aus Polygon-Objekten bestehen müssen! Bei der Nutzung z. B. eines Kugel- oder Würfel-Grundobjekts als Partikelform kann in diesem Modus also keine Kollision berechnet werden. Beachten Sie auch, dass im Modus Geometrie keine Kollision zwischen den Partikeln berechnet wird, sondern nur zwischen den Partikelformen und der Oberfläche des zugewiesenen Objekts.

Mit der Einstellung für den Kollisionstyp legen Sie fest, welche Polygonseite am gewählten Reflektor Typ überhaupt auf Kollisionen überprüft werden soll. Dafür wird generell die Richtung der Oberflächen-Normalen an dem zugewiesenen Objekt ausgewertet. Bei den Reflektor Typen Quader und Kugel stehen die simulierten Normalen automatisch nach außen. Um also die Partikel innerhalb der Quader- oder Kugelform zu halten, müsste der Kollisionstyp Hinten gewählt werden. Auf diese Weise ließen sich z. B. auch Partikel von außen in den Quader oder die Kugel schießen, die dann aber nicht wieder aus diesen Formen herausfliegen können. Den gegenteiligen Effekt hätte der Kollisionstyp Vorne. Die Partikel könnten von außen nicht länger in die gewählten Formen oder in das Objekt eindringen. Partikel, die bereits im Inneren umherfliegen, können diese Barriere aber problemlos verlassen. Nur beim Kollisionstyp Beide Seiten ist für Partikel kein Durchkommen mehr, egal von welcher Richtung aus diese auf den Reflektor treffen. Dabei kann es jedoch in Verbindung mit dem Reflektor Typ Geometrie zu einem teilweise unerwünschten Phänomen kommen, nämlich dass die Partikel auf der Oberfläche des kollidierenden Objekts kleben bleiben. Dies hat mit der Rechengenauigkeit und Abtastrate der Partikel zu tun. So kann es sein, dass eine Kollision mit der Vorderseite einer Fläche ein Animationsbild zu spät erkannt wird. Der Partikel befindet sich dann praktisch schon hinter dieser Fläche, wenn der Gegenimpuls des Abprallens berechnet wird. Das Partikel wird also gestoppt und in die Gegenrichtung seiner ursprünglichen Bewegung verschoben. Dabei trifft er erneut auf die kollidierende Fläche, diesmal nur von der Rückseite her und kollidiert hier erneut. In einigen meiner Tests wurden die Partikel dadurch praktisch von der Oberfläche des kollidierenden Objekts eingefangen und blieben darauf unbeweglich liegen.

Das kann natürlich auch gewünscht sein, ließe sich jedoch einfacher auf anderem Wege erzielen. Die Abbildung 3.55 zeigt so eine Situation.

Animation in Cinema 4D - Einfangen von Partikeln auf einem kollidierenden Objekt

Abbildung 3.55: Einfangen von Partikeln auf einem kollidierenden Objekt

Generell sollten Sie von dem Reflektor Typ Geometrie keine allzu hohe Genauigkeit erwarten. Auch in diesem Modus wird es zu Durchdringungen zwischen den Partikeln und dem Reflektor-Objekt kommen, bevor die Partikel davon abprallen.

Um Berührungen oder gar Durchdringungen daher noch früher erkennen zu können, lässt sich das Reflektor-Objekt mit einer vergrößerten Schutzhülle umgeben, deren Größe Sie über den Abstandstyp definieren. Bei Keiner wird der Abstand der Kollisionsberechnung nicht beeinflusst. Die Modi Partikel-Größe X, Partikel-Größe Y und Partikel-Größe Z greifen auf die Größe der Partikel entlang der entsprechenden Achsrichtung des Partikels zurück. Diese Achslänge kann mit einem separaten Abstand-Wert multipliziert werden, um den Sicherheitsabstand für Kollisionen zu erhöhen. Noch praktischer ist der Modus Partikel-Größe in Flugrichtung, da Sie sich hierbei keine Gedanken mehr über die Ausrichtung des Partikel-Achsensystems machen müssen. Es wird schlicht eine interpolierte Größe in der aktuellen Flugrichtung des Partikels errechnet. Haben Sie die Größe der Partikel nicht verändert, beträgt diese automatisch 100% entlang jeder Achse. Mit einem Abstand-Wert von 1 multipliziert ergibt dies exakt die Außenhülle eines kugelförmigen Partikels mit dem Radius, den Sie über die Abmessung z. B. im Emitter angegeben haben. Für runde oder zumindest elliptische Partikelformen ist dies eine sehr gute Lösung. In meinen Tests waren die Ergebnisse in Kombination mit dem Reflektor Typ Objekt durchweg exakter als mit dem Reflektor Typ Geometrie. Letzterer scheint eine Veränderung des Abstandstyps vollständig zu ignorieren, bzw. ganz anders zu interpretieren. Die Partikel verschwinden bei der Verwendung etwas größerer Abstand-Werte plötzlich und tauchen an anderer Stelle vor oder hinter dem Reflektor-Objekt wieder auf. Der Reflektor Typ Objekt ist in dieser Hinsicht vorhersehbarer.

Animation in Cinema 4D - Verbesserung der Kollisionserkennung über den Abstandstyp

Abbildung 3.56: Verbesserung der Kollisionserkennung über den Abstandstyp

Die obige Abbildung 3.56 zeigt daher den Reflektor Typ Objekt in Verbindung mit einem weißen Ring-Objekt, in dessen Mitte ein Emitter die roten Partikel-Kugeln in Richtung der Innenseite des Rings ausstößt. Dank Partikel-Größe in Flugrichtung gibt es keine Durchdringungen der Partikel mit dem Ring mehr. Achten Sie einfach darauf, dass Abstand hier nur ein Multiplikator für die Größe der Partikel und kein absoluter Abstandswert ist. Anders in den folgenden Abstandstyp-Modi.

Eigener X-Abstand, Eigener Y-Abstand, Eigener Z-Abstand bzw. Eigener Abstand in Flugrichtung entkoppeln die Abmessung oder Größe der Partikel und deren Formen von der Kollisionsberechnung. Sie geben hier einfach einen eigenen Abstand-Wert vor, der um die Position jedes Partikels herum überprüft werden soll. Auch hier dürfte Eigener Abstand in Flugrichtung wieder der sinnvollste der vier Modi sein, denn wir müssen uns hierbei keine Gedanken um die Lage der Partikelachsen machen. Zudem ändert sich die Flugrichtung der Partikel ja häufig. Wir sind dann mit dieser Einstellung immer auf der richtigen Seite. In der Praxis wirkt dieser Modus wie eine kugelförmige Überprüfung um die Partikel herum. Einziger Nachteil an diesem Modus ist, dass alle Partikel den gleichen Kollisionsradius bzw. Abstand-Wert benutzen müssen, denn eine individuelle Variation, wie zuvor über die Größe der Partikelachsen ist hier nicht möglich.

Nun ja, ganz stimmt dies nicht, denn der Variation-Prozentwert direkt unter dem Abstand bietet uns schon eine Möglichkeit zur Variation des Abstands, aber dies hat dann nichts mit den Objektformen oder Partikelgrößen zu tun. Es kann dann lediglich dazu kommen, dass Partikel z. B. bereits vor dem Erreichen der reflektierenden Oberfläche abprallen oder sogar etwas in das Objekt eindringen, bevor sie weder zurückgeworfen werden. Dies könnte eventuell für Wassertropfen interessant sein, die in einen Wassereimer fallen. Die Tropfen würden dann erst eintauchen und schließlich wieder nach oben geschleudert werden. Bei harten und nicht verformbaren Objekten wird jedoch das Abprallen direkt an der Kollisionsstelle sinnvoller sein.
Damit ist die Kollisionserkennung am Objekt abgehandelt. Die folgenden Parameter beschäftigen sich hauptsächlich mit der Energie der kollidierenden Objekte, denn wie bereits beim P Abstossen/Abprallen-Node gesehen, kann diese unterschiedlich genutzt werden.

Treffen harte Objekte aufeinander, werden die Energien nahezu verlustfrei weitergegeben. Sie kennen dies von Billardkugeln. Je weicher und verformbarer die Objekte werden, desto mehr Energie geht beim Aufprall verloren. Nun ja, die Energie geht natürlich nicht wirklich verloren, aber sie wird zumindest nicht in Bewegungsenergie umgesetzt, sondern z. B. in plastische Verformungen und Wärme. Der Wert für Abprallen ist eine dieser Stellschrauben, mit denen Sie indirekt die Festigkeit der Objekte beschreiben können und somit auch die Geschwindigkeit der Partikel nach dem Aufprall. Der Reflektor bleibt schließlich in jedem Fall unbeweglich.

Bei 100% Abprallen wird die gesamte Energie der auftreffenden Partikel umgelenkt. Es ändert sich daher nach der Kollision nur die Flugrichtung und nicht der Betrag der Geschwindigkeit. Werte unter 100% führen zu einer Verlangsamung der Partikel nach der Kollision. Auch Einstellungen über 100% sind möglich, führen dann jedoch zu einer ansonsten unnatürlichen Steigerung der Geschwindigkeiten nach dem Aufprall der Partikel auf dem Reflektor. Der nachfolgende Variation-Parameter kann wie gewohnt genutzt werden, um jedem Partikel einen leicht abgewandelten Abprallen-Effekt zu geben.

Damit hätten wir uns also um die Geschwindigkeit gekümmert, aber noch nicht um die Flugrichtung nach der Kollision. Bei harten Objekten kann man mit der Formel „Einfallswinkel ist gleich Ausfallswinkel“ arbeiten. Die entspricht dem üblichen Spiel über eine Bande beim Billard. Je nach Oberflächenbeschaffenheit kann der Winkel aber auch abflachen und das abprallende Objekt stärker an der Bande entlangrutschen, um beim Billard-Beispiel zu bleiben. Diesen Effekt steuern Sie über den Oberfläche-Prozentwert. Bei 0% erhalten wir den mathematisch perfekten Ausfallswinkel. Höhere Werte erhöhen die Haftung entlang der Reflektor-Oberfläche. Bei hohen Werten kommen die Partikel gar nicht mehr von dem Reflektor weg und gleiten nur noch auf diesem entlang, wie Wassertropfen an einer Fensterscheibe.

Haben wir bislang eher theoretisch gerechnet, kommt nun mit dem Energie-Wert noch mehr Realismus ins Spiel. Durch die Nutzung von Massen verändert sich die Energie eines bewegten Objekts. Es spielt daher durchaus eine Rolle, ob uns eine Abrissbirne oder ein Fußball treffen, selbst wenn beide beim Auftreffen die gleiche Geschwindigkeit haben sollten. Je größer die Masse ist, desto höher wird die Trägheit des Objekts sein. Die Trägheit ist dabei mit einer Kraft gleichzusetzen, die einer Veränderung der aktuellen Bewegungsrichtung und Geschwindigkeit entgegensteht. Ein schweres Objekt wird daher von einem Objekt nicht so intensiv abprallen wie ein leichtes. Mit der Erhöhung des Energie-Werts kann dieses Verhalten simuliert werden. Dazu sollten Sie den Partikeln natürlich auch individuelle Massen zugewiesen haben. Ansonsten ließe sich der Effekt ebenso über eine Reduktion des Abprallen-Parameters simulieren. Bei einer Energie von 100% fließen die Partikel-Massen realistisch in die Reflektor-Berechnung mit ein. Kleinere Prozentwerte reduzieren den Einfluss der Massen auf die Berechnung.

Wir hatten bereits über Faktoren gesprochen, durch die bei einer Berührung zwischen Objekten Energie aufgezehrt werden kann. So entsteht bei einer Verformung z. B. Wärme, die zu einer Reduzierung der Bewegungsenergie führt. Auch die Reibung ist einer dieser Faktoren, durch den Energie aus einem bewegten System gezogen werden kann. Reibung tritt u. a. während des Gleitens eines Objekts auf einer Oberfläche auf. Je länger wir die Handflächen aneinander reiben, desto deutlicher spüren wir die durch die Reibung entstehende Wärme. Im Fall der Partikel dürfte dieser Effekt also vor allem bei Nutzung des Oberfläche-Werts auftreten, wenn die Partikel nach der Reflexion nicht sofort wieder abprallen, sondern eventuell länger an der Reflektor-Oberfläche entlanggleiten.

Je höher die Reibung ist, desto stärker werden die an der Reflektor-Oberfläche entlanggleitenden Partikel abgebremst. In eine ähnliche Kerbe schlägt der Spin-Wert, obwohl es hier nicht um eine Reduzierung der Geschwindigkeit geht. Mit Spin ist hier eine Rotation gemeint, die in Abhängigkeit des Reflexionswinkels berechnet wird. Bei einem hohe Oberfläche-Wert kann es dann so wirken, als würde der Partikel auf der Oberfläche des Reflektors abrollen. Die Drehrichtung kann dabei nicht von uns beeinflusst werden. Dies rechnet der Node selbst aus. Spin kontrolliert nur die Geschwindigkeit dieser Partikel-Rotation.

Der Wert für Chaos bezieht sich auf die Richtung des Reflexionswinkels. Normalerweise wird dieser durch die Vorgabe „Einfallswinkel ist gleich Ausfallswinkel“ und die zusätzliche Anziehung durch die Oberfläche definiert. Chaos fügt dieser Berechnung noch eine zufällige Drift hinzu, damit die Partikel z. B. beim Auftreffen auf eine Ebene in unterschiedliche Richtungen abgelenkt werden. Im Prinzip werden hier also Unregelmäßigkeiten in der Oberfläche des Reflektors simuliert. Der Geschwindigkeitsbetrag der Partikel bleibt durch Chaos erhalten.

Bislang spielte der Reflektor selbst eigentlich keine Rolle. Ist dieser jedoch ebenfalls animiert, wäre dies nicht sehr hilfreich. Ein bewegter Reflektor würde seine Geschwindigkeit und Bewegungsrichtung auf die Partikel übertragen, mit denen er kollidiert. Exakt deshalb gibt es Geschwindigkeit Beibehalten. Ein z. B. über Keyframes animierter Reflektor kann dann auch auf die auf ihn treffenden Partikel einen Teil seiner Geschwindigkeit übertragen, so wie ein Tennisschläger, der ein getroffenes Partikel nicht nur umlenken, sondern erneut beschleunigen kann. Entfernt sich der Reflektor bei der Kollisionsberechnung mit einem Partikel von der Auftreffrichtung des Partikels, so kann dadurch auch Energie aus dem Partikel abgeleitet werden. Das Partikel reflektiert dann vielleicht noch, kommt aber mit einer reduzierten Geschwindigkeit aus der Reflexion heraus.

Wie bei vielen zufälligen Berechnungen gewohnt, so beruhen diese auf einer mathematischen Formel, die einen fixen Zahlenwert als Basis benutzt. Dieser Startwert steht auch an diesem Node in der Rubrik der Node-Eigenschaften zur Verfügung. Der Startwert garantiert, dass bei jedem Durchlauf der Animation alle Partikel identisch fliegen. Verwenden Sie Variationen und andere Zufälligkeiten im Node, kann die Veränderung des Startwerts zu ganz anderen Flugbahnen der Partikel führen, ohne dass Sie die anderen Einstellungen des Nodes verändern müssen.

Die Node-Ausgänge

Wenn Sie einen Blick auf die verfügbaren Ausgang-Ports werfen, die sich bei einem Klick auf die rote Schaltfläche am Node zeigen, so finden wir hier zusätzliche, interessante Informationen. Darunter befinden sich der Abprall-Vektor jedes kollidierenden Partikels zum Auftreffzeitpunkt auf den Reflektor, die Kollision-Position der Partikel auf dem Reflektor und die Auftreffpunkt-Normale. Diese gibt die Neigung der Oberfläche am Reflektor unter dem Auftreffpunkt des Partikels wider. Alle drei Vektoren werden in globalen Koordinaten ausgegeben, also unabhängig vom Achsensystem des Reflektor-Objekts. Beachten Sie zudem, dass diese Ports erst ab dem Animationsbild Werte bereitstellen, ab dem auch eine Kollision zwischen einem Partikel und der Oberfläche des Reflektors stattfindet. Um diese Überprüfung zu vereinfachen steht noch ein Ereignis-Port bereit, der ein Boole-Signal liefert. Hier können wir immer dann TRUE auslesen, wenn ein Partikel gerade kollidiert ist.

Der zuletzt ausgegebene Abprall-Vektor, bzw. die letzte Auftreffpunkt-Normale und Kollision-Position werden so lange ausgeworfen, bis eine neue Kollision registriert wurde. Gleiches gilt übrigens auch für den Ereignis-Wert, was sicherlich etwas verwirrend sein kann. Wir lesen hier also teilweise ein TRUE-Signal, obwohl aktuell keine Kollision stattfindet. Ich bin mir diesbezüglich nicht ganz sicher, ob dies so gewollt ist. Zumindest mutet es merkwürdig an, denn ich würde nur dann ein Ereignis erwarten, wenn tatsächlich gerade eine Kollision stattfindet. Sei es drum. Was uns dann aber wieder milde stimmt ist die Option Nur überprüfen im Dialog des Nodes. Ist diese aktiv, werden die Flugbahn und Geschwindigkeit der Partikel nicht länger durch den Reflektor beeinflusst. Wir können aber weiterhin die beschriebenen Ausgänge am Node benutzen, um Auftreffpunkte und die diversen Richtungsvektoren abzufragen. Recht praktisch, um z. B. zufällig erscheinende Positionen auf einer Oberfläche zu berechnen. Lassen Sie einfach einen Partikelstrom durch das Objekt fliegen und sich die Kollision-Positionen ausgeben.

Auf der Eingangsseite des Nodes finden wir neben den bereits im Attribute-Manager aufgelisteten Parametern nur noch die bekannten Ports An und Animations-Zeit. Sofern diese nicht benutzt werden ist der Node bereits aktiv und nutzt die normale Animationszeit von Cinema 4D, falls einige seiner Parameter über Keyframes animiert wurden. Ansonsten kann der Node auch über den An-Port ausgeschaltet werden, bzw. es lässt sich eine eigene Zeit an den Animation-Zeit-Eingang anlegen. Dies macht überhaupt nur Sinn, wenn Sie das normale Zeitverhalten animierter Parameter verändern möchten. Da ist der An-Port schon praktischer, denn durch das Anlegen eines Boole-Signals könnten Sie den Node z. B. kurzfristig ausschalten, um z. B. einen Teil der Partikel ungehindert durch den Reflektor fliegen zu lassen.

P Reibung-Node

Reibung tritt überall um uns herum auf. Sie entzieht den Objekten ihre Bewegungsenergie. Schlicht gesprochen, die Partikel werden durch Reibung abgebremst und somit langsamer. Dieser Effekt kann über den Reibung-Wert auf die Bewegung von Partikeln wirken. Der Parameter Rotation Reibung hat die gleiche Wirkung, beeinflusst jedoch nur die Drehgeschwindigkeit der Partikel. Je höher die Zahlenwerte sind, desto mehr Bewegungsenergie wird den Partikeln entzogen, desto schneller kommen diese also ggf. zum Stehen. Der gegenteilige Effekt kann jedoch auch reizvoll sein. Reibung- und Rotation Reibung-Werte unter Null können die aktuelle Bewegungsenergie der Partikel verstärken und diese somit beschleunigen.

Die Reibung kann zusätzlich von der Abmessung und der Masse der Partikel abhängig gemacht werden. Durch Steigerung von Masse-Abhängig fliegen leichte Partikel weiter als schwere. Massen können z. B. durch einen P Masse-Node oder einen P Daten setzen-Node definiert werden. Abmessung-Abhängig hat den gleichen Effekt, wertet jedoch die Abmessung der Partikel aus. Mit ansteigendem Prozentwert kommen dann Partikel mit größerer Abmessung früher zu Stehen, bzw. werden stärker abgebremst als kleine Partikel. Die Abmessung der Partikel kann bereits an einigen Emittern angegeben werden oder lässt sich über einen P Abmessung- oder P Daten setzen-Node beeinflussen. Dafür muss nicht unbedingt tatsächlich eine Geometrie an den Partikeln vorhanden sein. Beide Abhängig-Parameter des Nodes können auch mit negativen Prozentwerten benutzt werden und kehren dann die beschriebene Wirkung um. Der P Reibung-Node stellt keine Ausgänge zur Verfügung. An zusätzlichen Eingängen sind nur die bekannten An- und Animations-Zeit Ports zu finden.

Abschließend zur Beschreibung dieses Nodes gibt Ihnen die Abbildung 3.57 eine Idee zu einer möglichen Anwendung. Sie sehen dort im unteren Teil einen Emitter, der in Richtung des schwarzen Pfeils Partikel in die Szene entlässt. Innerhalb der ebenfalls zu sehenden Schaltung erhalten die Partikel bereits bei Ihrer Geburt individuelle Massen in Abhängigkeit zum Y-Anteil ihrer Position. Im P Reibung-Node wird durch Masse-Abhängig darauf reagiert. Die Partikel mit der kleineren Masse fliegen weiter als die mit der größeren Masse.

Animation in Cinema 4D - Variation der Reibung entlang der Höhe eines Emitters

Abbildung 3.57: Variation der Reibung entlang der Höhe eines Emitters

P Wind-Node

Wind kennen Sie bereits aus dem Standard-Partikelsystem von Cinema 4D. Dabei werden die Partikel mit einer Kraft überlagert, die diese in eine Richtung ablenken. Dieser Effekt ist praktisch, um Partikel sanft abzulenken. Der P Wind-Node benötigt zur Berechnung einen Ausgangspunkt. Dafür muss ein Objekt im Node zugewiesen werden. Hierfür reicht es aus, ein einfaches Null-Objekt zu nutzen. Die Einstellung des Typ-Menüs definiert, wie sich der Wind von der Position des zugewiesenen Objekts ausbreitet. Sie kennen dieses Prinzip bereits vom P Gravitation-Node. Mit Typ Fläche wirkt der Wind senkrecht zur XY-Ebene des zugewiesenen Objekts. Ein eingezeichneter Pfeil deutet diese Richtung zusätzlich in den Ansichtsfenstern an. Dabei wirkt der Wind sowohl vor als auch hinter der XY-Ebene des Wind-Objekts. Beim Typ Kugel wirkt der Wind ausgehend von der Position des Wind-Objekts in alle Richtungen gleichzeitig. Die Editordarstellung ändert sich zu einer Kreis- bzw. Kugeldarstellung um die Position des zugewiesenen Objekts herum. Die Größe dieser Symboldarstellung, egal ob Kreis oder Pfeil, lässt sich in den Node-Einstellungen des Attribute-Managers verändern. Sie finden dort den Parameter für die Icon-Größe.

Die Stärke entspricht in jedem Fall der Kraft des simulierten Winds. Besonders beim Typ Kugel kann aber auch eine negative Stärke interessant sein. Die Partikel werden dann wie bei einem Magneten von dem Wind-Objekt angezogen. Die Stärke des Winds wirkt in jedem Fall pro Animationsbild, in dem sich ein Partikel im Einflussbereich des Winds aufhält. Es kommt daher im Laufe der Zeit zu einer Beschleunigung der Partikel.

Dabei ist die Wirkung des Winds grundsätzlich räumlich unbeschränkt und wirkt somit auch in großer Entfernung von der Position des Wind-Objekts. Interessanter kann es sein, die Wirkung einzuschränken, um Partikel nur abschnittweise durch den Wind umzulenken oder zu beschleunigen. Exakt dafür ist der Abnahme-Parameter da. Je größer dieser Wert ist, desto schneller nimmt die Wirkung des Winds auf die Partikel ab. Der Einflussbereich des Winds nimmt also ab. Beim Typ Fläche betrifft die Abnahme nur den Bereich senkrecht zur XY-Ebene des Wind-Objekts. Der Wind wirkt weiterhin unabhängig von der Abnahme-Einstellung endlos in den X- und Y-Richtungen des Objekts. Anders mit dem Typ Kugel. Hier nimmt die Wirkung des Winds gleichmäßig in allen Richtungen ab.

Ähnlich wie beim P Reibung-Node kann die Intensität des Winds variiert werden in Abhängigkeit zur Masse oder Größe der Partikel. Mit der Erhöhung von Massenabhängigkeit bleiben schwerere Partikel vom Wind unbeeindruckter als leichte. Dies simuliert die natürliche Trägheit eines bewegten Objekts. Das gleiche Prinzip wird bei Größenabhängigkeit angewendet. Größere Partikel lassen sich schwerer vom Wind beeinflussen als kleinere. Die größeren bleiben also länger in ihrer ursprünglichen Flugrichtung. Die Größe der Partikel beeinflusst die Skalierung der Partikelachsen und kann z. B. über einen P Größe-Node individuell gesteuert werden.

Aber auch der P Wind-Node selbst bietet Möglichkeiten der Variation an, um z. B. Partikel unterschiedlich stark zu beeinflussen oder Schwankungen der Windstärke zu simulieren. Dieser Effekt verbirgt sich hinter dem Parameter für die Turbulenz. Darunter können Sie sich eine Art Rauschmuster vorstellen, dessen Massstab Sie über die Struktur-Größe beeinflussen können. Je Größer die Struktur-Größe ist, desto großflächiger sind die Bereiche, in denen sich die Partikel ähnlich verhalten. Kleine Struktur-Größen führen folglich dazu, dass fast jedes Partikel individuell vom Wind erfasst wird. Der Turbulenz-Wert fungiert in jedem Fall als Intensität der Verwirbelung. Dabei können die Partikel in zufällig wirkende Richtungen verschoben werden, also durchaus kurzzeitig auch einmal in einer der Windrichtung entgegenliegenden Richtung. Der Wert für Frequenz gibt die Häufigkeit an, in der die Turbulenz variiert. Hohe Einstellungen können dann z. B. dazu führen, dass die Partikel nahezu in jedem Animationsbild eine andere Richtung einschlagen. Bei kleinen Frequenzen ergeben sich eher harmonische Variationen, so wie bei sich nur leicht verdrehendem Rauch, der von einer Zigarette aufsteigt. Die nachfolgende Abbildung 3.58 stellt die unterschiedliche Wirkung der Struktur-Größe auf die Partikelbewegung noch einmal heraus.

Der P Wind-Node hat ansonsten keinerlei Ausgangsports. An der Eingangsseite finden Sie neben den bereits beschriebenen Parametern nur noch den An-Port und den Animations-Zeit-Port. Wird der An-Port nicht benutzt, ist der Node automatisch aktiv. Liegen hingegen Verbindungen an diesem Bool-Eingang vor, lässt sich damit die Wirkung des Winds beliebig ein- und ausschalten, um den Wind z. B. nur auf bestimmte Partikel wirken zu lassen oder ihn zeitlich zu begrenzen. Der Animations-Zeit-Eingang verlangt nach einer alternative Zeit, die sich dann auf die mit Keyframes versehenen Werte des Nodes auswirken kann. Ansonsten wird einfach die normale Zeit Ihrer Cinema 4D-Szene benutzt.

Animation in Cinema 4D - Links ein senkrecht nach oben wirkender Wind mit großer Struktur-Größe, rechts daneben mit kleiner Struktur-Größe

Abbildung 3.58: Links ein senkrecht nach oben wirkender Wind mit großer Struktur-Größe, rechts daneben mit kleiner Struktur-Größe

Über den Autor

Dieses Tutorial ist ein Auszug aus dem CINEMA 4D-Kompendium zur Animation von Arndt von Koenigsmarck. Das komplette C4D-Kompendium mit über 950 Seiten Know-how als Download (PDF) gibt es hier: CINEMA 4D-Kompendium – Die Animation.

Wir empfehlen:
Maxon BodyPaint 3D-Video-Training

Unsere Empfehlung für dich

Cinema 4D für Einsteiger – für R16/R17/R18

Cinema 4D für Einsteiger – für R16/R17/R18

Überschreite mit unserem neuen und sagenhaften Standardwerk für Cinema 4D die Grenzen der Wahrnehmung. Das Release 16 ist das beste Update, das Maxon je herausgebracht hat!

  • Neue Funktionen von R16, R17 und R18 im Detail erklärt
  • In über 15,5 Stunden Video-Training Cinema 4D von A bis Z ergründen
  • PLUS 850 PDF-Seiten und Arbeitsmaterialien
  • Maximales Kreativtraining: Nachbau des Covermotivs

Zum Training

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Folgende HTML-Elemente sind erlaubt:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>