Photoshop
Cinema 4d
Fotografie
Weitere Grafiksoftware
HTML / CSS
JavaScript
Flash
PHP
Webserver
Sonstige
Xpresso - Teil 2 (mit Thinking Particles) (Cinema 4d Tutorial)
Tutorial erstellt von errare in R12, letzte Änderung am 29.11.2010
Voraussetzungen:
Cinema 4D R10+ und Modul Thinking Particles; ab R12.0 C4D Studio
Hallo und Willkommen zu dem zweiten Teil der Xpresso Reihe – Xpresso – Eine kleine Einführung.
In diesem Tutorial geht es diesmal darum, Thinking Particles mit Xpresso anzuwenden - TP (Thinking Particles) ist ohnehin ohne Xpresso nicht möglich.
Was wollen wir erreichen?
Wir wollen, dass geborene Partikel von einem Emitter emittiert (also ausgestoßen/generiert) werden und anschließend ab einem bestimmten Eventin eine andere Gruppe wechseln/ verschoben werden.
Gruppen werden bei TP benötigt, um mehrere Partikel-„Gruppen“ zu erstellen die unterschiedlichen Gesetzmäßigkeiten unterliegen,
z.B. anderen Gravitations-Feldern oder Formen/Farben.
Starten wir mit dem „Root-Null Objekt“.Es dient als "Träger der Schaltung". Erstellt also dieses Null-Objekt und weist diesem ein Xpresso-Tag zu.

Wie gehabt öffnet sich auch gleich wieder der Xpresso-Editor.
Wechselt nun im Xpresso-Editor den Tab vom X-Manager zum X-Pool und zieht unter System-Operatoren -> Thinking Particles -> Generator den P-Quelle-Node in die X-Group. (Eine X-Group ist eine „Gruppierung“ von Xpresso-Nodes. (Was ein Node ist, habe ich bereits in
Teil 1 beschrieben.)
Nun erstellen wir noch ein weiteres Null-Objekt, welches als Positionsangabe für den Emitter dienen soll.
Warum nicht P-Sturm?
Der P-Quelle-Node besitzt einige Vorteile gegenüber dem P-Sturm, außerdem ist das eine ausführliche Erklärung zu Xpresso und soll nicht den schnellsten Weg zum Ergebnis zeigen, sondern einen tieferen Einblick in die Welt von Xpresso gewähren ;)
Ist das getan, benennt das neue Null-Objekt in „Emitter“ um und zieht es per Drag&Drop in den Xpresso-Editor (Abk.: X-E)
Erstellt an diesen Node einen neuen Ausgangsport:
(rot) -> Koordinaten -> Globale Position -> Globale Position
Tipp
Sollten einmal die Port-Bezeichnungen nicht zu sehen sein, oder nur halb, haltet die Strg-Taste gedrückt und führt einen Doppelklick auf den entsprechenden Node aus, somit skaliert sich dieser automatisch optimal ;)

Nun folgen noch ein paar weitere Nodes:
Thinking Particles -> TP Initiator -> P. Pass
Thinking Particles -> TP Standard -> P Daten setzen
Thinking Particles -> TP Standard -> P Gruppe
Thinking Particles -> TP Dynamik -> P Gravitation

Zieht all diese Nodes in die X-Group.
Um jetzt den eigentlichen Emitter an das Null-Objekt (Namens „Emitter“) zu binden, müssen wir den Ausgangs-Port von P Quelle
mit dem Eingangs-Port „Partikel“ von dem Node „P Daten setzen“ verbinden und noch einen neuen Eingangs-Port an P Daten setzen erstellen namens Position.
Und diesen mit dem Ausgangsport Globale Position von dem Emitter- Objekt verbinden.
Verbindet auch den Partikel-Port (von P Quelle) mit dem P Gruppe-Node (dazu später mehr).
Verbinden wir die Ports:

Wenn man jetzt die Animation startet, passiert eigentlich nicht viel, vielleicht kann man ein kleines weißes „Plus“ im Globalen Nullpunkt
erkennen; ja das sind die Partikel ;)
Lasst die Animation laufen und verschiebt das „Emitter Objekt“.
Wie Ihr seht, werden pro Frame X Partikel generiert und auf die Position des Emitter-Objekts gesetzt werden, ohne dass irgendeine Interaktion stattfindet.
Deswegen haben wir noch den Gravitations-Node. Erstellt wieder ein neues Null Objekt, benennt es in „Gravitation“ um und dreht es im
Pitch-Winkel um -115 (Pitch = Y- Rotation -> Roll – Nick – Gier Winkel)
Einfach ausgedrückt: der blaue Z-Achsen-Pfeil muss nach unten zeigen ;)
Zieht das Gravitations-Objekt im Xpresso-Editor IN den „Gravitations-Node

und verbindet diesen mit dem P Pass-Node.
Nun kommen wir zu den Gruppen. Was wir benötigen, wären zwei Gruppen; bis jetzt ist sozusagen nur eine „Globale“ Gruppe vorhanden, die für alle erzeugten Partikel gilt.
öffnet die TP- Einstellungen
Objekte -> Thinking Particles -> TP Einstellungen
(ab R12: Simulation -> TP -> TP Einstellungen; R9 Nutzer müssen unter Plugins -> Thinking Particles -> TP Einstellungen nachschauen)
und erstellt zwei neue Gruppen, die dem „Alle“ untergeordnet sind. Mit einen Rechtsklick auf die „Alle“ Gruppe können neue "Untergruppen" erstellt werden (unter diesen Gruppen man wiederum Untergruppen erstellt werden könnten).
Gruppe .1 könnt Ihr rot färben und Gruppe .2 blau, das ist jedem selbst überlassen ;)
Die jeweiligen Namen der Gruppen sind auch irrelevant, hauptsache Ihr könnt es euch merken welche Gruppe welche Partikel übernehmen!

Lasst die TP Einstellungen geöffnet, wechselt in den Xpresso-Editor und zieht die Gruppe .1 in den P -Gruppe.
Somit werden die vom P Quelle generierten Partikel der Gruppe .1 zugewiesen.
In dem P Pass Node bleibt die „Alle“ Gruppe, somit werden alle Untergruppen von „Alle“ von dem Gravitations Objekt beeinflusst.

Wenn Ihr nun die Animation ablaufen lasst, könnt Ihr beobachten, wie die generierten Partikel schnurgerade nach unten fallen.
Verschiebt jetzt das Emitter-Objekt im Editor auf ca. 2500 auf der Y-Achse (meine Einheiten sind mm, es kann sein das Eure Werte (und somit die Positionen) stark variieren) und erstellt ein Würfel-Objekt
Objekte -> Grundobjekte -> Würfel
(der Emitter sollte sich über dem Würfel befinden) und konvertiert diesen zu einem Polygonobjekt (shortcut „C“).
Geht nun zurück in den Xpresso-Editor und fügt 3 neue Nodes ein:
TP Standard -> P Gruppe
TP Dynamik -> P Reflektor
TP Initiator -> P Pass (neu!)
In den P Gruppe-Node zieht Ihr die Gruppe .2 aus den TP Einstellungen, P Pass (in den Ihr Gruppe .2 ziehen müsst) wird mit dem Eingangs-Node des P Reflektor-Node verbunden. In den Reflektor-Node wiederum zieht Ihr den Würfel hinein, um diesen als Reflektor Objekt zu verwenden.
Vorher müssen im Reflektor-Node noch ein paar Einstellungen getroffen werden. Markiert also den Reflektor-Node und werft einen Blick in den Attribute-Manager:

und passt ggf. die Werte an, denn diese Einstellungen geben an, wie sich die Partikel dem Objekt gegenüber auf der Oberfläche (Normalen)
verhalten sollen, z. B. Reibung, Abprall-Energie, Oberflächenanziehung usw.
Die wichtigste (und am häufigsten falsch gewählte Einstellung) ist der Reflektor Typ. Typ Quader wird nie bei einem Komplexen Objekt funktionieren -> Stellt diesen auf „Objekt“.
Nun wollen wir noch einen Gruppenwechsel vollziehen!
Dazu liefert der Reflektor-Node einen netten Ausgang – das Event (Ereignis).
Immer wenn ein Partikel auf der Oberfläche des dem Reflektor zugewiesenen Objekts auf trifft, ergibt sich daraus ein „Event“, das von uns über den Node ausgelesen werden kann.
Erstellt einen Ausgangs-Port am Reflektor-Node namens „Ereignis“
Hierbei handelt es sich um einen Boole-Wert, welcher nichts anderes ausgibt als ein Wahr oder Falsch (True or False).

Einen P Gruppe-Node kann man ab- und wieder anschalten.
Verbinden wir diese doch einfach mal ;)
Legt eine Verbindung zwischen dem Ereignis-Port und dem An-Port (den Ihr noch erstellen müsst, mit einen klick auf das blaue Kästchen -> „An“) des P Gruppe-Nodes (der mit Gruppe .2 verlinkt ist).

Play drücken und anschauen ;)
Die Generierten Partikel fallen leicht geneigt nach unten, prallen am Würfel ab und verändern Ihre Farbe (Gruppe).
Was geschah hier?
Wir haben ein Objekt erstellt, das Partikel emittiert und dessen Emitterposition von einem Null-Objekt abhängig war.
Die Partikel unterlagen dazu noch einem Gravitationsfeld.
Der Wechsel der emittierten Partikel wurde durch ein Reflektor-„Event“ (Ereignis) angewandt, so dass dieser Wechsel sofort stattfand, als die Partikel mit einem von uns zugewiesenen Polygonobjekt „in Berührung“ kamen.
Wozu braucht man das?
Z. B. für eine einfache Darstellung/Simulierung von Regen. Erst fallen die Tropfen schnell und ungebremst vom Himmel, um anschlie゚end langsam und sachte am Fenster „entlang zu rollen“.
Das war es dann auch schon mit dem zweiten Teil der Tutorial-Reihe "Xpresso – Eine kleine Einführung".
mfg errare
Twittern
>> Allgemeine Fragen oder Probleme mit dem Tutorial? Hier gehts zum Forum!
Cinema 4D R10+ und Modul Thinking Particles; ab R12.0 C4D Studio
Hallo und Willkommen zu dem zweiten Teil der Xpresso Reihe – Xpresso – Eine kleine Einführung.
In diesem Tutorial geht es diesmal darum, Thinking Particles mit Xpresso anzuwenden - TP (Thinking Particles) ist ohnehin ohne Xpresso nicht möglich.
Was wollen wir erreichen?
Wir wollen, dass geborene Partikel von einem Emitter emittiert (also ausgestoßen/generiert) werden und anschließend ab einem bestimmten Eventin eine andere Gruppe wechseln/ verschoben werden.
Gruppen werden bei TP benötigt, um mehrere Partikel-„Gruppen“ zu erstellen die unterschiedlichen Gesetzmäßigkeiten unterliegen,
z.B. anderen Gravitations-Feldern oder Formen/Farben.
Starten wir mit dem „Root-Null Objekt“.Es dient als "Träger der Schaltung". Erstellt also dieses Null-Objekt und weist diesem ein Xpresso-Tag zu.

Wie gehabt öffnet sich auch gleich wieder der Xpresso-Editor.
Wechselt nun im Xpresso-Editor den Tab vom X-Manager zum X-Pool und zieht unter System-Operatoren -> Thinking Particles -> Generator den P-Quelle-Node in die X-Group. (Eine X-Group ist eine „Gruppierung“ von Xpresso-Nodes. (Was ein Node ist, habe ich bereits in
Teil 1 beschrieben.)
Nun erstellen wir noch ein weiteres Null-Objekt, welches als Positionsangabe für den Emitter dienen soll.
Warum nicht P-Sturm?
Der P-Quelle-Node besitzt einige Vorteile gegenüber dem P-Sturm, außerdem ist das eine ausführliche Erklärung zu Xpresso und soll nicht den schnellsten Weg zum Ergebnis zeigen, sondern einen tieferen Einblick in die Welt von Xpresso gewähren ;)
Ist das getan, benennt das neue Null-Objekt in „Emitter“ um und zieht es per Drag&Drop in den Xpresso-Editor (Abk.: X-E)
Erstellt an diesen Node einen neuen Ausgangsport:
(rot) -> Koordinaten -> Globale Position -> Globale Position
Tipp
Sollten einmal die Port-Bezeichnungen nicht zu sehen sein, oder nur halb, haltet die Strg-Taste gedrückt und führt einen Doppelklick auf den entsprechenden Node aus, somit skaliert sich dieser automatisch optimal ;)

Nun folgen noch ein paar weitere Nodes:
Thinking Particles -> TP Initiator -> P. Pass
Thinking Particles -> TP Standard -> P Daten setzen
Thinking Particles -> TP Standard -> P Gruppe
Thinking Particles -> TP Dynamik -> P Gravitation

Zieht all diese Nodes in die X-Group.
Um jetzt den eigentlichen Emitter an das Null-Objekt (Namens „Emitter“) zu binden, müssen wir den Ausgangs-Port von P Quelle
mit dem Eingangs-Port „Partikel“ von dem Node „P Daten setzen“ verbinden und noch einen neuen Eingangs-Port an P Daten setzen erstellen namens Position.
Und diesen mit dem Ausgangsport Globale Position von dem Emitter- Objekt verbinden.
Verbindet auch den Partikel-Port (von P Quelle) mit dem P Gruppe-Node (dazu später mehr).
Verbinden wir die Ports:

Wenn man jetzt die Animation startet, passiert eigentlich nicht viel, vielleicht kann man ein kleines weißes „Plus“ im Globalen Nullpunkt
erkennen; ja das sind die Partikel ;)
Lasst die Animation laufen und verschiebt das „Emitter Objekt“.
Wie Ihr seht, werden pro Frame X Partikel generiert und auf die Position des Emitter-Objekts gesetzt werden, ohne dass irgendeine Interaktion stattfindet.
Deswegen haben wir noch den Gravitations-Node. Erstellt wieder ein neues Null Objekt, benennt es in „Gravitation“ um und dreht es im
Pitch-Winkel um -115 (Pitch = Y- Rotation -> Roll – Nick – Gier Winkel)
Einfach ausgedrückt: der blaue Z-Achsen-Pfeil muss nach unten zeigen ;)
Zieht das Gravitations-Objekt im Xpresso-Editor IN den „Gravitations-Node

und verbindet diesen mit dem P Pass-Node.
Nun kommen wir zu den Gruppen. Was wir benötigen, wären zwei Gruppen; bis jetzt ist sozusagen nur eine „Globale“ Gruppe vorhanden, die für alle erzeugten Partikel gilt.
öffnet die TP- Einstellungen
Objekte -> Thinking Particles -> TP Einstellungen
(ab R12: Simulation -> TP -> TP Einstellungen; R9 Nutzer müssen unter Plugins -> Thinking Particles -> TP Einstellungen nachschauen)
und erstellt zwei neue Gruppen, die dem „Alle“ untergeordnet sind. Mit einen Rechtsklick auf die „Alle“ Gruppe können neue "Untergruppen" erstellt werden (unter diesen Gruppen man wiederum Untergruppen erstellt werden könnten).
Gruppe .1 könnt Ihr rot färben und Gruppe .2 blau, das ist jedem selbst überlassen ;)
Die jeweiligen Namen der Gruppen sind auch irrelevant, hauptsache Ihr könnt es euch merken welche Gruppe welche Partikel übernehmen!

Lasst die TP Einstellungen geöffnet, wechselt in den Xpresso-Editor und zieht die Gruppe .1 in den P -Gruppe.
Somit werden die vom P Quelle generierten Partikel der Gruppe .1 zugewiesen.
In dem P Pass Node bleibt die „Alle“ Gruppe, somit werden alle Untergruppen von „Alle“ von dem Gravitations Objekt beeinflusst.

Wenn Ihr nun die Animation ablaufen lasst, könnt Ihr beobachten, wie die generierten Partikel schnurgerade nach unten fallen.
Verschiebt jetzt das Emitter-Objekt im Editor auf ca. 2500 auf der Y-Achse (meine Einheiten sind mm, es kann sein das Eure Werte (und somit die Positionen) stark variieren) und erstellt ein Würfel-Objekt
Objekte -> Grundobjekte -> Würfel
(der Emitter sollte sich über dem Würfel befinden) und konvertiert diesen zu einem Polygonobjekt (shortcut „C“).
Geht nun zurück in den Xpresso-Editor und fügt 3 neue Nodes ein:
TP Standard -> P Gruppe
TP Dynamik -> P Reflektor
TP Initiator -> P Pass (neu!)
In den P Gruppe-Node zieht Ihr die Gruppe .2 aus den TP Einstellungen, P Pass (in den Ihr Gruppe .2 ziehen müsst) wird mit dem Eingangs-Node des P Reflektor-Node verbunden. In den Reflektor-Node wiederum zieht Ihr den Würfel hinein, um diesen als Reflektor Objekt zu verwenden.
Vorher müssen im Reflektor-Node noch ein paar Einstellungen getroffen werden. Markiert also den Reflektor-Node und werft einen Blick in den Attribute-Manager:

und passt ggf. die Werte an, denn diese Einstellungen geben an, wie sich die Partikel dem Objekt gegenüber auf der Oberfläche (Normalen)
verhalten sollen, z. B. Reibung, Abprall-Energie, Oberflächenanziehung usw.
Die wichtigste (und am häufigsten falsch gewählte Einstellung) ist der Reflektor Typ. Typ Quader wird nie bei einem Komplexen Objekt funktionieren -> Stellt diesen auf „Objekt“.
Nun wollen wir noch einen Gruppenwechsel vollziehen!
Dazu liefert der Reflektor-Node einen netten Ausgang – das Event (Ereignis).
Immer wenn ein Partikel auf der Oberfläche des dem Reflektor zugewiesenen Objekts auf trifft, ergibt sich daraus ein „Event“, das von uns über den Node ausgelesen werden kann.
Erstellt einen Ausgangs-Port am Reflektor-Node namens „Ereignis“
Hierbei handelt es sich um einen Boole-Wert, welcher nichts anderes ausgibt als ein Wahr oder Falsch (True or False).

Einen P Gruppe-Node kann man ab- und wieder anschalten.
Verbinden wir diese doch einfach mal ;)
Legt eine Verbindung zwischen dem Ereignis-Port und dem An-Port (den Ihr noch erstellen müsst, mit einen klick auf das blaue Kästchen -> „An“) des P Gruppe-Nodes (der mit Gruppe .2 verlinkt ist).

Play drücken und anschauen ;)
Die Generierten Partikel fallen leicht geneigt nach unten, prallen am Würfel ab und verändern Ihre Farbe (Gruppe).
Was geschah hier?
Wir haben ein Objekt erstellt, das Partikel emittiert und dessen Emitterposition von einem Null-Objekt abhängig war.
Die Partikel unterlagen dazu noch einem Gravitationsfeld.
Der Wechsel der emittierten Partikel wurde durch ein Reflektor-„Event“ (Ereignis) angewandt, so dass dieser Wechsel sofort stattfand, als die Partikel mit einem von uns zugewiesenen Polygonobjekt „in Berührung“ kamen.
Wozu braucht man das?
Z. B. für eine einfache Darstellung/Simulierung von Regen. Erst fallen die Tropfen schnell und ungebremst vom Himmel, um anschlie゚end langsam und sachte am Fenster „entlang zu rollen“.
Das war es dann auch schon mit dem zweiten Teil der Tutorial-Reihe "Xpresso – Eine kleine Einführung".
mfg errare
>> Allgemeine Fragen oder Probleme mit dem Tutorial? Hier gehts zum Forum!