Weitergehende Funktionalitäten Thinking Particles TP Nodes TP Dynamik P Reflektor
Funktion verfügbar in CINEMA 4D Studio
P Reflektor

Basis Node Parameter

Parameter

Folgende Parameter stehen im Attribute-Manager, oder direkt an den Eingang-Ports des P Reflektor-Nodes zur Verfügung:

Objekt

Das Objekt, das zum Reflektor gemacht werden soll muss in dieses Feld gezogen werden.

Reflektor Typ

Normalerweise müsste jede einzelne Fläche eines Objekts überprüft werden, ob ein Partikel eingedrungen ist. Dies kann bei hoch aufgelösten Objekten schnell zu erhöhten Berechnungszeiten führen. Oftmals kann man Objekte jedoch auch durch einfache Grundkörper annähern, oder komplexe Objekte mit mehreren Würfeln oder Kugeln grob nachbauen. Da sich Quader oder Kugeln sehr viel einfacher nach Kollisionen abfragen lassen, sollte man diese beiden Formen so oft wie möglich für die Kollisionserkennung verwenden.

Quader

Um das ausgewählte Objekt wird ein quaderförmiger Raum nach Kollisionen abgefragt. Die Größe dieses Quader kann über die X/Y/Z-Größe-Eingabefelder vorgegeben werden. Die Position des Quaders entspricht der Position des zugewiesenen Objekts.

Kugel

Um das ausgewählte Objekt wird ein kugelförmiger Raum nach Kollisionen abgefragt. Die Größe dieser Kugel kann über das Radius-Eingabefeld gesteuert werden. Die Position der Kugel entspricht der Position des zugewiesenen Objekts.

Objekt

In dieser Betriebsart wird das zugewiesene Objekt Fläche für Fläche auf Kollisionen abgefragt. Dies ist zwar die genaueste Methode, kostet aber auch am meisten Rechenzeit.

Geometrie

Sofern den Partikeln Geometrie zugewiesen ist, wird die Kollision auf Polygonbasis abgefragt.

X-Größe [0..+∞]
Y-Größe [0..+∞]
Z-Größe [0..+∞]

Wenn Quader als Reflexionstyp aktiviert wurde, kann hier die Größe des Kollisions-Quaders getrennt für jede Achse eingegeben werden.

Radius [0..+∞]

Wenn Kugel als Reflexionstyp aktiviert wurde, kann hier der Radius der Kollisions-Kugel eingestellt werden.

Kollisionstyp

Flächen im dreidimensionalen Raum haben immer eine Vorder- und eine Hinterseite. Die Vorderseite ist durch den nach außen weisenden Normalenvektor gekennzeichnet.

In diesem Menü legen Sie nun fest, von welcher Seite der Fläche die Partikel abprallen sollen. Dieser Wert bekommt eigentlich erst dann eine Bedeutung, wenn die Kollisionen mit Abständen berechnet werden sollen.

Vorne

Die Partikel prallen von der Vorderseite der Flächen ab.

Hinten

Die Partikel prallen von den Innenseiten der Flächen ab.

Beide Seiten

Partikelkollision wird für beide Seiten der Flächen berechnet.

Abstandstyp

Gerade wenn die Ausmaße der Partikel-Objekte größer werden, wäre es sinnvoll, wenn die Partikel nicht erst beim Auftreffen auf eine Fläche abprallen würden, sondern bereits in einem gewissen Abstand davon. Dieser Abstand kann über folgende Optionen gesteuert werden.

Keiner

Es wird kein Abstand zwischen Partikel und Fläche zugelassen. Die Partikel prallen erst beim direkten Kontakt mit der Fläche ab.

Partikel-Größe in Flugrichtung
Partikel-Größe X
Partikel-Größe Y
Partikel-Größe Z

Die Partikelgröße wird als Maßstab für die Kollisionsberechnung herangezogen. Mit entsprechend angepassten Partikel-Größen kann dann ein realistisches Abprallen eines Partikel-Objekts von einem anderen Objekt simuliert werden. Sie haben die Wahl zwischen den Achsen X, Y und Z und der Partikel-Größe in Flugrichtung.

Eigener Abstand in Flugrichtung
Eigener X-Abstand
Eigener Y-Abstand
Eigener Z-Abstand

Ein eigener Sicherheitsabstand zwischen Partikel und Fläche kann hier aktiviert werden. Wenn dieser Abstand zwischen Partikel und Fläche unterschritten wird, wird dies als Kollision interpretiert und der Partikel prallt ab. Sie haben hier die Auswahl zwischen einem X-, Y- und Z-Abstand sowie dem Abstand in Flugrichtung.

Abstand [-∞..+∞]

Wenn ein eigener Abstand bei der Berechnung der Kollision aktiviert ist, kann hier der entsprechende Wert für die ausgewählte Achse eingegeben werden.

Variation [0..100%]

Über diesen Prozentwert kann der Abstand-Wert für alle Partikel variiert werden.

Abprallen [0..+∞%]

Prozentualer Wert, der den Energiefluß beim Zusammenprall von Objekt und Partikel beschreibt. Je größer der Wert, desto stärker prallen die Partikel an dem Objekt wieder ab. Eine Elastizität von 100% bedeutet, dass 100% der Partikel-Energie nach dem Aufprall auch wieder an den Partikel zurückgegeben werden. Der Partikel wird also seine Geschwindigkeit behalten und nur die Flugrichtung nach dem Aufprall verändern. Kleinere Werte bedeuten, dass dem Partikel beim Aufprall Energie verloren geht und dieser dadurch langsamer wird.

Variation [0..100%]

Variation der Energiebilanz bei der Kollision. Die Partikel erhalten nach dem Aufprall unterschiedlich viel Energie wieder zurück.

Oberfläche [0..100%]

Bei optimalen Bedingungen gilt der Merksatz Einfallswinkel ist gleich Ausfallswinkel. Es gibt jedoch Material-Konstellationen, bei denen dies nicht erwünscht ist. Denken Sie z.B. an eine Flüssigkeit, die auf die Oberfläche einer Kugel trifft. Man wird hier nicht das gleiche Verhalten erwarten, dass man bei einer Kollision von massiven Objekten beobachten kann. Flüssigkeiten schmiegen sich aufgrund von Adhäsionskräften mehr an die Oberflächen der Objekte an und haben daher einen flacheren Abprallwinkel, der im Extremfall parallel zur reflektierenden Oberfläche verläuft. Über den Oberfläche-Wert können Sie derartiges Verhalten leicht simulieren. Der Prozentwert steuert die Abweichung vom geschilderten optimalen Abprallwinkel. Bei einem Wert von 100% prallt der Partikel also parallel zur Oberfläche ab, wogegen ein Wert von 0% das mathematisch korrekte Verhalten von Einfallswinkel ist gleich Ausfallswinkel aktiviert.

Energie [0..+∞%]

Bei einem Energie-Wert von 0% werden alle Partikel gleich berechnet. Die Partikel-Energie hängt dabei von der individuellen Geschwindigkeit und Masse ab. Werden Energie-Werte größer als 0% verwendet, verändert sich die Berechnung derart, dass Partikel mit großer Masse und kleiner Geschwindigkeit weniger stark von einem Objekt abprallen, als Partikel mit kleiner Masse und großer Geschwindigkeit. Ein Wert von 100% simuliert somit physikalisch korrektes Verhalten, da eine größere Masse mit großer Trägheit gleichzusetzen ist.

Reibung [0..100%]

Wenn Partikel in einem stumpfen Winkel auf die Oberfläche treffen verlieren Sie durch hohe Reibungswerte mehr an Energie. Dies bedeutet, dass Partikel, die über eine Fläche fließen und dabei der Reibung an der Fläche ausgesetzt sind, im Laufe der Zeit langsamer werden.

Spin [0..+∞%]

Im Augenblick der Kollision können die Partikel über diesen Parameter in eine Rotation versetzt werden. Die Achse der Rotation wird dabei automatisch richtig in Abhängigkeit von Flugrichtung und Auftreffwinkel gewählt. Spin selbst definiert nur die Rotationsgeschwindigkeit.

Chaos [0..100%]

Über den Chaos-Wert kann der Reibungskoeffizient ungleichmäßig auf der Oberfläche verteilt werden. Dies bedeutet, dass die Partikel ungleichmäßig auf der Oberfläche abgebremst werden. Dies zeigt jedoch nur Wirkung, wenn die Partikel in einem flachen Winkel auf die Oberfläche treffen und so ein Stück über die Fläche gleiten.

Geschw. Beibehalten [-∞..+∞%]

Wenn das Reflektor-Objekt in Bewegung ist, kann es seine Geschwindigkeit auf kollidierende Partikel übertragen. Stellen Sie sich ein Raumschiff vor, das durch eine statische Partikelwolke fliegt. Die Partikel werden durch die Bewegung des Raumschiffs nicht nur zur Seite gedrückt, sondern auch mitgezogen. Die Höhe des Wertes bestimmt den Anteil der Reflektor-Geschwindigkeit, der auf die kollidierenden Partikel übergehen soll.

Nur überprüfen

Ist diese Option aktiviert, wird keine Kollision berechnet. Stattdessen werden die berechneten Werte nur an die entsprechenden Ausgang-Ports gelegt und verändern nicht die Flugbahn der Partikel. Auf diese Weise kann z.B. der Auftreffwinkel eines Partikels auf einer Oberfläche berechnet werden, ohne den Partikel tatsächlich abprallen lassen zu müssen.

In diesem Beispiel-Setup prallen die Partikel von links unten kommend von einer Kugel ab.

Folgende Eingang-Ports sind zusätzlich vorhanden:

Partikel

Partikelstrom, der kollidieren soll.

An

Port für einen Boole-Wert, um den Node zu aktivieren (1) oder zu deaktivieren (0). Liegt kein Wert an, ist der Node automatisch aktiv.

Animations-Zeit

Da sich die Parameter dieses Nodes über Keys animieren lassen, wird dort die Cinema 4D-Zeit eingelesen, um die Werte korrekt interpolieren zu können. Es kann aber auch manuell ein Wert vom BaseTime-Typ eingelesen werden – also im einfachsten Fall eine Real-Zahl – um eine andere Zeit zu verwenden. Wenn kein Wert angeschlossen ist, wird automatisch die Cinema 4D-Zeit benutzt.

Die folgenden Ausgang-Ports sind zusätzlich vorhanden:

Ereignis

Dieser Boole-Ausgang liefert den Wert 1, wenn eine Kollision für den Partikel erkannt wurde. Ein FALSE, bzw. der Wert 0, wird dann am Port anliegen, wenn keine Kollision stattgefunden hat. Dieses Signal kann z.B. benutzt werden, um Partikel bei einer Kollision automatisch in eine andere Gruppe zu transferieren. Dieser Port liefert auch dann Werte, wenn die Option Nur überprüfen aktiviert ist.

Kollision-Position [XYZ ]

Dieser Port liefert im Fall einer Kollision eines Partikels mit dem Objekt die Position des Aufschlags. Dieser Port liefert auch dann Werte, wenn die Option Nur überprüfen aktiviert ist.

Auftreffpunkt-Normale

Dieser Port liefert die Oberflächen-Normale des Auftreffpunkts auf dem Objekt. Dieser Port liefert auch dann Werte, wenn die Option Nur überprüfen aktiviert ist.

Abprall-Vektor

Dieser Port liefert den Richtungsvektor des Partikels nach der Kollision. Dies ist also die Richtung, in die sich der Partikel nach der Kollision bewegen wird. Dieser Port liefert auch dann Werte, wenn die Option Nur überprüfen aktiviert ist.