Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit...

37
Partikelanimation mit Thinking Particles und PyroCluster 3 Bei dem Modul THINKING PARTICLES handelt es sich um einen Baukasten mit spezialisierten Nodes zur Generierung und Manipulation von Partikeln. Anders als beim schon etwas älteren Partikel- System von CINEMA 4D wirkt die Arbeit mit THINKING PARTICLES zuerst etwas umständlich und langwierig. Dies mag besonders auf einfache Projekte zutref- fen, die im „alten“ Partikelsystem – das alternativ immer noch in CINEMA 4D vorhanden ist – mit ei- nem oder zwei Arbeitsschritten zu realisieren sind. Sobald jedoch individuellere Lösungen gefor- dert sind, kann die Flexibilität der vielen THINKING PARTICLES – oder auch kurz „TP“ – Nodes unentbehr- lich werden. So haben Sie z. B. zu jedem Zeitpunkt einer Ani- mation Kontrolle darüber, wo sich Partikel aufhal- ten, wie schnell sie sind, in welche Richtung sie sich bewegen und so fort. Um dieses System optimal nutzen zu können, sollten Sie sich unbedingt mit XPRESSO beschäftigt und zumindest die Grundlagen der Vektor-Mathe- matik verstanden haben. Dies ist auch der Grund, weshalb ich in den vorangegangenen Kapiteln einen Schwerpunkt auf dieses Thema gelegt habe. Sie sollten nun bereits das nötige Grundwissen haben. Ein zweiter Punkt ist bei der Arbeit mit TP zu be- achten, der bei dem traditionellen Partikel-System von CINEMA 4D ebenfalls keine Rolle spielte: das Aufteilen von Partikeln in Gruppen. Partikel können innerhalb einer TP-Schaltung über beliebige Auswahlkriterien aussortiert und in Gruppen gesammelt werden. Jede einmal definierte Gruppe kann separat von allen anderen Partikeln z. B. Kraftfeldern ausgesetzt oder mit einem eige- nen Objekt verknüpft werden. Hier ist dann auch eine der Gemeinsamkeiten mit dem alten System zu finden, denn auch die THIN- KING PARTICLES sind für sich allein gesehen bei der Bildberechnung un- sichtbar. Es gilt also, die Partikel mit Objekten oder Texturen zu verknüpfen, um die Partikel-Bewegung sichtbar zu machen. Dazu ist es zusätzlich nötig, in der Szene ein PARTIKEL-GEOMETRIE-Objekt zu erzeu- gen. In diesem Objekt können die Partikel gespei- chert werden. Der Sinn dieser etwas umständlichen Vorgehensweise ist der, dass so Partikel auch zu- sammen mit Deformatoren und Materialien benutzt werden können. Wir werden dies in diesem Arbeits- beispiel mit den Materialien des PYROCLUSTER-Mo- duls durchexerzieren. Um Ihnen gleich vorweg den Schreck vor den folgenden Schaltungen zu nehmen, möchte ich Sie vorwarnen, dass TP-Schaltungen recht schnell zu überaus komplex anmutenden Gebilden anwachsen können. Es ist daher gerade Anfängern anzuraten, sich bereits vor Beginn der Arbeit ein Konzept anzu- fertigen, welche Bewegungen die Partikel über- haupt ausführen sollen und wie viele verschiedene Partikel-Gruppen dafür sinnvoll sein könnten. Es ist zudem anzuraten, die Schaltung mit Hilfe von KOMMENTAR-Nodes zu kommentieren. Dazu rei- chen in der Regel wenige Stichworte für jeden abge- schlossenen Schaltungsabschnitt aus. Dies kann Ihnen die Suche nach eventuell auftretenden Feh- lern und das Zurechtfinden in der Schaltung, auch nachdem vielleicht einige Wochen vergangen sind, erleichtern. Als Ziel dieses Workshops habe ich mir die Um- setzung eines Wirbelsturms gesetzt. Dieser soll grob aus drei Teilen bestehen, nämlich einer rotie- renden Bewegung von Staub am Boden, einem be- weglichen Rüssel, um den sich die Teilchen rotie- rend nach oben winden, und schließlich aus einer Wolke, in die der Wirbel mündet. 3 kap03.fm Seite 99 Mittwoch, 4. Juni 2003 11:58 11

Transcript of Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit...

Page 1: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

kap03.fm Seite 99 Mittwoch, 4. Juni 2003 11:58 11

Partikelanimation mit Thinking Particles und PyroCluster 3

Bei dem Modul THINKING PARTICLES handelt es sichum einen Baukasten mit spezialisierten Nodes zurGenerierung und Manipulation von Partikeln.

Anders als beim schon etwas älteren Partikel-System von CINEMA 4D wirkt die Arbeit mit THINKING

PARTICLES zuerst etwas umständlich und langwierig.Dies mag besonders auf einfache Projekte zutref-fen, die im „alten“ Partikelsystem – das alternativimmer noch in CINEMA 4D vorhanden ist – mit ei-nem oder zwei Arbeitsschritten zu realisieren sind.

Sobald jedoch individuellere Lösungen gefor-dert sind, kann die Flexibilität der vielen THINKING

PARTICLES – oder auch kurz „TP“ – Nodes unentbehr-lich werden.

So haben Sie z.B. zu jedem Zeitpunkt einer Ani-mation Kontrolle darüber, wo sich Partikel aufhal-ten, wie schnell sie sind, in welche Richtung sie sichbewegen und so fort.

Um dieses System optimal nutzen zu können,sollten Sie sich unbedingt mit XPRESSO beschäftigtund zumindest die Grundlagen der Vektor-Mathe-matik verstanden haben. Dies ist auch der Grund,weshalb ich in den vorangegangenen Kapiteln einenSchwerpunkt auf dieses Thema gelegt habe. Siesollten nun bereits das nötige Grundwissen haben.

Ein zweiter Punkt ist bei der Arbeit mit TP zu be-achten, der bei dem traditionellen Partikel-Systemvon CINEMA 4D ebenfalls keine Rolle spielte: dasAufteilen von Partikeln in Gruppen.

Partikel können innerhalb einer TP-Schaltungüber beliebige Auswahlkriterien aussortiert und inGruppen gesammelt werden. Jede einmal definierteGruppe kann separat von allen anderen Partikelnz.B. Kraftfeldern ausgesetzt oder mit einem eige-nen Objekt verknüpft werden.

Hier ist dann auch eine der Gemeinsamkeitenmit dem alten System zu finden, denn auch die THIN-

KING PARTICLES sind für sich alleingesehen bei der Bildberechnung un-sichtbar. Es gilt also, die Partikel mit Objekten oderTexturen zu verknüpfen, um die Partikel-Bewegungsichtbar zu machen. Dazu ist es zusätzlich nötig, inder Szene ein PARTIKEL-GEOMETRIE-Objekt zu erzeu-gen. In diesem Objekt können die Partikel gespei-chert werden. Der Sinn dieser etwas umständlichenVorgehensweise ist der, dass so Partikel auch zu-sammen mit Deformatoren und Materialien benutztwerden können. Wir werden dies in diesem Arbeits-beispiel mit den Materialien des PYROCLUSTER-Mo-duls durchexerzieren.

Um Ihnen gleich vorweg den Schreck vor denfolgenden Schaltungen zu nehmen, möchte ich Sievorwarnen, dass TP-Schaltungen recht schnell zuüberaus komplex anmutenden Gebilden anwachsenkönnen. Es ist daher gerade Anfängern anzuraten,sich bereits vor Beginn der Arbeit ein Konzept anzu-fertigen, welche Bewegungen die Partikel über-haupt ausführen sollen und wie viele verschiedenePartikel-Gruppen dafür sinnvoll sein könnten.

Es ist zudem anzuraten, die Schaltung mit Hilfevon KOMMENTAR-Nodes zu kommentieren. Dazu rei-chen in der Regel wenige Stichworte für jeden abge-schlossenen Schaltungsabschnitt aus. Dies kannIhnen die Suche nach eventuell auftretenden Feh-lern und das Zurechtfinden in der Schaltung, auchnachdem vielleicht einige Wochen vergangen sind,erleichtern.

Als Ziel dieses Workshops habe ich mir die Um-setzung eines Wirbelsturms gesetzt. Dieser sollgrob aus drei Teilen bestehen, nämlich einer rotie-renden Bewegung von Staub am Boden, einem be-weglichen Rüssel, um den sich die Teilchen rotie-rend nach oben winden, und schließlich aus einerWolke, in die der Wirbel mündet.

3

Page 2: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111100000000 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 100 Mittwoch, 4. Juni 2003 11:58 11

3.1 TP-Emitter erzeugen

Beginnen Sie wie bereits aus den anderen Arbeits-beispielen gewohnt mit einer neuen, leeren Szeneund erzeugen Sie ein NULL-OBJEKT aus dem OBJEKTE-Menü.

Anders als bei den alten Emittern von CINEMA4D ist es bei TP nämlich nötig, selbst eine Positionund eine Richtung für den Entstehungspunkt unddie Flugrichtung der Partikel zu bestimmen.

Im Prinzip kann dafür auch ein Position- und einRichtung-Vektor in die Schaltung eingesetzt wer-den, aber dadurch, dass ein reales Objekt in derSzene vorhanden ist, hat man es später leichter,den Emitter zu animieren.

Dazu wird einfach das Objekt in der Szene ver-schoben oder gedreht und der TP-Emitter verändertautomatisch seine Position und die Ausstoßrich-tung der Partikel. Dabei ist zu beachten, dass dieStandard-Richtung für die emittierten Partikel im-mer der Z-Achse eines Objekts entspricht. In diesemPunkt arbeitet TP demnach wie die alten CINEMA4D-Emitter.

Belassen Sie also das NULL-OBJEKT im Welt-Ur-sprung und drehen Sie dessen Z-Achse durch Rota-tion um die X-Achse senkrecht nach oben. Die Abbil-dung gibt Ihnen die Endposition des NULL-OBJEKTS

wieder, so wie sie sich im KOORDINATEN-MANAGER dar-stellt.

Rufen Sie nun für das NULL-OBJEKT eine XPRESSO EX-

PRESSION auf und ziehen Sie das NULL-OBJEKT in densich öffnenden XPRESSO-EDITOR hinein.

Bevor nun die eigentlichen Partikel erzeugt wer-den, sollte man sich Gedanken über die Gruppe ma-chen, in der diese Partikel enthalten sein sollen.

Zum Zweck der Verwaltung und Erzeugung vonPartikel-Gruppen finden Sie im Menü ZUSÄTZE imXPRESSO-EDITOR den Eintrag THINKING PARTICLES >EINSTELLUNGEN... Dieser Dialog besteht aus zweigetrennten Seiten, die mit ALLGEMEIN und KANÄLE ge-kennzeichnet sind.

Für uns ist derzeit nur die ALLGEMEIN-Seite inter-essant, denn dort werden Gruppen erzeugt undverwaltet. Dafür wird das eingebettete Fenster imunteren Bereich des Dialogs benutzt. Dort ist be-reits eine Gruppe namens Alle vorhanden.

Da Partikel grundsätzlich nicht ohne Gruppe be-stehen können, ist diese Alle-Gruppe so konzipiert,dass sie tatsächlich immer alle Partikel enthält.Dies bedeutet, dass Sie auch dann noch, wenn Par-tikel in Gruppen organisiert sind, über die Alle-Gruppe an alle aktiven Partikel herankommen. DieAlle-Gruppe kann aus diesem Grund auch nicht ge-löscht werden.

Um eine eigene Gruppe hinzuzufügen öffnen Siedurch einen (Ctrl)- bzw. Rechtsklick auf das WortAlle ein Kontext-Menü und wählen dort HINZUFÜGEN

aus. Es erscheint eine neue Gruppe unterhalb derAlle-Gruppe.

|||| Abbildung 3.1: Null-Objekt

|||| Abbildung 3.2: Partikel-Gruppe erzeugen

Page 3: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111000011113.1 TP-Emitter erzeugen

kap03.fm Seite 101 Mittwoch, 4. Juni 2003 11:58 11

Benutzen Sie das Kontext-Menü erneut, diesmal je-doch für die neue Gruppe, und wählen Sie den Ein-trag EINSTELLUNGEN... aus.

Sie können in dem kleinen aufspringenden Dia-log den Namen sowie die Farbe und Darstellungsartder Partikel dieser Gruppe verändern. Dies ist spä-ter sehr hilfreich, um die einzelnen Gruppen im Edi-tor auseinander halten zu können. Nur so ist esmöglich zu kontrollieren, ob tatsächlich nur die ge-wünschten Partikel in einer bestimmten Gruppeenthalten sind. Machen Sie also besonders von derMöglichkeit der individuellen Farbwahl Gebrauch.

Partikel-Gruppen sind zudem nur über derenNamen auffindbar. Benutzen Sie also für jedeGruppe möglichst Namen, die bereits auf die Bewe-gung oder das Aussehen der Gruppe hindeuten.Doppelte Namen, also mehrere Gruppen mit demgleichen Namen, sind nicht erlaubt.

Da wir mit den Partikeln am unteren Ende desWirbels beginnen, können Sie diese Gruppe etwaBoden nennen, so wie ich es getan habe. DerEINSTELLUNGEN...-Dialog kann dann geschlossenwerden.

Erzeugen Sie im XPRESSO-EDITOR über das Kon-text-Menü oder über den XPRESSO-POOL einen PGRUPPE-Node. Sie finden diesen unter THINKING PAR-

TICLES > TP STANDARD. Mit diesem Node können Parti-kel in eine Gruppe geschleust werden.

Zuerst muss diesem Node mitgeteilt werden,welche Gruppe dafür benutzt werden soll.

Dazu finden Sie im ATTRIBUTE-MANAGER einDrag&Drop-Feld mit dem Titel P GRUPPE (der Buch-stabe P steht bei allen Nodes als Abkürzung für Par-tikel). In dieses Feld ziehen Sie direkt aus denTHINKING PARTICLES-EINSTELLUNGEN den Namen derGruppe hinein. In unserem Fall greifen Sie also dasWort Boden und ziehen es in das P GRUPPE-Feld imATTRIBUTE-MANAGER hinein.

Wir haben nun in unserer Schaltung ein Objektvorliegen, dem wir leicht die notwendigen Daten fürdie Richtung und Position entnehmen können, undeinen TP-Node, der Partikel in eine Gruppe leitet.Jetzt fehlen uns nur noch die eigentlichen Partikel.

Diese werden z.B. mit einem P STURM-Node er-zeugt, den Sie aus dem Eintrag THINKING PARTICLES >TP GENERATOR abrufen können. Dieser Node kannPartikel auf einer Ebene oder Scheibe mit beliebi-gen Abmessungen erzeugen und diese entlang ei-ner Richtung emittieren. Tatsächlich lassen sichhier noch viel mehr Parameter einstellen, aber inden meisten Fällen werden nur diese beiden Datenvon Interesse sein.

Aktivieren Sie an der Eingang-Seite des P STURM-Nodes die Ports für Emitter-Position und -Ausrich-tung. Am Node des NULL-OBJEKTS rufen Sie die Aus-gänge für GLOBALE POSITION und GLOBALE MATRIX auf.Verbinden Sie diese Ports, wie es die obige Darstel-lung zeigt. Der P STURM-Emitter benutzt dadurch diePosition und die Richtung der Z-Achse des Objekts,um die Partikel zu emittieren.

|||| Abbildung 3.3: P Gruppe-Node |||| Abbildung 3.4: TP-Emitter

Page 4: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111100002222 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 102 Mittwoch, 4. Juni 2003 11:58 11

Auf der Ausgang-Seite des P STURM-Nodes sollte einPort für die GEBORENEN PARTIKEL angelegt werden.Dort werden bei jeder Neuberechnung der Schal-tung neue Partikel von dem P STURM-Node ausgege-ben. Durch das Verbinden des PARTIKEL-Eingangs amP GRUPPE-Node mit dem GEBORENE PARTIKEL-Ausgangam P STURM-Node werden alle emittierten Partikelin die gewünschte Gruppe transferiert.

Aktivieren Sie den P STURM-Node durch einmali-ges Anklicken im XPRESSO-EDITOR um dessen Para-meter im ATTRIBUTE-MANAGER angezeigt zu bekom-men. Dies lohnt sich bei diesem Node durchaus,denn er stellt eine beeindruckende Anzahl an Optio-nen zur Verfügung (siehe Abbildung oben).

Ich beschränke mich hier nur auf die für unserBeispiel relevanten Werte. Diese beginnen mit derEMITTER-FORM. Damit ist die Form der Fläche ge-meint, in der die Partikel entstehen sollen. Da wir es

mit einem rotierenden Wirbelsturm zu tun haben,sollte die Fläche kreisförmig sein.

Die Einstellung für den Modus steuert die An-zahl der Partikel, die erzeugt wird. Sie haben dieWahl zwischen ANZAHL, RATE und SHOT. Je nach Mo-dus wird das entsprechende Zahlenfeld freigeschal-tet. RATE bedeutet, es wird eine bestimmte Anzahlvon Partikeln pro Sekunde der Animation erzeugt.Der ANZAHL-Modus erzeugt so lange Partikel, bis derAnzahl-Wert an aktiven Partikeln vorhanden ist. Eswerden dann nur noch neue Partikel erzeugt, wennalte Partikel „sterben“, also aus der Szene gelöschtwerden.

SHOT bezieht sich auf die Anzahl an Partikeln,die pro Bild der Animation erzeugt werden. Sie kön-nen in diesem Modus also auf einen Schlag die ge-wünschte Anzahl an Partikeln erzeugen lassen undden P STURM-Node dann über den AN-Eingang-Portwieder deaktivieren.

Ich habe hier den RATE-Modus bei einem Wertvon 100 gewählt. Es werden also pro Bild der Anima-tion 100 Partikel erzeugt.

Der RATE-Modus ist immer dann zu empfehlen,wenn ein kontinuierlicher Strom von Partikeln ge-braucht wird. Es muss nur darauf geachtet werden,dass dadurch die Anzahl der Partikel laufend zu-nimmt. Es sollte also auch auf eine begrenzteLEBENSZEIT geachtet werden.

Diese wird mit dem gleichnamigen Wert vorge-geben. Ein Wert von 500 B bedeutet, die Partikel„leben“ 500 Bilder lang und werden dann automa-tisch gelöscht. Diese Lebensspanne kann über ei-nen Prozentwert variiert werden, wenn nicht allePartikel nach der gleichen Zeit gelöscht werden sol-len.

Die Parameter für die ABMESSUNG der Partikel ha-ben nur dann eine Bedeutung, wenn Objekte mitden Partikeln verknüpft werden. Dann kann überdiesen Wert die Größe des Objekts pro Partikel ge-steuert werden. Dies ist in diesem Beispiel abernicht von Belang.

Wie Sie der Abbildung entnehmen können, habeich einen Geschwindigkeits-Wert von 0 eingetra-gen.

|||| Abbildung 3.5: Emitter-Parameter

Page 5: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111000033333.2 Partikel animieren

kap03.fm Seite 103 Mittwoch, 4. Juni 2003 11:58 11

Die Partikel bleiben also vorerst in der Emitter-Ebene. Wir werden etwas später selbst Richtungenund Geschwindigkeiten für jeden Partikel berech-nen.

Bleiben hier nur noch die Parameter für X- undY-GRÖßE zu nennen. Darüber wird die Größe deremittierenden Fläche gesteuert. In unserem Fallführt dies zu einem Kreis mit einem Durchmesservon 300 Einheiten als Emitter-Fläche. Da wir dasNULL-OBJEKT benutzt haben, um den Emitter auszu-richten, befindet sich diese Kreisfläche in der Welt-ZX-Ebene, also senkrecht zu der Z-Achse des NULL-OBJEKTS.

Damit die Partikel einen Bezug zur Szene haben,muss zusätzlich zu der Zuweisung einer Gruppeauch mindestens ein PARTIKEL-GEOMETRIE-Objekt vor-handen sein. Sie können dieses Objekt aus demMenü PLUG-INS unter dem Eintrag THINKING PARTICLES

> PARTIKEL-GEOMETRIE abrufen.Wie Sie im ATTRIBUTE-MANAGER ablesen können,

hat das PARTIKEL-GEOMETIE-Objekt wieder ein Drag&Drop-Feld für den Namen einer Partikel-Gruppe.Lassen Sie dieses Feld leer, so enthält dieses Ob-jekt automatisch alle Partikel. Es benutzt dann alsodie Alle-Gruppe.

Um Partikel-Gruppen individuelle Texturen undObjekte zuweisen zu können, sollte jedoch für jedePartikel-Gruppe ein eigenes PARTIKEL-GEOMETRIE-Objekt vorhanden sein.

Ziehen Sie den Namen unserer Boden-Partikel-Gruppe aus den THINKING PARTICLES-Einstellungen indas PARTIKEL-GRUPPE-Feld des PARTIKEL-GEOMETRIE-Objekts hinein.

Der THINKING PARTICLES-Emitter ist damit kom-plett und einsatzbereit. Leugnen zu wollen, dassder Weg bis hier hin umständlicher war als mit der„alten“ CINEMA 4D-Partikel-Lösung, hätte wohlkaum Sinn. Sie werden jedoch im Laufe der kom-menden Arbeitsschritte feststellen, wie viel flexib-ler wir mit den Bausteinen dieses Systems arbeitenkönnen.

3.2 Partikel animieren

Auf der folgenden Doppelseite stelle ich Ihnen denersten Teil der für unser Beispiel notwendigenSchaltung vor. Es geht bei diesem Teil der Schal-tung um die Erzeugung einer Rotationsbewegungder Partikel um die Z-Achse des Emitters herum. Zu-sätzlich soll eine Kraft auf das NULL-OBJEKT zu wir-ken, die abhängig von der Entfernung der Partikelvom NULL-OBJEKT ist. Das Resultat wird eine strudel-förmige Bewegung der Partikel sein. Die Partikelwerden dabei vorläufig noch nicht die Emitter-Ebene verlassen.

Wie bereits gewohnt, habe ich die Nodes in derAbbildung nummeriert, um eine eindeutige Zuord-nung zu dem erläuternden Text zu erlauben. DieNummerierung gibt zudem den Ablauf der Erstel-lung der Nodes wieder.

Trotz gesteigerter Sorgfalt kann es nicht immervermieden werden, dass Verbindungen teilweisehinter Nodes verlaufen. Ich werde im Text daher dienotwendigen Verbindungen jedes Nodes zusätzlichaufgreifen und erläutern. Um die Übersichtlichkeitzu steigern habe ich zudem die Lage von Ports in ei-nigen Fällen geändert. Dies kann helfen, sich über-schneidende Verbindungen zu entwirren. Dazu hal-ten Sie die (Alt)-/(Å)-Taste zusammen mit derMaustaste gedrückt und verschieben den Port verti-kal an die gewünschte Position.

|||| Abbildung 3.6: Partikel-Geometrie

Page 6: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111100004444 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 104 Mittwoch, 4. Juni 2003 11:58 11

Bevor Sie beginnen, Nodes aufzurufen, vergrößernSie den XPRESSO-EDITOR auf die Ihnen maximal mög-liche Größe und benutzen die Navigations-Icons ander rechten oberen Seite des Editors, um die bis-lang vorhandene Schaltung mit dem P STURM-Nodean den oberen Rand des XPRESSO-EDITORS zu ver-schieben.

Rufen Sie einen MATRIX ZU VEKTOREN-Node auf(Ziffer 1) und verbinden Sie diesen mit dem GLOBALE

MATRIX-Port des NULL-OBJEKT-Nodes. Wir haben da-durch Zugriff auf die globale Position und die Rich-tungsvektoren aller drei Objekt-Achsen.

Rufen Sie einen P PASS-Node unter THINKING

PARTICLES > TP INITIATOR ab (Ziffer 2) und weisen Siediesem im ATTRIBUTE-MANAGER per Drag&Drop dieBoden-Gruppe aus den THINKING PARTICLES-EINSTEL-

LUNGEN zu. Am Ausgang dieses Nodes liegen nun allePartikel, die in der Boden-Gruppe enthalten sind.

Schließen Sie an den Ausgang des P PASS-Nodeseinen P DATEN LESEN-Node aus der Rubrik THINKING

PARTICLES > TP HELFER an (Ziffer 3). Mit Hilfe diesesNodes können diverse Daten jedes eingeleitetenPartikels abgefragt werden.

Wählen Sie auf der Ausgang-Seite diese Nodesden POSITION-Port aus. Dort liegen dann nacheinan-

der alle aktuellen Positions-Vektoren der Boden-Partikel an.

Rufen Sie einen MATHE-Node auf (Ziffer 4), schal-ten Sie diesen Node auf den VEKTOR-Datentyp umund aktivieren Sie den SUBTRAHIEREN-Modus. Verbin-den Sie den oberen Eingang mit dem POSITION-Aus-gang des P DATEN LESEN-Nodes. Der untere Eingangmuss mit dem OFFSET-Ausgang des MATRIX ZU VEKTO-

REN-Nodes verbunden werden. Das Resultat dieserBerechnung ist ein Vektor, der von der Position desNULL-OBJEKTS zu der Position des gerade berechne-ten Partikels zeigt.

Erzeugen Sie einen zweiten MATHE-Node (Ziffer5) aus einer Kopie des Ziffer-4-Nodes und verbindenSie dessen Eingänge in exakt umgekehrter Reihen-folge. Der obere Eingang kommt also an Ziffer 1 undder untere an Ziffer 3. Der Ergebnis-Vektor weist da-durch von der Position jedes Partikels auf die Posi-tion des NULL-OBJEKTS.

Bildet man das Kreuzprodukt aus dem Vektor,der von dem NULL-OBJEKT zum Partikel weist unddem Vektor der Z-Achse des NULL-OBJEKTS, so erhältman einen Vektor, der senkrecht zu diesen beidenVektoren steht. Um die Partikel um das NULL-OBJEKT

kreisen zu lassen, kann der so durch das Kreuzpro-

|||| Abbildung 3.7: Rotationsbewegung erzeugen

Page 7: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111000055553.2 Partikel animieren

kap03.fm Seite 105 Mittwoch, 4. Juni 2003 11:58 11

dukt berechnete Vektor als Richtungsvektor be-nutzt werden.

Diese Berechnung findet in dem Ziffer-6-KREUZ-

PRODUKT-Node statt. Achten Sie bei den Verbindun-gen darauf, dass oben der V3-Vektor des NULL-OBJEKTS und unten der Ziffer-4-Ergebnisvektor ange-schlossen wird. Bei einer Vertauschung der Verbin-dungen weist der KREUZPRODUKT-Vektor in die entge-gengesetzte Richtung, was später zu einemanderen Drehsinn führen würde.

Über einen ALLGEMEIN-Adapter-Node (Ziffer 7),der auf den Datentyp NORMALE eingestellt ist, kannder KREUZPRODUKT-Vektor normiert, also auf dieStandardlänge von einer Einheit gebracht werden.Kopieren Sie den ALLGEMEIN-Node (Ziffer 8) und ver-binden Sie dessen Kopie mit dem Ziffer-5-MATHE-Node. Dadurch haben wir auch die Länge des vomPartikel auf das NULL-OBJEKT weisenden Vektors nor-miert. Kopieren Sie den ALLGEMEIN-Node ein weite-res Mal (Ziffer 9) und wechseln Sie diesmal dessenDatentyp auf REALE. In dieser Betriebsart wird dieLänge eines eingeleiteten Vektors berechnet.

Diese Länge entspricht dem Abstand eines Par-tikels vom NULL-OBJEKT. Dieser Wert kann benutztwerden, um die Schnelligkeit der Partikel-Rotationund der Bewegung in Richtung des NULL-OBJEKTS zu

steuern. Dafür eignet sich besonders ein BEREICHS-

WANDLER-Node (Ziffer 10), da wir dort über eineSpline-Kurve die Umrechnung der Länge zu einemGeschwindigkeitswert steuern können.

Welche Einstellungen wir dort vornehmen,stelle ich Ihnen etwas später vor. Belassen Sie esalso bis dahin bei der Verbindung des Eingang-Ports mit dem Ausgang des Ziffer-9-Ausgang-Ports.

Kopieren Sie den BEREICHSWANDLER-Node (Ziffer11) und verbinden Sie den Eingang-Port der Kopieerneut mit dem Ziffer-9-Node.

Wir haben nun also einen normierten Vektor(Ziffer 7), der in Richtung der gewünschten Flugrich-tung weist, einen weiteren normierten Vektor (Ziffer8), der vom Partikel in Richtung NULL-OBJEKT zeigt,und zwei Real-Werte, die sich über eine noch zu be-stimmende Umrechnung in den BEREICHSWANDLER-Nodes (Ziffer 10 und Ziffer 11) aus dem Abstand vonPartikel und NULL-OBJEKT ergibt.

Über zwei GEMISCHTE MATHE-Nodes (Ziffer 12 undZiffer 13), die beide im VEKTOR-Format arbeiten undden MULTIPLIZIEREN-Modus benutzen, können wir dienormierten Vektoren mit den berechneten Real-Werten multiplizieren und so deren Länge in Abhän-gigkeit von der Distanz zwischen Partikel und NULL-OBJEKT selbst bestimmen.

|||| Abbildung 3.8: Rotationsbewegung erzeugen

Page 8: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111100006666 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 106 Mittwoch, 4. Juni 2003 11:58 11

Addiert man die so ermittelten Vektoren (Ziffer 14,MATHE-Node Addieren im VEKTOR-Modus) ergibtsich ein neuer Vektor, der beide Vektor-Anteile insich vereint. Je nachdem wie die Berechnungen inden Bereichswandlern angelegt werden, wirken die„Kräfte“ in der gewünschten Flugrichtung und aufdas NULL-OBJEKT zu unterschiedlich stark.

In der obigen Abbildung habe ich Ihnen zumbesseren Verständnis die berechneten Vektorennoch einmal schematisch und beispielhaft für eineneinzigen Partikel dargestellt.

Die im Ziffer-9-Node berechnete Vektorlängeentspricht dem aktuellen Abstand des Partikelsvom NULL-OBJEKT.

Bildet man das Kreuzprodukt über der Z-Achsedes NULL-OBJEKTS und dem Vektor zwischen Partikelund NULL-OBJEKT – in der obigen Darstellung ist dieKreuzprodukt-Fläche bräunlich dargestellt –, so er-hält man einen Vektor, der schließlich über den Zif-fer-12-Node eine individuelle Länge erhält.

Dieser Vektor liegt in der gewünschten Rota-tionsebene und somit in der XY-Ebene des NULL-OBJEKTS. Senkrecht darauf steht der Vektorzwischen Partikel und NULL-OBJEKT, der über den Zif-fer-13-Node skaliert wird. Je länger dieser Vektorwird, desto schneller wird sich der Partikel demNULL-OBJEKT nähern.

Wir haben es nun selbst in der Hand, wie stark diebeiden Richtungen über die Bereichswandler in Ab-hängigkeit zum Abstand zwischen Partikel undNULL-OBJEKT gebracht werden sollen. In der obigenAbbildung sehen Sie meinen Vorschlag für den Zif-fer-10-BEREICHSWANDLER-Node.

Zuerst wird der Eingangsbereich auf Werte zwi-schen 0 und 350 eingestellt. Da wir eine Emitter-Größe von 300 Einheiten benutzen, haben wir damiteine zusätzliche Sicherheit für den Fall eingebaut,dass sich Partikel durch andere eventuell in derSzene wirkende Kräfte noch weiter von dem Emitterentfernen sollten.

Die gewählten AUSGANG-Werte zwischen 100 und0.1 bedeutet, dass Partikel mit einer Entfernung von350 Einheiten vom NULL-OBJEKT zu einem AUSGANG-Wert von 0.1 führen. Partikel, die keinen messbarenAbstand zum NULL-OBJEKT haben, führen zu einemErgebnis von 100.

Normalerweise findet für eingeleitete Wertezwischen den gesetzten Grenzen eine lineare Um-rechnung in den Ausgang-Wertebereich statt. Istdie SPLINE BENUTZEN-Option des BEREICHSWANDLER-Nodes aktiviert, kann jedoch durch Hineinklicken inden Spline-Graphen auch eine eigene Umrech-nungskurve vorgegeben werden.

|||| Abbildung 3.9: Theoretische Überlegungen

Abbildung 3.10:||||Bereichswandler

Page 9: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111000077773.2 Partikel animieren

kap03.fm Seite 107 Mittwoch, 4. Juni 2003 11:58 11

Die Kurve wird dabei von links unten nach rechtsoben „gelesen“. Links unten finden sich die Wertefür den kleinsten Eingang und den kleinsten Aus-gang wieder. Ein Spline-Punkt auf dieser Positionbedeutet also, dass ein eingeleiteter Wert, der demvorgegebenen Wert für den minimalen Eingang ent-spricht, zu einem Ergebnis führt, das dem des vor-gegebenen Werts für den kleinsten Ausgangentspricht.

Gleiches gilt für die rechte obere Ecke desSpline-Graphen. Ist dort ein Spline-Punkt platziert,führt dies dazu, dass ein eingeleiteter Wert, derdem des maximalen Eingangs entspricht, zu einemErgebnis führt, das dem des maximalen Ausgangsentspricht.

Steigt die Kurve wie in diesem Fall nur sehr mä-ßig an, um dann im letzten Abschnitt stark anzustei-gen, so bedeutet dies, dass auch eingeleiteteWerte, die eigentlich schon in der Mitte des defi-nierten Eingangsbereichs liegen, noch zu Ergebnis-sen führen, die eher am minimalen Rand des Aus-gangsbereichs liegen.

Dieser „Rückstand“ gegenüber der linearen Berech-nung wird dann in der zweiten Hälfte des definier-ten Eingangsbereichs kräftig nachgeholt. In der Pra-xis unseres Beispiels bedeutet dies, dass größereAbstände zwischen NULL-OBJEKT und Partikel zuerstzu betragsmäßig eher geringen Ergebnissen führen.Je näher sich Partikel und NULL-OBJEKt jedoch kom-men, desto stärker steigen die Werte an.

Im Ziffer-11-BEREICHSWANDLER-Node habe ichganz ähnlich gearbeitet, wenn dort auch der Aus-gangsbereich etwas kleiner gewählt wurde (siehenebenstehende Abbildung).

Diese Node war über die Multiplikation des Zif-fer-13-Nodes für die Annäherung von Partikeln undNULL-OBJEKt zuständig. Wenn Sie die Werte für denEingangs- und den Ausgangsbereich betrachten, sokönnen Sie daraus schließen, dass große Abständezwischen Partikeln und dem NULL-OBJEKt nur zu ge-ringen Ergebnissen führen.

Ein Blick auf den angelegten Spline-Graphenmacht jedoch deutlich, dass sich dies bei kleinerenAbständen sehr schnell ändert. Grob geschätzt be-deutet diese Kurve, dass für Partikel mit einem Ab-stand zwischen 0 und 175 Einheiten der Wert deskleinsten Ausgangs ausgegeben wird. Sie könnendies daran erkennen, dass der Spline ungefähr aufder halben Länge des Eingang-Wertebereichs aufder Koordinate des kleinsten Ausgangs verweilt(Y min).

Wie sich das Zusammenspiel der beiden Be-reichswandler auf die tatsächliche Bewegung derPartikel auswirkt, lässt sich bislang nur erahnen. Esist daher im Umgang mit Bereichswandlern und de-ren Splines oft unerlässlich, nach der Betrachtungim Editor nachzujustieren, bis das gewünschte Ver-halten eintrifft.

Um das Resultat unserer Bemühungen begut-achten zu können, muss der im Ziffer-14-MATHE-Node berechnete Vektor zuerst auf die Partikelübertragen werden. Dies erledigt ein P DATEN SET-

ZEN-Node (THINKING PARTICLES > TP STANDARD). Es han-delt sich dabei um das Gegenstück des P DATEN

LESEN-Nodes, denn dieser Node kann Werte an diePartikel schicken anstatt nur Daten auszulesen.

|||| Abbildung 3.11: Bereichswandler

Page 10: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111100008888 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 108 Mittwoch, 4. Juni 2003 11:58 11

Aktivieren Sie den Eingang für die GESCHWINDIGKEIT

und verbinden Sie diesen Port dann mit dem Aus-gang des Ziffer-14-MATHE-Nodes.

Sie werden sich vielleicht wundern, warum wirfür die Geschwindigkeit eines Partikels einen Vek-tor verwenden, aber physikalisch gesehen ist jedeGeschwindigkeit ein Vektor. Die Geschwindigkeitenthält nämlich nicht nur den Betrag der Geschwin-digkeit, sondern auch die Richtung der Fortbewe-gung.

Wird nun noch der PARTIKEL-Eingang am Ziffer-15-Node mit dem PARTIKEL-Ausgang des Ziffer-2-PPASS-Nodes verbunden, bekommen alle Partikel derBoden-Gruppe einen Geschwindigkeitsvektor zuge-wiesen, der abhängig ist von der Entfernung jedesPartikels vom NULL-OBJEKT.

Schließen Sie nun den XPRESSO-EDITOR um freieSicht auf die Editor-Ansichten zu haben und lassenSie die Animation mit der Abspielen-Taste ablaufen.

Es sollte sich Ihnen eine strudelförmige Bewe-gung der Partikel zeigen, wie ich sie in der obigenAbbildung durch Überblendung versucht habe dar-zustellen. Wenn Sie mit dem Ergebnis noch nichtzufrieden sind, benutzen Sie die BEREICHSWANDLER-Splines, um die Partikel-Geschwindigkeit bzw. de-ren Zunahme in Abhängigkeit zum Abstand zu steu-ern.

3.3 Gruppenwechsel

Wir haben damit die Grundbewegung der Partikel inBodennähe erzeugt. Nun gilt es die Partikel, diedem NULL-OBJEKT bis zu einem gewissen Punkt nahegekommen sind, in einen Strudel zu verwandeln,der sich senkrecht entlang der Z-Achse des NULL-OB-

JEKTS aus der Emitter-Ebene hinaufschraubt.Das Verhalten dieser Partikel ist also nicht mit

dem der Partikel am Boden zu vergleichen, obwohlauch eine Rotationsbewegung stattfinden soll. Wirsollten hier also eine neue Partikel-Gruppe benut-zen und Partikel aus der Boden-Gruppe über eineBedingung aussortieren und in die neue Gruppetransferieren.

Nun, das Aussortieren lässt sich z.B. über denschon so oft benutzten Abstand der Partikel vomNULL-OBJEKT steuern. Wenn ein bestimmter Abstandunterschritten wird, soll automatisch der Gruppen-wechsel erfolgen. Derartige Überprüfungen lassensich gut mit einem VERGLEICH-Node erledigen.

Rufen Sie also einen VERGLEICH-Node aus demEintrag XPRESSO > LOGIK ab und benutzen Sie dort die„kleiner gleich“-Funktion (<=) für Real-Zahlen. Ver-binden Sie den oberen Eingang des Nodes mit demAusgang des Ziffer-9-ALLGEMEIN-Nodes. Dort lag ja

|||| Abbildung 3.12: Partikel-Strudel

|||| Abbildung 3.13: Vergleich-Node

Page 11: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111000099993.3 Gruppenwechsel

kap03.fm Seite 109 Mittwoch, 4. Juni 2003 11:58 11

der Abstand der Partikel vom NULL-OBJEKT an. Denunteren Eingang beschicken Sie über den ATTRIBUTE-MANAGER mit dem Zahlenwert 50 (siehe obige Abbil-dung).

Öffnen Sie die EINSTELLUNGEN für die THINKING

PARTICLES (ZUSÄTZE-Menü im XPRESSO-EDITOR), selek-tieren Sie dort die Alle-Gruppe durch einmaligesAnklicken des Wortes Alle und öffnen Sie dann dasbereits benutzte Kontext-Menü, um eine weitereGruppe hinzuzufügen.

Nennen Sie diese Gruppe mit der Benutzung desEINSTELLUNGEN...-Eintrags im Kontext-Menü z.B. ImWirbel, so wie Sie es in obiger Abbildung sehen.Diesmal soll uns die Standardfarbe „Weiß“ reichen.

Schließen Sie das Einstellungen...-Fenster wie-der, aber lassen Sie den Hauptdialog für die THIN-

KING PARTICLES-EINSTELLUNGEN noch offen. Wir müssengleich wieder über Drag&Drop auf die Partikel-Gruppen dort zurückgreifen.

Rufen Sie ein P GRUPPE-Node aus dem EintragTHINKING PARTICLES > TP STANDARD ab und ziehen Sieden Namen Im Wirbel aus den THINKING PARTICLES-EINSTELLUNGEN in das P GRUPPE-Drag&Drop-Feld desP GRUPPE-Nodes im ATTRIBUTE-MANAGER hinein.

Aktivieren Sie nun zusätzlich den AN-Eingang-Port am P GRUPPE-Node. Dieser Port ist für Boole-Werte ausgelegt, also für die Werte 0 und 1.

Liegt an diesem Port eine 1 an, wird der P GRUPPE-Node aktiviert und führt seine Arbeit normal aus.Liegt dagegen eine 0 an, so wird der Node deakti-viert und blockt alle Daten ab, die an ihn herange-tragen werden.

Verbinden Sie diesen AN-Eingang mit dem Aus-gang des VERGLEICH-Nodes. Wir haben damit eineif-Schaltung wie in C.O.F.F.E.E.-Programmen simu-liert.

Ist der Abstand eines Partikels kleiner als der imVERGLEICH-Node angegebene Wert von aktuell 50Einheiten, dann wird der P GRUPPE-Node aktiviertund kann das Partikel in die Im Wirbel-Gruppetransferieren.

Es fehlt uns dafür nur noch die Verbindung zwi-schen dem P PASS-Node mit den Partikeln der Bo-den-Gruppe und dem PARTIKEL-Eingang des neuen PGRUPPE-Nodes.

Der automatisierte Gruppenwechsel der Partikelist damit vollzogen. Da alle bislang durchgeführtenBerechnungen nur auf die Partikel-Gruppe Bodenbezogen werden, sind die aussortierten Partikel inder Im Wirbel-Gruppe davon fortan völlig entbun-den. Die Im Wirbel-Partikel werden einfach diezuletzt gesetzte Geschwindigkeit und Richtung bei-behalten.

|||| Abbildung 3.14: „Im Wirbel“-Gruppe |||| Abbildung 3.15: Gruppenzuweisung

Page 12: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111111110000 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 110 Mittwoch, 4. Juni 2003 11:58 11

Die obige Abbildung zeigt Ihnen die ergänzten No-des noch einmal im Bild.

Der Ziffer-1-Node überprüft, ob der Abstandeines gerade berechneten Partikels der Boden-Gruppe kleiner oder gleich 50 Einheiten beträgt.Wenn dem so ist, liefert der VERGLEICH-Node eineboolesche „1“ als Ergebnis.

Dieser Wert wird an einen P GRUPPE-Node unddort an den AN-Eingang weitergeleitet (Ziffer 2). Liegteine positive Überprüfung des Abstands vor, wirddamit der P GRUPPE-Node aktiviert und der geradeberechnete Partikel wird in den Node eingelassen.

Damit dieses System so funktionieren kann,muss immer auf den gleichen Partikel Bezug ge-nommen werden. Es würde schließlich wenig Sinnmachen, einen Partikel auf den Abstand zu überprü-fen und dann einen ganz anderen die Gruppe wech-seln zu lassen, wenn der vorgegebene Abstandunterschritten wurde.

Damit dies gegeben ist, müssen alle Partikel ausdem gleichen P PASS-Node stammen. Dieser Nodelässt sich in gewisser Weise mit einer for-Schleifeaus C.O.F.F.E.E. vergleichen. Er gibt nacheinanderalle Partikel der gewünschten Gruppe aus. Wennalle übrigen Nodes mit dem Ausgang dieses P PASS-Nodes verbunden sind, ist sichergestellt, dass alleNodes mit dem gleichen Partikel hantieren.

Ich erwähne dies nur deshalb so ausführlich, daes ebenfalls möglich ist, mehrere P PASS-Nodes mit

der gleichen Gruppe in der Schaltung zu verwen-den. Dann würde jeder P PASS-Node jedoch zu un-terschiedlichen Zeiten mit der Ausgabe der Partikelbeginnen und eine direkte Zuordnung von Wertenund Partikeln wäre nicht mehr möglich.

3.4 Daten-Kanäle benutzen

Sicherlich haben Sie in den THINKING PARTICLES-EIN-

STELLUNGEN bereits die zweite noch vorhandene Dia-log-Seite entdeckt, auf der die so genannten Kanäledefiniert werden können (siehe obige Abbildung).

Sie können sich darunter eigene Variablen vor-stellen, die jeder einzelne Partikel erhält. Sie kön-nen also jedem Partikel ein eigenes Datenpaketschnüren um dort individuelle Werte zu speichern.

Dazu geben Sie in das untere Textfeld (Ziffer 1)den gewünschten Namen der Variable bzw. des Ka-nals ein und wählen den Datentyp dieses Kanals(Ziffer 2). Danach bestätigen Sie die Eingaben überdie ADD.-Schaltfläche. Alle Daten-Kanäle tauchendann unter dem gewählten Namen und mit dem je-weiligen Datentyp als Anhang in der Liste auf derKANÄLE-Seite des Dialogs auf.

|||| Abbildung 3.16: Partikel aussortieren

Abbildung 3.17:||||Daten-Kanäle

Page 13: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111111111113.4 Daten-Kanäle benutzen

kap03.fm Seite 111 Mittwoch, 4. Juni 2003 11:58 11

Übernehmen Sie meine Kanal-Namen Spline-Posi-tion und Radius, wobei beide Kanäle den REAL-Da-tentyp benutzen werden, also Fließkomma-Zahlen.

Wir werden diese Kanäle etwas später benut-zen, um jedem Partikel eine individuelle Position indem Wirbel zuweisen zu können. Unter anderemwird dadurch eine gleichmäßige Aufwärtsbewe-gung aller Partikel und die Beibehaltung des ur-sprünglichen Abstands vom Rotationszentrumgesteuert.

Eine ganz ähnliche Technik, Objekten individuelleDatenpakete zuzuweisen, kennen Sie bereits vonden Benutzerdaten her.

Auch davon möchte ich nun regen Gebrauch ma-chen, denn unser Wirbelsturm hat eine ganze Reihevon Parametern, die es wert sind, leicht von außenerreichbar zu sein. Denken Sie nur an die Geschwin-digkeit der Partikel oder an die Anzahl der emittier-ten Partikel bzw. deren Lebenszeit.

Natürlich könnte man dies bei Bedarf auch inder Schaltung direkt verändern, aber das ist dochrecht umständlich, zumal bei einer derart komple-xen Schaltung wie der unseren.

Erzeugen Sie daher für das NULL-OBJEKT über dasBENUTZERDATEN-Menü im ATTRIBUTE-MANAGER nach-einander die fünf Datenkanäle, die auf dieser Seitedokumentiert sind.

Die eingestellten Grenzwerte sind eher gefühls-mäßig gewählt. Sie können ja auch später noch zujedem Zeitpunkt die Grenzen der Benutzerdatenverändern.

Der untere Teil der obigen Abbildung zeigt Ihnendas Endresultat im ATTRIBUTE-MANAGER, nachdemalle Benutzerdaten aktiviert wurden.

|||| Abbildung 3.18: Benutzerdaten

|||| Abbildung 3.19: Benutzerdaten

Page 14: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111111112222 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 112 Mittwoch, 4. Juni 2003 11:58 11

Im nächsten Schritt geht es nun darum, die Benut-zerdaten in die XPRESSO-Schaltung einfließen zulassen. Ich beginne dazu mit dem P STURM-Node.Aktivieren Sie dort die Eingang-Ports für die LEBENS-

ZEIT und für die RATE.Sie können nun entweder den bereits vorhande-

nen Node für das NULL-OBJEKT um die zwei Benutzer-daten-Ausgänge für die Lebenszeit und die Partikel-Anzahl erweitern, oder Sie ziehen das NULL-OBJEKT

einfach noch einmal in die Schaltung und fügen dortdie genannten Ausgang-Ports hinzu. Ich habe michaus optischen Gründen für die zweite Variante ent-schieden. Für die Arbeitsweise der Schaltung istdies jedoch ohne Bedeutung.

Wie Sie obiger Abbildung entnehmen können,habe ich zudem im OBJEKT-MANAGER den Namen desNULL-OBJEKTS auf Wirbel-Emitter geändert. Alle ehe-maligen Null-Objekt-Node passen ihre Namendaraufhin automatisch an. Es müssen bei Namens-änderungen im OBJEKT-MANAGER also keine neuenNodes erzeugt werden. Ein weiterer Vorteil gegen-über C.O.F.F.E.E. EXPRESSIONS, die nur namensba-siert auf Objekte Bezug nehmen können.

Verbinden Sie schließlich die passenden Portsmiteinander. Ab nun können Sie direkt im ATTRIBUTE-MANAGER die Lebenszeit der Partikel und die Aus-stoß-Rate des Emitters steuern, ohne die Schaltung

im XPRESSO-EDITOR öffnen zu müssen. Fügen Sie andem BEREICHSWANDLER-Node, der für die Steuerungder Länge des Rotationsvektors zuständig ist, einenPort für KLEINSTER EINGANG hinzu (siehe obige Abbil-dung). Der dort angelegte Wert steuert die Größedes Rotationsvektors in unmittelbarer Nähe einesPartikels zur Rotationsachse. Dies bedeutet, dassSie über diesen Wert die Geschwindigkeit der Rota-tion steuern können.

Ziehen Sie daher das Wirbel-Emitter-Objekt ausdem OBJEKT-MANAGER erneut in den XPRESSO-EDITOR

hinein und aktivieren Sie dort diesmal den Ausgangfür den Benutzerdaten-Wert Geschw. Rotation. Ver-binden Sie diesen Port mit dem Port KLEINSTER AUS-

GANG am BEREICHSWANDLER-Node.Ziehen Sie Wirbel-Emitter ein weiteres Mal in

den XPRESSO-EDITOR, rufen Sie den Ausgang für denBenutzerdaten-Wert Wirbel-Radius auf und verbin-den Sie diesen mit dem bislang unverschaltetenEingang-Port des VERGLEICH-Nodes (siehe obige Ab-bildung).

Dort hatten wir bislang direkt über den ATTRI-

BUTE-MANAGER einen Wert von 50 Einheiten anliegen.Nun kann bei aktivem Wirbel-Emitter-Objekt dieserWert auch dann im ATTRIBUTE-MANAGER geregelt wer-den, wenn der XPRESSO-EDITOR geschlossen und derNode nicht selektiert ist.

|||| Abbildung 3.20: Benutzerdaten verschalten

Abbildung 3.21:||||Benutzerdaten einfließen lassen

Page 15: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111111133333.4 Daten-Kanäle benutzen

kap03.fm Seite 113 Mittwoch, 4. Juni 2003 11:58 11

Nun kommen wir zu einem Abschnitt der Schaltung,in dem wir erstmals die zuvor definierten Partikel-Kanäle benutzen können. Diese sollen den Zweckerfüllen, dass sie einerseits den Abstand des Parti-kels zum Null-Objekt in dem Augenblick speichern,in dem der Wechsel von der Boden- in die Im Wirbel-Gruppe erfolgt. Zudem soll dort die Position jedesPartikels entlang eines noch zu erstellenden Spli-nes dokumentiert werden.

Sie werden sich vielleicht fragen, warum wir fürjeden Partikel einzeln den Abstand feststellen undspeichern müssen. Haben wir nicht bereits im VER-

GLEICH-Node einen Abstand-Wert definiert, bei des-sen Unterschreitung der Gruppenwechsel der Parti-kel erfolgt?

Dies stimmt natürlich, aber schauen Sie sich dieFunktion im VERGLEICH-Node noch einmal genaueran. Dort hatten wir den Ausdruck „<=“ verwendet.D. h. es werden nicht nur die Partikel in die Im Wir-bel-Gruppe verschoben, die exakt gleich weit vomNULL-OBJEKT entfernt sind, wie der untere Eingangdes VERGLEICH-Nodes dis angibt, sondern auch Parti-kel, die eventuell einen noch geringeren Abstandhaben.

Sie dürfen nicht vergessen, dass Partikel gleich-mäßig über die gesamte Fläche des Emitters er-zeugt werden, also auch nahe am Ursprung desNULL-OBJEKTS. Zudem kann es immer vorkommen,dass Partikel aufgrund ihrer Geschwindigkeit ineinem Bild der Animation noch außerhalb der Ver-gleichs-Weite sind und dann im nächsten Bild be-reits weit hinter dem Grenz-Abstand liegen.

Damit alle Partikel auch nach dem Wechsel derGruppen und dem Beginn neuer Bewegungen nochden alten Abstand zur Rotationsachse behalten,macht es also Sinn, die tatsächlichen Abstände je-des einzelnen Partikels festzuhalten.

Zur Berechnung des aktuellen Abstands benut-zen wir die bereits bekannte Schaltung. ErzeugenSie dazu einen P DATEN LESEN-Node mit einem Aus-gang für die Position. Verbinden Sie den Eingang-Port dieses Nodes mit dem Ausgang des P PASS-Nodes der Boden-Gruppe.

Ziehen Sie das Wirbel-Emitter-Objekt erneut indie Schaltung und erzeugen Sie an dessen Node ei-nen Ausgang für die GLOBALE POSITION. Verbinden Siediesen Ausgang mit dem Eingang eines neuenMATHE-Nodes, den Sie im Vektor-Modus auf Sub-traktion geschaltet haben. An den anderen Eingangdieses MATHE-Nodes kommt der POSITION-Ausgangdes P DATEN LESEN-Nodes.

Benutzen Sie einen nachgeschalteten ALLGE-

MEIN-Adapter-Node im REAL-Modus, um den Ergeb-nis-Vektor des MATHE-Nodes auf eine Länge umzu-rechnen. Dies ist nun also der Abstand zwischenPartikel und Null-Objekt.

Rufen Sie einen P DATEN SETZEN-Node aus denTHINKING PARTICLES-Nodes ab und aktivieren Sie dortdie Eingänge für die beiden Daten-Kanäle SPLINE-POSITION und RADIUS sowie für AN.

Verbinden Sie den Radius-Eingang mit dem Aus-gang des neuen ALLGEMEIN-Nodes.

|||| Abbildung 3.22: Partikel-Kanäle füllen

Page 16: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111111114444 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 114 Mittwoch, 4. Juni 2003 11:58 11

Erzeugen Sie einen KONSTANTE-Node aus der GruppeXPRESSO > ALLGEMEIN und tragen Sie für diesen imATTRIBUTE-MANAGER den Wert 0 ein. Verbinden Siedessen Ausgang-Port mit dem Eingang Spline-Posi-tion am P DATEN SETZEN-Node.

Welchen Sinn dies macht, werde ich etwas spä-ter noch erläutern.

Verbinden Sie den Ausgang des VERGLEICH-Nodes mit dem AN-Port. Die Daten werden also nurdann in den Partikel geschrieben, wenn der Abstanddes Partikels dies im VERGLEICH-Node auslöst. Zu-dem ist der VERGLEICH-Node ja nur auf die Boden-Gruppe beschränkt. Dies bedeutet, dass nur diePartikel, die gerade eben erst von der Boden- in dieIm Wirbel-Gruppe gewechselt sind, Daten erhalten.

Dies sorgt dafür, dass nur der zuletzt gemes-sene Abstand in jedem Partikel gespeichert wird.

Verbinden Sie schließlich den Partikel-Eingangam P DATEN SETZEN-Node mit dem Ausgang des PPASS-Node der Boden-Gruppe.

Im nächsten Abschnitt der Schaltung werden wiraus dem Benutzerdaten-Wert GESCHW. HÖHE eineZahl ermitteln, die einem Bruchteil von 1 entspricht,der multipliziert mit der Anzahl an vorgegebenenBildern 1 ergibt. Dies klingt komplizierter, als es ist.Sehen Sie sich dazu die obige Schaltung an, die Sieunter der bereits vorhandenen Schaltung anfügenkönnen.

Beginnen Sie damit, einen neuen P PASS-Nodezu erzeugen. Weisen Sie diesem die Im Wirbel-Gruppe im ATTRIBUTE-MANAGER zu.

Ziehen Sie nun den bereits oft benutzten Wirbel-Emitter aus dem OBJEKT-MANAGER in den XPRESSO-EDITOR hinein und aktivieren Sie dort den Ausgangfür Geschw. Höhe.

Sie benötigen als Nächstes einen MATHE-Nodeim DIVIDIEREN-Modus. Der obere Eingang muss imATTRIBUTE-MANAGER mit der Zahl 1 belegt werden. Deruntere Eingang wird mit dem Ausgang des Wirbel-Emitter-Nodes verschaltet. Dieser MATHE-Node wirdalso den beschriebenen Bruchteil von 1 berechnen.

Fügen Sie der Schaltung einen P DATEN LESEN-Node hinzu, an dem Sie den Ausgang für den KanalSpline-Position aktiviert haben. Verbinden Sie denPARTIKEL-Eingang dieses Nodes mit dem neuen PPASS-Node der Im Wirbel-Gruppe. Auf diese Weisewird also der Wert im Kanal Spline-Position aus je-dem Partikel der Im Wirbel-Gruppe ausgelesen.

Addieren Sie mit einem MATHE-Node zu diesemWert das Ergebnis des MATHE-Nodes mit dem Bruch-teil von 1 hinzu.

Da jede XPRESSO-Schaltung ein Mal pro Bild derAnimation aufgerufen wird, wird in jedem Bild derAnimation der Bruchteil von 1 zu dem Wert derSpline-Position addiert.

Da der Benutzerdaten-Wert für Geschw.: Höhe/Frames als indirekte Zeitangabe definiert ist, – alsowie viele Bilder ein Partikel benötigt um die Höhe zuerreichen – und wir die Höhe in dem dividierendenMATHE-Node mit 1 definiert haben, wird der Zahlen-wert für die Spline-Position bei 0 starten und dannin jedem Bild um den Wert 1/Gesch. Höhe erhöht.

|||| Abbildung 3.23: Aufwärtsbewegung der Partikel

Page 17: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111111155553.4 Daten-Kanäle benutzen

kap03.fm Seite 115 Mittwoch, 4. Juni 2003 11:58 11

Nach Geschw.: Höhe/Frames Bildern beträgt derSpline-Position-Wert also exakt 1.

Wenn Sie sich an einige der vorangegangenenXPRESSO-Beispiele erinnern, so fällt Ihnen hier viel-leicht der SPLINE-Node ein. Dieser konnte über einenWert zwischen 0 und 1 jeden Punkt eines Splinesansteuern und dessen Position ausgeben.

Exakt das Gleiche habe ich hier mit dieser Schal-tung vor. Die beschriebene Schaltung ist nur dafürgedacht, einen fortlaufend ansteigenden Wert zwi-schen 0 und 1 zu generieren, der individuell für je-den Partikel berechnet wird.

Zu Beginn hat jeder Partikel, der in die Im Wir-bel-Gruppe kommt, einen Spline-Position-Wert von0. Dafür wurde der KONSTANTE-Node benutzt.

Danach steigt der Spline-Position-Wert jedesPartikels kontinuierlich mit jedem Bild der Anima-tion an. Über den Geschw.: Höhe/Frames-Wert ha-ben wir selbst vorgegeben, wie groß der Zahlenwertsein soll, der pro Bild auf den Spline-Position-Wertaddiert werden soll.

Ist der Wert klein, so erreicht der Spline-Posi-tion-Wert bereits nach wenigen Bildern den Wert 1.Bei großen Werten hingegen vergeht eine größereAnzahl an Berechnungsdurchläufen und somit anBildern, bis der Wert erreicht wird.

Schließen Sie diese Schaltung damit ab, dassSie den Ausgang des addierenden MATHE-Nodes mitdem Spline-Position-Eingang eines neuen P DATEN

SETZEN-Nodes verbinden. Dessen PARTIKEL-Eingangmuss mit dem P PASS-Node der Im Wirbel-Gruppeverbunden werden.

Um dieser eher abstrakten Überlegung eine an-schaulichere Komponente zu verleihen, erzeugenSie nun ein SPLINE-OBJEKT – der Typ der Splines istvon untergeordnetem Interesse – und erzeugen Siefür diesen Spline einige Punkte.

Die Form des Splines ist nebensächlich. Wichtigist nur, dass der erste Punkt des Splines – Punkt 0 –in unmittelbarer Nähe zum Emitter-NULL-OBJEKT

liegt. Alle übrigen Punkte sollten dann oberhalb lie-gen, also entlang der positiven Welt-Y-Achse.

Die obige Abbildung gibt Ihnen eine Idee von derLage und Form meines Splines.

Wie viele Punkte Sie verwenden, ist nicht wich-tig, Sie können auch später noch Punkte hinzufügenoder löschen. Der Spline soll lediglich dazu benutztwerden, um die Form des rotierenden Wind-Rüsselsunseres Wirbelsturms zu steuern.

Die Partikel sollen also von unten aufsteigendfortwährend um den Spline rotieren, bis das obereEnde erreicht ist.

Wegen der beschriebenen Berechnung, die fürjeden Partikel anwachsende Zahlenwerte zwischen0 und 1 erzeugt, ist es wichtig, dass der ersteSpline-Punkt – dieser entspricht der Spline-Stellemit 0% Offset – exakt im Nullpunkt des Emitter-NULL-OBJEKTs liegt. Dort sollen die Partikel schließ-lich starten. Um diese exakte Spline-Punkt-Positionzu gewährleisten, fügen Sie dem Spline die obenabgebildete kleine XPRESSO-Schaltung hinzu.

|||| Abbildung 3.24: Wirbel-Spline

Page 18: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111111116666 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 116 Mittwoch, 4. Juni 2003 11:58 11

Wie Sie mittlerweile sicher leicht erkennen können,wird dort die Position des Emitter-Null-Objekts aufden Punkt 0 des Splines übertragen. Die Punkt-In-dex-Nummer „0“ habe ich über den ATTRIBUTE-MANA-

GER an den PUNKT-Node geschickt. Sie können dazuaber auch einen KONSTANTE-Node verwenden.

Es wäre nun über die bereits fortlaufend erhöhteSpline-Position-Nummer leicht, die Partikel denSpline entlangwandern zu lassen, indem der Spline-Position-Wert zur Ermittlung der passenden Spline-Position mit Hilfe eines SPLINE-Nodes benutztwürde. Die Partikel sollen jedoch um den Spline ro-tieren. Wir müssen daher etwas tiefer in die „Node-Trickkiste“ greifen (siehe Abbildung oben). LassenSie mich wieder Schritt für Schritt erläutern, wie dieergänzte XPRESSO-Schaltung funktioniert.

Fügen Sie zuerst einen neuen P PASS-Node (Zif-fer 1) hinzu, dem Sie im ATTRIBUTE-MANAGER die Parti-kel-Gruppe Im Wirbel zuweisen. Dazu ziehen Siewie gewohnt das Wort Im Wirbel aus den THINKING

PARTICLES-EINSTELLUNGEN in das P GRUPPE Drag&Drop-Feld im ATTRIBUTE-MANAGER.

Über einen P DATEN LESEN-Node (Ziffer 2) lesenSie die POSITION der Partikel aus sowie die KanäleSpline-Position und Radius.

Verbinden Sie den Ausgang des P PASS-Nodesmit dem PARTIKEL-Eingang des P DATEN LESEN-Nodes.

Ziehen Sie nun das SPLINE-OBJEKT – ich habe denSpline im OBJEKT-MANAGER Wirbel-Spline getauft – indie Schaltung hinein und aktivieren Sie den OBJEKT-Ausgang an dessen Node (Ziffer 3).

Rufen Sie dann einen SPLINE-Node (XPRESSO >ALLGEMEIN) auf (Ziffer 4) und verbinden Sie dessenOBJEKT-Eingang mit dem Ausgang des Wirbel-Spline-Nodes. Den OFFSET-Eingang am SPLINE-Nodeverbinden Sie mit dem Partikel-Kanal Spline-Posi-tion, der am P DATEN LESEN-Node anliegt. Achten Siedarauf, dass der SPLINE-Node die Option NATÜRLICHE

VERTEILUNG BENUTZEN aktiviert hat und im globalenModus läuft.

Der Ziffer-4-SPLINE-Node wird nun für jeden Par-tikel entsprechend der in diesem gespeichertenSpline-Position eine Position auf dem Wirbel-Splineausgeben. Dank der vorangegangenen Schaltung,bei der der Wert Spline-Position in jedem Bild derAnimation erhöht wird, wird die ausgegebene Posi-tion dem Verlauf des Splines beginnend beim ers-ten bis zum letzten Punkt folgen.

Nach der vorgegebenen Anzahl von Bildern wirdschließlich das Ende des Splines erreicht.

Fügen Sie der Schaltung einen MATHE-Node imADDIEREN-Modus (Ziffer 5) hinzu und verbinden Siedessen oberen Eingang mit dem Spline-Position-Ausgang am P DATEN LESEN-Node.

|||| Abbildung 3.25: Partikel-Wirbel

Page 19: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111111177773.4 Daten-Kanäle benutzen

kap03.fm Seite 117 Mittwoch, 4. Juni 2003 11:58 11

Für den unteren Eingang geben Sie einen kleinenWert von vielleicht nur 0.01 vor. Dadurch wird dieaktuelle Position auf dem Spline um diesen kleinenBetrag erhöht und deutet somit auf einen Spline-Offset, der leicht über der aktuellen Position liegt.

Um diese Position auszulesen, erzeugen Sieeinen weiteren SPLINE-Node (Ziffer 6), dessen OFF-

SET-Eingang Sie mit dem AUSGANG des Ziffer-5-MATHE-Nodes verbinden. Der OBJEKT-Eingang wirdwieder mit dem Wirbel-Spline-Node verbunden.Auch dieser SPLINE-Node muss mit globalen Wertenarbeiten und die Option NATÜRLICHE VERTEILUNG BE-

NUTZEN aktiviert haben. Sie haben an den beidenSPLINE-Nodes nun die aktuelle und eine etwas fort-geschrittenere Position auf dem Spline anliegen.

Benutzen Sie einen neuen MATHE-Node im SUB-

TRAHIEREN-Modus (Ziffer 7), um den fortgeschritte-nen Wert vom aktuellen Positionswert abzuziehen.Damit dies funktioniert, muss dieser MATHE-Node imVEKTOR-Datenformat arbeiten. Das Resultat ist einVektor, der entlang des Splines den Weg definiert.Da der Spline selbst als Rotationsachse für die auf-steigenden Partikel fungieren soll, ist dieser Vektoralso mit der Rotationsachse des gerade berechne-ten Partikels gleichzusetzen. Wir können hier alsounabhängig von den Biegungen des Splines diegleiche Technik wie bei der Rotation in der Emitter-Ebene verwenden.

Dazu fehlt uns nun nur noch der Vektor von der ak-tuellen Spline-Position zum Partikel. Dieser Vektorlässt sich leicht durch Subtraktion der Positionenerrechnen (Ziffer 8).

Rufen Sie also einen neuen MATHE-Node auf, denSie wieder im VEKTOR-Format SUBTRAHIEREN lassen.Verbinden Sie den oberen Eingang mit dem POSI-

TION-Ausgang am P DATEN LESEN-Node. Der untereEingang am MATHE-Node wird mit dem POSITION-Aus-gang am Ziffer-4-SPLINE-Node verbunden. Dieser lie-ferte die dem Partikel entsprechende Position aufdem Spline. Der Ergebnisvektor weist also vomSpline weg auf den aktuell berechneten Partikel zu.

Nüchtern betrachtet bilden diese beiden Vekto-ren – der Richtungsvektor des Splines und der Radi-usvektor des Partikels – ein Koordinatensystem. Esist zwar nicht zwingend eine Rechtwinkligkeit die-ser Vektoren gegeben, aber wir können die durchsie definierte Ebene trotzdem für ein KREUZPRODUKT

benutzen und somit einen dritten Vektor errechnen,der die gewünschte Drehbewegung des Partikelsbeschreibt.

Die theoretischen Grundlagen dieser Überle-gung entsprechen denen, die wir bereits bei der Ro-tation um das NULL-OBJEKT angestellt hatten, nurdass wir es diesmal mit einem auf dem Spline be-wegten System zu tun haben und die Richtung desSplines laufend neu berechnen müssen.

|||| Abbildung 3.26: Partikel-Wirbel

Page 20: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111111118888 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 118 Mittwoch, 4. Juni 2003 11:58 11

Rufen Sie also einen KREUZPRODUKT-Node auf undverbinden Sie dessen oberen Eingang mit dem Zif-fer-7-MATHE-Node. Dort lag der Vektor in Richtungdes Splines an.

Der untere Eingang am KREUZPRODUKT-Nodemuss mit dem Ziffer-8-MATHE-Node verbunden wer-den, an dem der Vektor vom Spline zum Partikel be-rechnet wird.

Die Reihenfolge der Vektoren am KREUZPRODUKT-Node bestimmt die Richtung des Ergebnis-Vektorsund somit den Drehsinn der Partikel um den Splineherum. Wenn Sie also später eine andere Drehrich-tung der Partikel um den Spline wünschen, drehenSie hier die Reihenfolge der Eingang-Verbindungenum.

Rufen Sie einen ALLGEMEIN-Adapter-Node auf(Ziffer 10) und schalten Sie dessen Modus aufNORMALE um. Sie erhalten damit am Ausgang dennormierten Vektor in Richtung der gewünschtenDrehrichtung. Verbinden Sie den Eingang diesesNodes mit dem AUSGANG des subtrahierenden Ziffer-8-MATHE-Nodes. Dort lag der Vektor vom Spline zumPartikel an.

Über einen GEMISCHTE MATHE-Node im VEKTOREN

MULTIPLIZIEREN-Modus werden wir nun diesen nor-mierten Vektor mit dem im Partikel gespeichertenRadius multiplizieren. Wir erhalten dadurch einen

Vektor, der vom Spline zum Partikel zeigt und exaktdie Länge des im Partikel gespeicherten Radius-Werts hat. Dies wird uns helfen, die Partikel immerauf einem konstanten Radius um den Spline herumzu halten, egal, wie groß deren Geschwindigkeitauch sei mag.

Verbinden Sie also den EINGANG des GEMISCHTE

MATHE-Nodes (Ziffer 11) mit dem AUSGANG des Ziffer-11-ALLGEMEIN-Nodes. Dort lag der normierte Vektoran. Der FLIEßKOMMA WERT-Eingang muss mit demPartikel-Kanal Radius am P DATEN LESEN-Node ver-bunden werden. Dort wurde der Abstand jedes Par-tikels zur Rotationsachse gespeichert.

Wir haben damit als Ergebnis am GEMISCHTE

MATHE-Node den auf den Radius eines Partikels ska-lierten Abstand-Vektor. Dieser gibt jedoch nur eineRichtung an und benötigt nun noch einen Aus-gangspunkt, ab dem dieser Vektor wirken kann.

Diesen Punkt entnehmen wir dem SPLINE-Node(Ziffer 4). Rufen Sie also einen neuen MATHE-Nodeim VEKTOR-Datenformat auf (Ziffer 12) und aktivierenSie für diesen Node den ADDIEREN-Modus.

Verbinden Sie die Eingänge dieses Nodes mitden Ausgängen des genannten SPLINE-Nodes unddes GEMISCHTE MATHE-Nodes. Wir erhalten als Ergeb-nis eine Position, die mit dem Spline-Offset ver-schoben wird und immer den vorgegebenen Radius-Abstand vom Spline wahrt.

Dieser Vektor kann uns zwar dabei helfen, denPartikel entlang des Splines zu verschieben undden Radius zu halten, aber es kommt noch zu keinerRotation des Partikels um den Spline. Dazu müssenwir die Geschwindigkeit des Partikels berechnen,die sich bekanntlich als Vektor darstellt. Dieser Ge-schwindigkeitsvektor definiert die Richtung derFortbewegung und durch seine Länge den Betragder Geschwindigkeit.

Nun, die Richtung haben wir bereits im KREUZ-

PRODUKT-Node bestimmt. Rufen Sie daher einenneuen ALLGEMEIN-Adapter-Node auf und betreibenSie diesen im NORMALE-Modus. Verbinden Sie des-sen Eingang mit dem Ausgang des KREUZPRODUKT-Nodes.

|||| Abbildung 3.27: Mathe-Node

Page 21: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111111199993.4 Daten-Kanäle benutzen

kap03.fm Seite 119 Mittwoch, 4. Juni 2003 11:58 11

Das Ergebnis ist also ein normierter Richtungsvek-tor für die Bewegung des Partikels.

Dessen Länge ist dadurch auf den Betrag „1“ ge-schrumpft, so dass wir diesen Vektor leicht durchMultiplikation mit dem gewünschten Betrag der Ge-schwindigkeit auf die entsprechende Länge bringenkönnen.

Ziehen Sie dafür den Wirbel-Emitter erneut indie Schaltung und rufen Sie an dessen Node denAusgang für den BENUTZERDATEN-Wert Geschw.: Ro-tation auf (Ziffer 14).

Mit der Hilfe eines multiplizierenden GEMISCHTE

MATHE-Nodes, den Sie im VEKTOR-Format betreibenmüssen, multiplizieren Sie nun den normierten Vek-tor und den Benutzerdaten-Wert für die Geschwin-digkeit. Verbinden Sie also den FLIEßKOMMA WERT-Eingang mit dem Geschw.: Rotation-Ausgang amWirbel-Emitter-Node.

Der normale EINGANG-Port wird mit dem Ausgangdes Ziffer-13-ALLGEMEIN-Nodes verbunden. Dort lagder normierte Richtungsvektor für die Rotation an.Als Ergebnis wird damit der Geschwindigkeits-Vek-tor für den Partikel ermittelt.

Jetzt sind alle Daten komplett und können anden Partikel zurückgeschrieben werden. ErzeugenSie dazu einen P DATEN SETZEN-Node und aktivierenSie dessen Eingänge für POSITION und GESCHWINDIG-

KEIT. Verbinden Sie den Ziffer-12-MATHE-Node mitdem POSITION-Eingang und den Ziffer-15-GEMISCHTE

MATHE-Node mit dem GESCHWINDIGKEIT-Eingang.Bleibt nur noch übrig, den PARTIKEL-Eingang am

P DATEN SETZEN-Node mit dem PARTIKEL-Ausgang amP PASS-Node (Ziffer 1) der Im Wirbel-Gruppe zu ver-binden. Auch dieser Abschnitt der Schaltung ist da-mit komplett.

Wir sollten nun nicht vergessen, auch für die ImWirbel-Gruppe ein PARTIKEL-GEOMETRIE-Objekt zu er-zeugen. Sie finden dies im PLUG-INS-Menü unterTHINKING PARTICLES.

Ziehen Sie den Namen Im Wirbel aus den THINKING

PARTICLES EINSTELLUNGEN in das Drag&Drop-Feld desPARTIKEL-GEOMETRIE-Objekts hinein. Damit sind diePartikel dieser Gruppe nun auch im OBJEKT-MANAGER

vertreten.Wir haben jetzt also den Wirbel am Boden und

den Wirbel um den Spline herum mit der Hilfe vonXPRESSO- und TP-Nodes animiert. Wir dürfen jedochnicht vergessen, dass der Spline irgendwann ein-mal zuende ist. Was soll dort mit den Partikel ge-schehen?

Unsere Formeln und Nodes sind nur auf eineSpline-Position zwischen 0 und 1 ausgerichtet, wo-bei selbst dies noch einzuschränken ist. BedenkenSie, dass wir für die Berechnung der Spline-Rich-tung einen kleinen Wert zum Offset addieren. Füreinen Partikel am Ende des Splines kann dieserVektor nicht mehr korrekt berechnet werden. Zu-dem können bei kurzen Zeiträumen für die Auf-wärtsbewegung der Partikel auf dem Spline rechtgroße Schrittweiten für den Spline-Offset entste-hen. Ein rechnerischer Sprung über die „1“ desSpline-Endes hinaus ist also nicht auszuschließen.

|||| Abbildung 3.28: Partikel-Geometrie

Page 22: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111122220000 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 120 Mittwoch, 4. Juni 2003 11:58 11

Wir sollten also bereits vor dem Erreichen desSpline-Endes die Partikel abfangen und in eine an-dere Gruppe transferieren.

Zuvor betreiben wir noch etwas „Kosmetik“ be-züglich der Partikel-Ausrichtung. Partikel sind näm-lich nicht nur als Koordinaten bzw. Punkte im Raumunterwegs, sondern lassen sich eher mit kleinenfliegenden Koordinatensystemen vergleichen. JederPartikel kann also nicht nur eine Position und eineFlugrichtung haben, sondern selbst auch eine Aus-richtung besitzen. So können Sie z.B. immer dieZ-Achse jedes Partikels in Flugrichtung weisen las-sen. Dies macht besonders dann Sinn, wenn Ob-jekte an die Partikel geknüpft werden.

Nur über die Ausrichtung der Partikel lässt sichsteuern, wie das Objekt durch den Partikel im Raumausgerichtet wird. Die Koordinatensysteme vonPartikeln werden nämlich einfach an die Objekteübergeben.

Dies ist jedoch nicht nur für die Zuweisung vonObjekten wichtig, sondern teilweise auch recht hilf-reich bei der Benutzung von PYROCLUSTER-Materia-lien, wie wir etwas später noch erkennen werden.

Wir fügen der Schaltung also zwei kleine Nodeshinzu, die uns die automatische Ausrichtung derPartikel abnehmen werden.

Zuerst benötigen Sie einen neuen P PASS-Node, denSie die Partikel der Im Wirbel-Gruppe ausgeben las-sen.

Zusätzlich fügen Sie einen P AUSRICHTUNG-Nodeaus dem Eintrag THINKING PARTICLES > TP STANDARD

hinzu. Dieser hat einen umfangreichen Dialog imATTRIBUTE-MANAGER zu bieten, von dem wir jedochnur einige wenige Werte in Anspruch nehmen müs-sen.

So stellen Sie dort über den Wert der QUELLE dieAchse des Partikels ein, die ausgerichtet werdensoll. Ich habe mich hier für die Z-Achse entschieden,obwohl dies eine rein willkürliche Entscheidung ist.

Über das TYP-Menü wählen Sie z.B. aus, ob aufeine bestimmte Position im Raum oder auf einenfesten Winkel ausgerichtet werden soll. Dort findetsich auch die Option FLUGRICHTUNG, die in diesemFall die Z-Achse der Partikel immer automatisch inRichtung des Geschwindigkeitsvektors dreht. Somitweist die Z-Achse der Partikel immer in Flugrich-tung. Diese Aufgabe ist damit schon gelöst.

Verbinden Sie den Partikel-Eingang des P AUS-

RICHTEN-Nodes mit dem Ausgang des P PASS-Nodes,um die Ausrichtung dieser Partikel-Gruppe zu akti-vieren. Die Platzierung und Bewegung der Partikelwird dadurch nicht beeinflusst.

|||| Abbildung 3.29: Partikel-Ausrichtung

Page 23: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111222211113.4 Daten-Kanäle benutzen

kap03.fm Seite 121 Mittwoch, 4. Juni 2003 11:58 11

Wir sprachen bereits kurz das Problem der Partikelund unserer Berechnungen am oberen Ende desSplines an, wenn die Spline-Position Werte über 1überschreiten kann. Dies ist unbedingt zu vermei-den, um keine unvorhersehbaren Partikelbewegun-gen zu produzieren.

Wir werden also die Im Wirbel-Partikel bereitsmit einem gewissen Sicherheitsabstand vor demEnde des Splines aus dieser Partikel-Gruppe entfer-nen und in eine neue Gruppe verschieben.

Als auslösender Wert bietet sich die Überprü-fung des Spline-Position-Kanals an. Dieser Wertlässt sich leicht über einen VERGLEICH-Node ausle-sen. Steigt der Spline-Position-Wert über einen be-stimmten Zahlenwert an, kann ein P GRUPPE-Nodeaktiviert werden, der die Partikel aufnimmt.

In der obigen Abbildung sehen Sie die dafür nö-tige Schaltung, die Sie wie immer einfach unter derbereits vorhandenen XPRESSO-Schaltung für denWirbel-Emitter anlegen können.

Die Schaltung ist in den Grundzügen bereits be-kannt. Ich werde daher nicht näher auf jeden Nodeeingehen müssen. Interessant ist nur die Wahl desGrenzwerts im VERGLEICH-Node, der z.B. im „>=“-Modus arbeiten kann.

Ich habe dort einen Wert von 0.95 eingestellt.Dies bedeutet, dass bereits Partikel, die noch 5%der Gesamt-Spline-Länge vom oberen Ende entfernt

sind, den VERGLEICH-Node aktivieren und somit ineine neue Gruppe wandern.

Diese großzügige Abfrage ist nötig, da die Parti-kel durch höhere Geschwindigkeiten leicht größereSpline-Abschnitte überspringen können.

Falls Sie nur mit geringen Steig-Geschwindig-keiten arbeiten, kann dieser Wert im VERGLEICH-Node bis knapp unter 1 erhöht werden, um die Par-tikel näher bis an das Ende des Splines laufen zulassen.

Auch über einen C.O.F.F.E.E.-Node lässt sicheine kleine Abfrage einbauen, die die Spline-Posi-tion der Partikel automatisch auf einen Wert knappunter 1 begrenzt. Die Partikel würden dann aberfortlaufend um das Ende des Splines rotieren, bisihre Lebenszeit abgelaufen ist.

Solch eine C.O.F.F.E.E.-Abfrage könnte so aus-sehen:

if (Spline_Position+0.01 > 1.0)

Spline_Position=0.99;

Die 0.01 stammen übrigens aus der Berechnung derSpline-Richtung.

Wir haben jedoch noch etwas mit diesen Parti-keln vor, denn oben am Ende des Splines soll sicheine Wolke bilden, aus der der Strudel nach untenherauswächst.

Abbildung 3.31:||||Vergleich-Node

|||| Abbildung 3.30: Gruppenwechsel

Page 24: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111122222222 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 122 Mittwoch, 4. Juni 2003 11:58 11

Um die aussortierten Partikel in einer neuen Gruppeunterbringen zu können, muss diese natürlich ersteinmal definiert werden. Dazu benutzen Sie wiederdie THINKING PARTICLES-EINSTELLUNGEN.

Fügen Sie der Alle-Gruppe über das Kontext-Menü eine neue Gruppe hinzu und nennen Sie dieseOben. In den Einstellungen dieser Gruppe könnenSie die Farbe zusätzlich z.B. auf einen Blauton ein-stellen (siehe obige Abbildung).

Weisen Sie dem zuletzt erzeugten P GRUPPE-Node diese Oben-Gruppe im ATTRIBUTE-MANAGER zu.Die Partikel der Im Wirbel-Gruppe werden also –wenn Sie sich dem Ende des Splines annähern – indie Oben-Gruppe verschoben.

Nun sollten wir uns Gedanken darüber machen,was mit diesen Partikeln noch anzufangen ist. EineRotation der Wolke ist sicherlich nicht sehr realis-tisch. Vielmehr sollte sich die Wolke einfach statio-när über dem Wirbel ausbreiten. Dies übernehmendie Partikel fast von selbst, denn auch nach einemGruppenwechsel bleiben die zuletzt zugewiesenenGeschwindigkeiten erhalten.Die Oben-Partikel werden sich also vom Wirbel ausin alle Richtungen – vorwiegend zu den Seiten undnach oben – ausbreiten.

Um diese Ausbreitung etwas in eine einheitlicheEbene zu bringen, können wir den Anteil der Ge-schwindigkeits-Vektoren entlang der Y-Richtungauf 0 reduzieren.

Die Partikel würden sich dann um den Wirbel herumin einer Ebene ausbreiten. Durch den Wert für dieLebenszeit werden die Partikel dann nach Ablaufdieser Zeitspanne einfach verschwinden und ausder Gruppe gelöscht. Durch den Wert für dieLebenszeit kann dann also indirekt die Größe derWolke bestimmt werden. Je länger die Partikel „le-ben“, desto größer kann die Wolke werden.

Um diese Überlegungen in eine Schaltung um-zusetzen, erzeugen Sie zuerst einen neuen P PASS-Node, der diesmal die Oben-Gruppe ausgibt.

Schließen Sie an den Ausgang dieses Nodes ei-nen P DATEN LESEN-Node an und ermitteln Sie überdiesen Node den Geschwindigkeits-Vektor der Par-tikel.

Schließen Sie an diesen Port einen XPRESSO-Ad-apter VEKTOR ZU REALE an. Verbinden Sie dessen X-und Z-Ausgang mit den entsprechenden Eingängenan einem neuen REALE ZU VEKTOR-Node. Da der Y-Portfreigelassen wird, bekommt dieser automatischüber den ATTRIBUTE-MANAGER den Wert 0. Dies be-deutet, dass der Geschwindigkeitsanteil entlangder Y-Achse auf 0 gesetzt wird. Die Partikel werdensich also nicht mehr in Y-Richtung bewegen kön-nen.

Rufen Sie einen P DATEN SETZEN-Node auf und er-zeugen Sie dort einen Eingang für die Geschwindig-keit. Verbinden Sie diesen Port mit den Ausgangdes REALE ZU VEKTOR-Nodes.

Schließlich verbinden Sie noch die Partikel-Ports des P DATEN SETZEN-Nodes und des P PASS-No-des. Die folgende Seite zeigt Ihnen noch einmal imBild diese Schaltung.

|||| Abbildung 3.32: Oben-Partikel-Gruppe

Page 25: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111222233333.4 Daten-Kanäle benutzen

kap03.fm Seite 123 Mittwoch, 4. Juni 2003 11:58 11

Schließlich erzeugen Sie noch ein neues PARTIKEL-GEOMETRIE-Objekt im OBJEKT-MANAGER und weisendiesem Objekt die Oben-Gruppe aus dem THINKING

PARTICLES-EINSTELLUNGEN-Fenster zu.Wir benötigen diese PARTIKEL-GEOMETRIE-Objekte

für jede der drei Partikel-Gruppen, da jede Gruppein den folgenden Arbeitsschritten eigene Materia-lien erhalten soll. Mit ihrer Hilfe lassen sich Parti-kel-Gruppen im OBJEKT-MANAGER fast wie normaleObjekte benutzen.

So können Sie z.B. ein PARTIKEL-GEOMETRIE-Ob-jekt mit Bones oder anderen Deformatoren verbie-gen oder die Positionen der Partikel als „Keime“ fürMetaballs benutzen. Sie finden zu diesem Themaweitere Beispiele in den ebenfalls von mir verfass-ten Abschnitten über THINKING PARTICLES in denHandbüchern zu CINEMA 4D.

Wenn Sie die Animation ablaufen lassen, solltensich die Partikel am unteren Ende des Spline zuerstrotierend dem Zentrum der Rotation annähern unddann in einer rotierenden Bewegung dem Verlaufdes Splines nach oben folgen. Kurz unter dem Endedes Splines breiten sich die Partikel dann nahezukreisförmig aus (blaue Partikel der Oben-Gruppe).Die nebenstehende Abbildung gibt Ihnen davoneine Idee.

Sie können nun ggf. Veränderungen an derSpline-Form durchführen oder mit den Benutzerda-ten die Geschwindigkeiten und Partikel-Anzahlenverändern.

|||| Abbildung 3.33: Bewegung eingrenzen

|||| Abbildung 3.34: Partikel-Gruppe

|||| Abbildung 3.35: Fertige Animation

Page 26: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111122224444 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 124 Mittwoch, 4. Juni 2003 11:58 11

3.5 PyroCluster

Das PYROCLUSTER-Modul zu CINEMA 4D stellt eineReihe von dreidimensionalen Materialien zur Verfü-gung, die sich besonders für die Darstellung vonWolken und Rauch eignen.

Die Parameter sind derart vielschichtig, dass ichhier nicht auf alle Optionen und Funktionen einge-hen kann. Ich werde mich daher auf die Erzeugungpassender Materialien für unseren TP-Wirbelsturmbeschränken.

Jede Szene, die echte, volumetrische PYROCLUS-

TER-Materialien benutzen will, muss einen so ge-nannten VOLUMEN-TRACER beinhalten. In diesem Tra-cer-Material stellen Sie ein, wie grob oder fein dieBerechnung der PYROCLUSTER-Materialien erfolgensoll.

Leider kann diese Einstellung nicht für jedesPYROCLUSTER-Material separat gesteuert werden,sondern nur für alle Materialien der Szene zusam-

men. Etwas schade, da man oft im Vordergrund einegrößere Genauigkeit benützen möchte, PYROCLUS-

TER-Wolken im Hintergrund der Szene aber eventu-ell mit sehr viel gröberen Berechnungen auskämen.

Es scheint jedoch prinzipbedingt nicht möglichzu sein, dieses Problem anders in den Griff zu be-kommen. Daher wird in jeder Szene auch nur einVOLUMEN-TRACER ausgewertet, auch wenn mehrerevorhanden sein sollten.

Sie finden den VOLUMEN-TRACER im MATERIAL-MA-

NAGER unter dem Eintrag DATEI > PYROCLUSTER > PYRO-

CLUSTER - VOLUMETRACER. Es handelt sich also eigent-lich um ein Material.

Klicken Sie das VOLUMEN-TRACER-Material einmalan, um dessen Parameter im ATTRIBUTE-MANAGER ein-sehen zu können (siehe Abbildung auf dieser Seite).

Um die Einstellungen für den Benutzer zu ver-einfachen, hat man im Menü RENDER-MODUS einigegängige Sets an Einstellungen vordefiniert. So kannman dort z.B. DUNSTIG auswählen, wenn die PYRO-

CLUSTER-Materialien in der Szene eher für die Gene-rierung dünner Nebelschwaden oder von Rauchbenutzt werden.

Dies ist sicherlich für ein schnelles Ergebnisauch ausreichend, die Berechnungszeiten sind da-durch jedoch in den meisten Fällen unnötig hoch.

Die Genauigkeit der Berechnung wird haupt-sächlich durch die beiden ersten ZahlenwerteSAMPLE-ABSTAND und STRAHLTIEFEN-GRENZE bestimmt.

SAMPLE-ABSTAND gibt vor, welchen Abstanddie Samples, also die für die Berechnung einesBildpunktes herangezogenen zusätzlichen Berech-nungsschritte, voneinander haben sollen. Je kleinerdie Distanz zwischen den Samples, desto genauerfällt das Ergebnis besonders bei durchsichtigenWolken oder Nebelfetzen aus. Leider steigt dadurchauch die Anzahl der Berechnungsschritte an, dennes wird immer durch das gesamte Objekt gesam-pelt. Werden größere Abstände benutzt, kommtman daher schon nach wenigen Rechenschrittenauf der Rückseite des Objekts an.

|||| Abbildung 3.36: Volumen-Tracer

Page 27: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111222255553.5 PyroCluster

kap03.fm Seite 125 Mittwoch, 4. Juni 2003 11:58 11

Um auch bei kleinen Sample-Abständen etwas anRechenzeit zu sparen, kann der Wert für STRAHLTIE-

FEN-GRENZE heraufgesetzt werden.Normalerweise wird die Berechnung eines in ein

Material eindringenden Berechnungsstrahls erstdann abgebrochen, wenn er entweder die Rückseitedes Objekts erreicht hat oder wenn die bereits auf-gelaufenen Sample-Werte so dicht sind, dass auchweitere Samples nichts mehr an dem Ergebnis ver-ändern würden.

Die STRAHLTIEFEN-GRENZE vermag diesen Abbruch-Wert auch in den Bereich zu verschieben, wo zwarnoch keine komplette Blockierung der Sehstrahlsvorliegt, aber dies für das Resultat keine großeRolle spielen wird. Man kann also die Berechnungeines Punktes auch dann schon abbrechen, wennz.B. noch 5% Transparenz ermittelt wurden.

Sie sehen also, dass Sie durch moderates Her-aufsetzen dieser Werte die Anzahl an Berechnungs-schritten für jeden Bildpunkt ggf. stark reduzierenkönnen. Halbierungen der Rechenzeit bei vergleich-baren Ergebnissen sind keine Seltenheit. Sie soll-ten sich daher besonders mit diesen beiden Wertenbeschäftigen und nicht nur auf die voreingestelltenModi vertrauen.

Um selbst Werte eintragen zu können, müssenSie den RENDER-MODUS MANUELL wählen. Wie Sie derAbbildung entnehmen konnten, habe ich die beidenbeschriebenen Werte vorerst auf 5 erhöht. Ob diesfür das Resultat verträgliche Werte sind, kann erstspäter beim Rendern der PYROCLUSTER-Materialienüberprüft werden. Wir können dann hier ggf. Kor-rekturen vornehmen.

Wir werden uns daher zuerst mit den eigentli-chen PYROCLUSTER-Materialien für unsere Partikelbeschäftigen. Beginnen Sie mit einem neuen Mate-rial, das Sie aus dem Eintrag DATEI > PYROCLUSTER >PYROCLUSTER im MATERIAL-MANAGER abrufen.

Wir beginnen auf der GLOBAL-Seite des PYRO-

CLUSTER-Material-Dialogs im ATTRIBUTE-MANAGER

(siehe oben). Wählen Sie dort als Erstes Vulkan ausdem EINSTELLUNGEN-Menü am unteren Rand des Dia-logs aus.

Dort werden einige typische Standard-Materialienauf Abruf gesichert. Selbst wenn Sie nicht alle derVoreinstellungen übernehmen wollen, ist es immersinnvoll, ein bereits vorhandenes Standard-Mate-rial als Startpunkt für eigene Modifikationen zu ver-wenden.

|||| Abbildung 3.37: Boden-Material

Page 28: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111122226666 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 126 Mittwoch, 4. Juni 2003 11:58 11

Vulkan habe ich deshalb gewählt, da dieses Mate-rial eine große Dichte hat und dickem Rauch sehrnahe kommt.

Als visuelle Hilfestellung können Sie oben aufder GLOBAL-Seite über die VORSCHAU-Schaltfläche einkleines Vorschau-Fenster öffnen, in dem Ihnen eineWolke mit den aktuellen Einstellungen angezeigtwird. Da einige der noch folgenden Einstellungenauch über die Lebenszeit der Partikel hinweg ani-mierbar sind, kann über einen Regler am unterenRand des Vorschau-Fensters das Aussehen derWolke zu jedem Zeitpunkt der Partikel-Lebens-spanne betrachtet werden.

Der RENDER-MODUS erlaubt die Berechnung derPYROCLUSTER-Effekte als Folge einer volumetrischenBerechnung, so wie sie gerade im Zusammenhangmit dem VOLUMEN-TRACER geschildert wurde. Alter-nativ dazu kann auch eine Berechnung als so ge-nannter Post-Effekt (VIDEOPOST) aktiviert werden.

Die Berechnung erfolgt dann erst nach der Be-rechnung der Szene nach einem gänzlich anderenVerfahren. Dies kann zwar im Einzelfall schnellersein als das „echte“ Berechnen der Materialien,sieht oft aber auch entsprechend aus, d. h. der volu-metrische Charakter von Rauch und anderen teil-transparenten Materialien geht verloren.

Man sollte also in jedem Einzelfall zwischen denbeiden Methoden durch Heranziehen von Probe-Be-rechnungen entscheiden. Bedenken Sie auch, dassPost-Effekte prinzipiell nicht in Spiegelungen undhinter transparenten Objekten zu sehen sind.

Sollten Sie sich trotzdem für den VIDEOPOST-Mo-dus entscheiden, können Sie auch auf den VOLUMEN-TRACER verzichten, es sei denn, Sie benutzen nochandere PYROCLUSTER-Materialien in der Szene, dienicht den VIDEOPOST-Modus benutzen.

Die nächsten Einstellungen betreffen die DICHTE

und das VOLUMEN des Materials.

Der VOLUMEN-Wert definiert die Eindringtiefe desBerechnungsstrahls in das Material. Werte unter100% bedeuten, dass nur die äußeren Bereiche ei-ner Wolke korrekt berechnet werden. Das Innereder Wolke bleibt hohl.

Der LUMINANZ-Wert steuert die Helligkeit bei sichannähernden Partikeln. Der „normale“ Algorithmusdunkelt das Material ab, wenn sich viele Partikel an-nähern. Da, wo viele Rauch-Quellen sind, wird eseben noch dunkler. Dieser Modus ist aktiv bei LUMI-

NANZ-Werten um 0%. Höhere Werte drehen dieBerechnung der Helligkeit um und bewirken eineansteigende Helligkeit bei Partikel-Häufungen. Diesmacht eigentlich nur bei heißen Gasen Sinn oderwenn Spezial-Effekte erzielt werden sollen.

Der DICHTE-Wert steuert die Transparenz desMaterials. Je kleiner der DICHTE-Wert, desto durch-sichtiger wird die Wolke. Höhere Werte führen alsozu eher massiv wirkenden Gebilden.

Der FARBE-Wert bestimmt die Farbgebung derWolke vom Inneren nach außen. Der linke Rand desGradienten gibt also die Farbe im Kern der Wolkean, der rechte die Farbe am äußeren Rand derWolke. Ich belasse die Farbvorgabe der Vulkan-Vor-einstellung für dieses und alle noch folgenden Ma-terialien.

Unabhängig von der Farbgebung kann über ei-nen Alpha-Gradienten noch die Transparenz z. B.am äußeren Rand bestimmt werden. Bei aktiverRESULTAT ANZEIGEN-Option werden die beiden Gradi-enten des Alphas und der Farbe zusammen darge-stellt und geben so einen Eindruck von der Wirkungauf die Wolke wieder.

Im unteren Bereich der Seite ist noch die DURCH-

DRINGEN VERHINDERN-Option zu erwähnen. Sie sollteimmer dann aktiv sein, wenn Partikel und derenWolken von anderen Objekten umgeben sind. Diesist bei uns zwar nicht der Fall, aber vielleicht wollenSie der Szene später noch Objekte hinzufügen.

Page 29: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111222277773.5 PyroCluster

kap03.fm Seite 127 Mittwoch, 4. Juni 2003 11:58 11

Neben den statischen Vorgaben der GLOBAL-Seitekann auf der ALTER-Seite des PYROCLUSTER-Material-Dialogs eine Veränderung des Materials in Abhän-gigkeit von der Lebenszeit des Partikels aktiviertwerden.

Ist die ALTER AKTIVIEREN-Option selektiert, könnendie Größe der Partikel-Wolken, deren Helligkeit undFarbe beeinflusst werden. Die Parameter bedeutenim Einzelnen:

� ALTER RADIUS

Dieser Gradient benutzt die Helligkeiten im Verlaufum den auf der noch zu besprechenden Form-Seitedes Dialogs vorgegebenen Radius der Wolke zuskalieren. Ein 100% Weiß entspricht einer Multipli-kation der Größe mit 1. Die Farbe Schwarz steht fürdie Größe 0. Der linke Rand des Gradienten stelltdie Geburt des Partikels dar, der rechte Rand stehtfür den Zeitpunkt des Partikel-Todes.

Der in der obigen Abbildung festgehaltene Ver-lauf führt also dazu, dass die Wolken bei der Geburtder Partikel noch die Größe 0 haben bzw. sehr kleinsind. Bis ungefähr die Hälfte der Lebenszeit abge-laufen ist, haben die Wolken dann ihre endgültigeGröße erreicht.

Sie können zusätzliche Farbreiter durch Klicken un-ter den Verlauf hinzufügen. Ein Doppelklick auf ei-nen Reiter öffnet einen Dialog, in dem Sie denFarbwert einstellen können. Das „Ziehen“ einesFarbreiters nach oben oder unten aus dem Bereichdes Gradienten heraus löscht den Reiter. Dies giltübrigens für alle Gradienten, die innerhalb von Ma-terialien oder Nodes in CINEMA 4D auftauchen.

� ALTER LEUCHTEN

Hellere Farb- und Helligkeitswerte als Schwarz wer-den den Wolken als zusätzliche Helligkeiten hinzu-gemischt. Auch hier steht der Gradient von linksnach rechts gelesen wieder für die Lebensspanneeines Partikels.

� FARB-MIX

Die hier verwendeten Helligkeiten haben direktenEinfluss auf die Farbveränderung der Wolken überdie Lebensspanne der Partikel hinweg.

Man kann sich diesen Verlauf als eine Art Alpha-Maske vorstellen. Dunkle Werte führen dazu, dassdie Wolke eher die Farbwerte von der GLOBAL-Seitedes Dialogs benutzt. Hellere Werte führen dazu,dass die Wolken die Farben aus dem LEBENSDAUER-Gradienten übernehmen. Sie können so also dieFärbung von Partikeln über die Lebensspanne derPartikel hinweg zwischen dem globalen Farbverlaufund dem LEBENSDAUER-Gradienten zusammenmi-schen.

Auch hier entspricht der Gradient von links nachrechts wieder dem „Altern“ der Partikel.

� LEBENSDAUER

Hier definieren Sie für die Wolke einen alternativenFarbverlauf von innen nach außen. Die Funktionentspricht also dem Verlauf der GLOBAL-Seite des Di-alogs. Diese beiden Farbverläufe können über dieHelligkeiten des FARB-MIX-Gradienten überblendetwerden. Auch hier kann zusätzlich mit einem Alpha-Gradienten gearbeitet werden, der die Farbwerte ineine Transparenz überführen kann.

|||| Abbildung 3.38: Alter-Parameter

Page 30: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111122228888 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 128 Mittwoch, 4. Juni 2003 11:58 11

Einige etwas speziellere Parameter auf der DISTANZ-und ZYL. DISTANZ-Seite des Dialogs überspringe ich,da wir diese Einstellungen hier nicht benötigen wer-den.

Dort können Sie im Prinzip die gleichen Parame-ter wie auf der ALTER-Seite in Abhängigkeit der Ent-fernung eines Partikels vom Emitter definieren. D. h.Partikel können bei zunehmender Entfernung zumEmitter skaliert werden oder ihre Farbe ändern.

Wir springen jedoch sofort zur FORM-Seite desDialogs weiter, um dort die Größe und die Form derWolken zu definieren. Sie haben dabei die Wahl ausverschiedenen geometrischen Formen, wie z.B. ZY-

LINDER oder QUADER. Für Wolken und ähnlich „weich“strukturierte Objekte bietet sich jedoch die KUGEL-Form an.

Nachdem diese Wahl getroffen wurde, muss dieGröße der Wolke jedes Partikels eingestellt werden.Dies geschieht über den RADIUS-Wert. Denken Siedaran, dass die hier eingestellte Größe bei aktiven

ALTER-Effekten durchaus bei der Berechnung ganzanders aussehen kann, wenn die Größe mit derLebenszeit der Partikel verändert wird.

Für uns sehr interessant sind die Parameter fürdie AUTO-ROTATION. Ist diese Option aktiviert, kannjede Wolke entsprechend der Bewegungsrichtungdes Partikels gedehnt oder gestaucht werden. Aus-schlaggebend dafür ist der Geschwindigkeitsvektordes Partikels.

Die Länge des Geschwindigkeitsvektors wirdmit den Werten aus DEHNUNG ÜBER GESCHW. multipli-ziert, um eine Skalierung der entsprechendenWolke auf der gewünschten Achse auszulösen. Jenach Länge des Geschwindigkeitsvektors könnendaher auch schon sehr kleine DEHNUNG-Werte zubeachtlichen Skalierungen der Partikel-Wolkenführen.

Aktivieren Sie daher die Vorschau-Option im un-teren Teil der Dialog-Seite, um Platzhalter für dieWolken an den Partikeln beobachten zu können.Dies kann natürlich erst dann funktionieren, wennSie das PYROCLUSTER-Material dem gewünschtenPARTIKEL-GEOMETRIE-OBJEKT im OBJEKT-MANAGER zuge-wiesen haben. Die Zuweisung erfolgt wie bei jedem„normalen“ CINEMA-Material per Drag&Drop ausdem MATERIAL-MANAGER heraus auf den Namen desObjekts im OBJEKT-MANAGER.

Die übrigen Einstellungen auf der FORM-Seite fürROTATION und SKALIEREN sind statisch angelegt. EineVeränderung der neutralen Standard-Vorgabenmacht dann Sinn, wenn z.B. eine Kugel-Form einerWolke zu einem Ellipsoid verzerrt oder eine Zylin-der-Form in eine andere Richtung gelegt werdensoll.

Wie Sie hier erkennen können, habe ich die Ska-lierung mit dem Vektor 1,1,1 praktisch neutral füreine Beeinflussung der Wolken-Form eingestellt.Die DEHNUNG ÜBER GESCHWINDIGKEIT entlang der X-Achse der Wolke – dies ist standardmäßig die in Be-wegungsrichtung deutende Achse der PYROCLUSTER-Wolken – wird automatisch für eine Verlängerungder Wolke bei Bewegung des Partikels sorgen.

|||| Abbildung 3.39: Form-Parameter

Page 31: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111222299993.5 PyroCluster

kap03.fm Seite 129 Mittwoch, 4. Juni 2003 11:58 11

Kommen wir zu den Parametern auf der SCHATTEN-Seite des Dialogs.

PYROCLUSTER-Wolken können nämlich wie nor-male Objekte auch Schatten werfen und auch emp-fangen. Dies kann entscheidend zur Realistik einesEffekts beitragen. Leider wird die Berechnungszeitdadurch auch verlängert.

Was in jedem Fall bei etwas dichteren Wolkenaktiviert werden sollte, ist die EIGENSCHATTEN-Op-tion. Diese sorgt dafür, dass sich abgedunkelte Be-reiche und auch echte Schatten auf den Wolkenselbst durch Zerklüftungen der Oberfläche ergebenkönnen. Die Wolken gewinnen dadurch dramatischan Plastizität.

Existieren noch andere Objekte in der Szene,sollten auch die übrigen Optionen aktiviert werden,die Wolken Schatten auf Objekte in der Umgebung

werfen bzw. Wolken auch von anderen Objekten er-zeugte Schatten empfangen lassen.

Über TRANSPARENZ und UMGEBUNGSFARBE könnenSchatten bei Bedarf in ihrer Deckkraft skaliert undbeliebig coloriert werden.

Für das Erscheinungsbild der Wolken noch wich-tiger sind die Parameter auf der FRAKTALE-Seite desDialogs. Dort werden die Strukturen der Wolke defi-niert. Über das Menü FRAKTAL-TYP kann zwischen di-versen Algorithmen ausgewählt werden. Wiedergibt hier das Vorschau-Fenster, das Sie auf der GLO-

BAL-Seite des Dialogs aufrufen konnten, eine wert-volle Hilfestellung, um den passenden Typ zu ermit-teln.

Hauptsächlich der erste Fünferblock an nachfol-genden Parametern ist für das Resultat entschei-dend. Dort kann die GRÖSSE der Struktur ebenso vor-gegeben werden wie deren REGELMÄSSGKEIT.

|||| Abbildung 3.41: Fraktale Parameter|||| Abbildung 3.40: Schatten-Parameter

Page 32: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111133330000 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 130 Mittwoch, 4. Juni 2003 11:58 11

Für die Bestimmung dieser Werte lässt sich kaumeine Faustregel formulieren. Veränderungen müs-sen in jedem Fall anhand von Probe-Berechnungenund mit der Hilfe des Vorschau-Fensters kontrolliertwerden.

Schließlich hat das Ergebnis auch viel mit per-sönlichen Vorstellungen zu tun und ob ein eher na-türlicher Effekt oder eine mehr fantastische Formentstehen soll. Versuchen Sie sich dem gewünsch-ten Ergebnis systematisch anzunähern. Wählen Siezuerst den FRAKTAL-TYP aus, der der gewünschtenAusfransung und Struktur am nächsten kommt. Be-nutzen Sie dann den Größe-Wert, um die Strukturbeliebig zu skalieren. Schließlich glätten oder ver-stärken Sie die fraktale Struktur mit dem REGELMÄSS-

GKEIT-Wert.Details lassen sich durch Erhöhung des DETAIL-

Werts hinzufügen, wobei mehr Details auch einelängere Berechnungszeit nach sich ziehen. HöhereWerte für RADIUS-WACHSTUM führen zu einer dynami-schen Anpassung der Fraktale an die Größe derWolke. Es wird dadurch erreicht, dass kleine Wol-ken weniger Details zeigen als Wolken, die im Laufeder Animation an Volumen und Radius zunehmen.Hier sollten Sie also Werte zwischen 70% und 90%einsetzen, wenn die Wolken über die Lebenszeit derPartikel mit Unterstützung der ALTER-Parameter gra-vierende Skalierungen durchlaufen.

Falls noch nicht geschehen, können Sie diesesin den vergangenen Abbildungen dargestellteMaterial nun dem PARTIKEL-GEOMETRIE-OBJEKT derBoden-Gruppe im OBJEKT-MANAGER zuweisen.

Bevor ein erstes Test-Rendering ausgelöst wer-den kann, muss das Material des VOLUMEN-TRACERS

ebenfalls in die Szene eingebracht werden.Bislang ist es ja nur als Material im MATERIAL-MANA-

GER vorhanden. Erzeugen Sie dazu ein UMGEBUNGS-OBJEKT aus dem Menü OBJEKTE > SZENE-OBJEKTE > UM-

GEBUNG und weisen Sie diesem das Material des VO-

LUMEN-TRACERS zu.

Lassen Sie nun die Animation ab Bild 0 ein paar Bil-der ablaufen, bis genügend Partikel erzeugt wur-den. Lassen Sie dann die Kamera-Ansicht mit einemKlick auf das AKTUELLE ANSICHT RENDERN-Icon berech-nen. Alternativ dazu können Sie natürlich auch dieTastenkombination (Ctrl)-(R) benutzen.

Begutachten Sie das Ergebnis und nehmen Sienach Belieben Veränderungen an den Einstellungenim Material der Boden-Partikel vor. Dies dürfte be-sonders den RADIUS der Form und die DEHNUNG ÜBER

GESCHWINDIGKEIT (beides auf der FORM-Seite des Ma-terial-Dialogs) betreffen.

Es steht Ihnen natürlich ebenfalls frei, die Farb-werte Ihren Wünschen anzupassen. Probieren Sieauch ruhig einmal aus, wie die Partikel als VIDEO-

POST-Effekt aussehen, indem Sie auf der GLOBAL-Seite des Materials den Modus umschalten.

Falls Ihnen die Berechnungszeiten zu lang vor-kommen, versuchen Sie diese durch schrittweisesErhöhen der beiden Werte für Sample-Abstand undStrahltiefen-Grenze im VOLUMEN-TRACER zu reduzie-ren ohne die Qualität der Wolken negativ zu beein-flussen.

Deaktivieren Sie zudem für derartige Test-Be-rechnungen immer das Antialiasing in den RENDER-VOREINSTELLUNGEN von CINEMA 4D. Diese Kan-tenglättung von Objekten und Materialien siehtnicht nur gut aus, sondern verlängert leider oft auchnicht unerheblich die Berechnungszeiten.

Natürlich können Sie auch kurzfristig die Anzahlder emittierten Partikel reduzieren oder deren Le-benszeit verkürzen. Alles was dazu beiträgt, dassweniger Partikel und somit weniger PyroCluster-Wolken zu berechnen sind, reduziert gleichzeitigauch die Berechnungszeit.

Sie können auch Partikel kurzfristig verdeckenund so deren Berechnung verhindern. Dafür reichtz.B. ein WÜRFEL-Grundobjekt aus, das Sie groß ge-nug angelegt haben, um die überflüssigen Partikeldarin einzuschließen.

Page 33: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111333311113.5 PyroCluster

kap03.fm Seite 131 Mittwoch, 4. Juni 2003 11:58 11

Sie können diese Option für die Berechnung hoch-wertigerer Ergebnisse jederzeit später wieder akti-vieren.

Wir erzeugen nun das zweite PYROCLUSTER-Mate-rial für die Partikel im Wirbel. Ohne nun wieder sodetailliert auf alle Parameter eingehen zu wollen –viele Einstellungen wiederholen sich bei allen nöti-gen Materialien –, möchte ich nur die relevantenWerte im Bild zeigen.

Ich werde dann nur die veränderten Einstellungenkurz hervorheben und begründen.

Als Ausgangsbasis für dieses neue Material –Sie rufen also ein neues PYROCLUSTER-Material imMATERIAL-MANAGER auf – dient wieder die bekannteVulkan-Voreinstellung.

Wie Sie der Abbildung der GLOBAL-Seite entneh-men können, wurde hier die Dichte massiv redu-ziert. Zugleich wurde die Transparenz über den Al-pha-Gradienten der Farbe reduziert.

Auf der ALTER-Seite wurden allen Werte über dieFarbe Weiß praktisch neutralisiert. Sie können dortalso die ALTER AKTIVIEREN-Option auch ausschalten.Die Partikel-Wolken bleiben dadurch im Laufe derAnimation und der Lebenszeit der Partikel unverän-dert.

|||| Abbildung 3.42: Wirbel-Material

|||| Abbildung 3.43: Alter-Parameter

Page 34: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111133332222 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 132 Mittwoch, 4. Juni 2003 11:58 11

Auf der FORM-Seite ergeben sich einige Veränderun-gen gegenüber dem Material für die Boden-Partikel.Auch hier wird die KUGEL als Grundform benutzt,aber diesmal mit einem größeren RADIUS von 20 Ein-heiten.

Die Auto-Rotation wurde aktiviert und mit einemDEHNUNG ÜBER GESCHW. kombiniert. Da wir dieZ-Achse der Im Wirbel-Partikel über den P AUSRICH-

TEN-Node immer in Flugrichtung weisen lassen,sollte hier die Dehnung auf die Z-Achse begrenztwerden.

Daher wird das Z-Feld des Dehnungs-Vektors er-höht.

Wie bereits erläutert ist der Betrag der Dehnungdirekt abhängig von der Geschwindigkeit des Parti-kels. Es muss also mit Hilfe von Test-Renderingsund mit der Aktivierung der VORSCHAU-Option amunteren Rand dieses Dialog-Fensters der geeigneteWert für die Dehnung abgeschätzt werden.

Denken Sie daran, dass die VORSCHAU im Editor nurfunktionieren kann, wenn das entsprechende PARTI-

KEL-GEOMETRIE-Objekt das Material zugewiesen be-kommen hat.

Auf der FRAKTALE-Seite wurde in diesem Materialdie Größe etwas gegenüber dem Boden-Material re-duziert. Es werden also mehr Störungen auf kleine-rem Raum sichtbar werden.

Parallel dazu wurde die Stärke der Details er-höht. Wie Sie der Vorschau auf der GLOBAL-Seiteentnehmen können, wirkt das Material dadurch grö-ber. Da diese Partikel Staub und Sand darstellensollen, kommt das unseren Wünschen entgegen.

Damit ist auch das zweite Material definiert undkann per Drag&Drop aus dem MATERIAL-MANAGER aufdas PARTIKEL-GEOMETRIE-OBJEKT der Im Wirbel-Parti-kel im OBJEKT-MANAGER übertragen werden.

Kommen wir schließlich zum dritten Material,das die Wolken über dem Wirbel darstellen soll.

|||| Abbildung 3.44: Form-Parameter |||| Abbildung 3.45: Fraktale Parameter

Page 35: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111333333333.5 PyroCluster

kap03.fm Seite 133 Mittwoch, 4. Juni 2003 11:58 11

Wie Sie hier erkennen können, wurde der DICHTE-Wert auf 50 erhöht. Wir haben es also schon mit et-was dichteren Wolken zu tun.

Wieder wurden die Vulkan-Einstellungen alsAusgangsbasis benutzt. Die Farbe wurde auch indiesem Material nicht verändert. Der Alpha-Gradi-ent der Farbe macht vor allem den Rand der Wolketransparent.

Die DURCHDRINGEN VERHINDERN-Option ist nichtzwingend zu aktivieren. Sie wird nur dann wichtig,wenn Sie z.B. vorhaben, ein Flugzeug oder einenHeißluft-Ballon in den Wolken zu platzieren. Istdiese Option aktiv, werden Durchdringungen derWolken mit Objekten verhindert.

Eine Wolke kann dann nicht mehr durch denFlugzeugrumpf hindurchragen und auf der gegen-überliegenden Seite wieder erscheinen.

Auf der ALTER-Seite wurde nur der LEBENSDAUER-Verlauf angepasst. Es findet dort eine Überblen-

dung von Weiß (siehe Farb-Mix) auf Schwarz statt.Dies überlagert sich durch den Alpha-Anteil in derLebensdauer und in der Farbe der GLOBAL-Seite zueinem Grau/Braun-Farbton.

Beachten Sie bei allen Verläufen, die über dieLebenszeit der Partikel angelegt sind, dass dieseLebenszeit durchaus schon recht weit abgelaufensein kann, wenn das Material auf so einen Partikeltrifft.

Dies liegt daran, dass der Wechsel eines Par-tikels in eine andere Partikel-Gruppe nicht die„Lebensuhr“ zurückstellt, sondern die Lebenszeitkontinuierlich weiterläuft.

Eine Einstellung am linken Rand des Gradientenkann also in einem solchen Fall gar nicht mehr zumTragen kommen, da der Partikel z.B. schon diehalbe Lebenszeit hinter sich hat, wenn er das Mate-rial über das PARTIKEL-GEOMETRIE-Objekt zugewiesenbekommt.

|||| Abbildung 3.46: Global-Parameter |||| Abbildung 3.47: Alter-Parameter

Page 36: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

111133334444 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster

kap03.fm Seite 134 Mittwoch, 4. Juni 2003 11:58 11

Auf der FORM-Seite des Material-Dialogs für das PY-

ROCLUSTER-Material der oberen Wolken sind wohldie gravierendsten Unterschiede zu den übrigenMaterialien zu erkennen.

Die Größe der KUGEL-Form ist hier mit 80 Einhei-ten recht großzügig gewählt. Zudem fällt auf, dasshier keine DEHNUNG über den Geschwindigkeitsvek-tor erfolgt. Die Form bleibt also von der Richtungund dem Betrag der Geschwindigkeit unbeeinflusst.Dafür werden die SKALIEREN-Werte derart verändert,dass die Wolken-Kugel entlang der Z-Achse der Par-tikel auf ein Drittel der Radius-Größe gestauchtwird.

Um für derartige Veränderungen der Größenver-hältnisse die richtige Achse zu wählen, sollten Sieauf die VORSCHAU-Option im unteren Rand des Dia-logs zurückgreifen.

Das Material muss dazu dem PARTIKEL-GEOMET-

RIE-OBJEKT der Oben-Gruppe zugewiesen sein. Zu-dem müssen die Partikel dieser Gruppe natürlichauch im Editor sichtbar sein.

Lassen Sie also ggf. die Animation so lange ablau-fen, bis genügend Partikel der blauen Oben-Gruppezu sehen sind.

Auf der FRAKTALE-Seite wurde vorwiegend auf dieGröße des Fraktals eingewirkt. Da diese Wolkenüber den Radius der FORM-Seite auch sehr viel grö-ßer als die übrigen Wolken sind, wurde die FRAKTAL-Struktur hier auf 300% skaliert. Es sind dann als un-gefähr die gleichen Strukturen in den großen Wol-ken vorhanden wie in den kleinen des Wirbels.

Ansonsten ist hier wie immer etwas Ausprobie-ren gefragt, bis die Vorschau der Wolke den Wün-schen entspricht.

Man sollte sich dabei auch nicht zu sehr auf dasVorschau-Fenster der GLOBAL-Seite verlassen. ImZweifel bringt nur ein Test-Rendering der Kamera-Ansicht im Editor Klarheit über das Aussehen derPartikel-Wolken bei der Berechnung. Nur dort kannschließlich auch die Wirkung eventuell ebenfallsvorhandener Lichtquellen auf die Wolken überprüftwerden.

|||| Abbildung 3.48: Form-Parameter |||| Abbildung 3.49: Fraktale-Parameter

Page 37: Partikelanimation mit Thinking Particles und PyroCluster 3 · 100 Kapitel 3: Partikelanimation mit Thinking Particles und PyroCluster 3.1 TP-Emitter erzeugen Beginnen Sie wie bereits

1111333355553.5 PyroCluster

kap03.fm Seite 135 Mittwoch, 4. Juni 2003 11:58 11

Die beiden zuletzt beschriebenen Materialien be-nutzen übrigens alle die gleichen SCHATTEN-Einstel-lungen wie das erste Material für die Boden-Partikel. Dort war nur der EIGENSCHATTEN aktiviertworden. Wollen Sie diesen Wirbelsturm durch eineStadt fegen lassen, sollten auch die übrigen SCHAT-

TEN-Optionen für das Werfen und Empfangen vonSchatten aktiviert werden.

Auf der BELEUCHTUNG-Seite aller drei Materialienwurde die Diffuse-Beleuchtung der Standardein-stellung übernommen. Dies ist die beste Methodefür die Darstellung von Rauch und Wolken.

Die beiden anderen Beleuchtungsmethodenverstärken zu sehr die Oberfläche der Wolke undeignen sich daher mehr für die Fälle, in denen PYRO-

CLUSTER-Wolken wie massive Objekte wirken sollen.Die Abbildung oben zeigt Ihnen die bereits im

Text beschriebene Zuweisung der PYROCLUSTER-Ma-terialien zu den Partikel-Geometrie-Objekten. DasUMGEBUNG-Objekt mit dem VOLUMEN-TRACER-Materialist ebenfalls zu erkennen.

Um die Szene etwas zu begrenzen und den Wir-belsturm nicht einfach im leeren Raum schweben zu

lassen, habe ich ein BODEN-Objekt hinzugefügt. Siefinden dies im OBJEKTE-Menü unter SZENE-OBJEKTE.

Das BODEN-Objekt hat gegenüber einer Ebeneden Vorteil, dass es automatisch die gesamte Szeneausfüllt. Das heißt das Objekt breitet sich – wenndie Szene berechnet wird – bis zum Horizont aus. ImEditor ist der Übersichtlichkeit wegen nur ein Qua-drat als Platzhalter für diese endlose Ebene zu se-hen.

Verschieben Sie das BODEN-Objekt auf eine Y-Position direkt unter dem Emitter und fügen Sie ggf.noch ein paar Lichtquellen hinzu. Achten Sie darauf,den Lichtquellen auch einen Schattenwurf zu ge-ben, damit der Eigenschatten auf den Wolken sicht-bar wird.

Abschließend können Sie in der Abbildung obennoch einen Blick auf ein Standbild des fertigen TP-Wirbels werfen. Sie finden diese Szene natürlichauch auf der CD-ROM zu diesem Buch.

Nachdem wir uns nun in den vergangenen Kapi-teln fast ausschließlich mit C.O.F.F.E.E. und XPRESSO

beschäftigt haben, möchte ich nun im kommendenKapitel das Thema Modellierung behandeln.

|||| Abbildung 3.50: Szene im Objekt-Manager

|||| Abbildung 3.51: Der fertige Wirbel