In Partikelfluss unterliegt die Verwendung von Materialien einer spezifische Einschränkung: Ein einem Ereignis zugewiesenes Material – entweder über einen standardmäßigen Materialoperator oder als Parameter des Konturinstanz-Operators – wird nicht zusammen mit den Partikeln von Ereignis zu Ereignis weitergegeben. Diese Einschränkung reduziert die allgemeine Flexibilität eines Partikelfluss-Systems und macht einige Schritte zur Problemumgehung notwendig: Weisen Sie einen Materialoperator entweder dem globalen Ereignis oder allen betroffenen Ereignissen zu.
"Partikelfluss" erweitert die Ereignisfunktionen, um die allgemeine Handhabung der Materialien in einem System zu verbessern. Es ist nach wie vor nicht möglich, ein Material von einem Ereignis in das nächste weiterzureichen; es steht nun jedoch eine Reihe von Hilfsmitteln zur Verfügung, mit denen die Materialzuweisung und -übernahme vereinfacht werden.
Im Rahmen der Materialzuweisung für Partikelfluss-Ereignisse können Materialien in parametrisch und synthetisch unterteilt werden.
Ein Material ist parametrisch, wenn Sie einen der standardmäßigen Materialoperatoren verwenden. Der Operator weist eine Schaltfläche zum Definieren eines Materials aus dem Material-Editor auf. Dieses Material wird dem Ereignis mit dem Materialoperator als Referenz übergeben, damit es von den Partikeln während ihres Verbleibs im betreffenden Ereignis genutzt werden kann. Das Material ist also parametrisch: Es wird als Parameter in einem Materialoperator zugewiesen.
Ein Material ist synthetisch, wenn Sie beispielsweise den standardmäßigen Konturinstanz-Operator verwenden. Wenn die Option Material holen des Operators aktiviert ist, wird das der Referenzgeometrie zugeordnete Material dem aktuellen Ereignis zugewiesen. Wenn der Operator außerdem auf eine Gruppe von Objekten als Partikelgeometrieobjekt verweist, sammelt er alle Materialien aus der Gruppe und erstellt ein neues Multi-/Unterobjekt-Material für die Zuweisung zum Ereignis. In diesem Fall wird ein neues Material aus anderen Materialien synthetisiert.
Wenn Sie auf den Titelbereich eines globalen Ereignisses klicken, können Sie die für das gesamte Partikelfluss-Partikelsystem gültigen Parameter sehen. Sie können nun auch auf den Titelbereich eines lokalen Ereignisses klicken und Hilfsmittel zur Handhabung von Materialien sowie das dem Ereignis zugewiesene Material sehen.
Öffnen Sie die Beispieldatei MaterialInheritance01.max (sie befindet sich bei den Lehrgangsdateien im Ordner ParticleFlowSamples), um zu sehen, wie die Material-Hilfsmittel verwendet werden. Die Szene enthält ein einfaches Partikelfluss-System mit vier Ereignissen. Sie enthält keine Materialoperatoren; die Farbe der Partikel im Ansichtsfenster wird in jedem Ereignis von einem anderen Anzeige-Operator definiert, sodass Sie bei der Wiedergabe der Animation anhand ihrer Farbe sehen können, wann die Partikel das Ereignis wechseln.
Fügen Sie nun einen Operator des Typs Material statisch in Ereignis 01 ein, wählen Sie ihn aus und weisen Sie das Multi-/Unterobjekt-Material aus dem Material-Editor (dem ersten Feld) als Instanz (Vorgabemodus) zu. Passen Sie die Parameter des Material-statisch-Operators an, um die Untermaterialien durchzugehen. Das Ereignis-Map wird wie folgt aussehen:
Wenn Sie die Animation jetzt wiedergeben, werden Sie sehen, dass zu Beginn alle Partikel unterschiedliche Farben aufweisen, aber dann im Block zu einer anderen Farbe wechseln. Das liegt daran, dass es in den folgenden drei Ereignissen keinen Materialoperator gibt und somit die Anzeigefarbe aus den Ansichtsfenstern verwendet wird.
Klicken Sie auf die Titelleiste von Ereignis 01, um die Parameter von Ereignis 01 anzuzeigen, und klicken Sie auf die Schaltfläche Materialien stromabwärts. Partikelfluss gibt die Meldung aus, dass drei Ereignisse mit einem Material aktualisiert wurden. Spielen Sie die Animation erneut ab; die Partikel werden nun in allen Ereignissen in den gleichen Farben dargestellt. Wenn Sie andere Ereignisse auswählen, können Sie außerdem sehen, dass die Schaltfläche Aktuelles Material nun dasselbe Material anzeigt wie im ersten Ereignis.
Betrachten Sie als Nächstes die etwas komplexere Beispieldatei MaterialInheritance02.max (sie befindet sich bei den Lehrgangsdateien im Ordner ParticleFlowSamples). Sie zeigt zwei Partikelströme, die sich zu einem einzigen Strom zusammenfügen. Die Startereignisse weisen unterschiedliche Materialien auf, die von Material-statisch-Operatoren definiert werden. Sobald die Partikel das zweite Ereignis (Ereignis 02) erreichen, verlieren sie ihre Materialien. Im Folgenden erfahren Sie, was Sie in dieser Situation tun können.
Wählen Sie Ereignis 01 aus und klicken Sie auf die Schaltfläche Materialien stromabwärts. Geben Sie die Animation wieder und betrachten Sie die Materialien in Ereignis 02, Ereignis 03 und Ereignis 04. Sie werden sehen, dass alle Ereignisse stromabwärts von Ereignis 01 die Farbe Grün übernommen haben. Das ist nicht wünschenswert, da nun die Partikel in Ereignis 05 ebenfalls das grüne Material aufweisen. Dieses Problem muss behoben werden. Das Ziel ist, dass die Partikel aus den beiden Erstellungsereignissen ihre ursprünglichen Materialien beibehalten.
Versuchen Sie als Erstes Folgendes: Wählen Sie Ereignis 05 (das Startereignis mit dem blauen Material) aus und klicken Sie auf die Schaltfläche Materialien stromabwärts. Sie werden sich erinnern, dass Sie beim Klicken auf diese Schaltfläche in Ereignis 01 die Meldung erhalten haben, dass die Materialien in drei Ereignissen aktualisiert wurden. In Ereignis 05 wird stattdessen die Meldung ausgegeben, dass alle Ereignisse über gültige Materialien verfügen. Das sagt Ihnen, dass die Materialien in den stromabwärts liegenden Ereignissen nicht geändert wurden. Wenn Sie die Animation abspielen oder die anderen Ereignisse überprüfen, können Sie sehen, dass das grüne Material aus Ereignis 01 immer noch präsent ist. Warum?
Beim Klicken auf die Schaltfläche Materialien stromabwärts findet das Plug-In alle Ereignisse, die sich stromabwärts vom aktuellen Ereignis befinden, und löst für alle diese Ereignisse die Materialaktualisierung aus. Ein Material in einem Ereignis wird anhand seiner Materialübernahmeparameter aktualisiert. Wenn die Option Übernehmen auf Keine gesetzt ist oder das Ereignis einen eigenen Operator mit einem Material (einen beliebigen Materialoperator oder einen Konturinstanz-Operator mit aktiver Option Material holen) enthält, wird das Material im Ereignis nicht aktualisiert, da es bereits definiert wurde. Wenn die Option Übernehmen auf Höchste Priorität gesetzt ist, sucht das Ereignis nach Ereignissen stromaufwärts (bei Ereignis 02 wären das Ereignis 01 und Ereignis 05), prüft deren Materialprioritätswerte und übernimmt ein Material aus dem Ereignis mit der höchsten Priorität. Im vorliegenden Fall haben Ereignis 01 und Ereignis 05 die gleiche Materialpriorität: 0 (null). Das Ergebnis ist also nicht eindeutig: Ereignis 02 kann das erste Ereignis auswählen, das stromaufwärts gefunden wird. Um die Materialübernahme aus Ereignis 05 zu erzwingen, ändern Sie die Materialpriorität in Ereignis 05 zu 1 und klicken erneut auf die Schaltfläche Materialien stromabwärts. Jetzt können Sie sehen, dass alle Ereignisse stromabwärts das blaue Material aufweisen.
Das erklärte Ziel ist aber noch nicht erreicht: Die Partikel aus Ereignis 01 ändern ihr Material von Grün zu Blau, sobald sie in Ereignis 02 eintreten. Wir müssen also etwas anderes versuchen.
Die letzte Übernahmeoption ist Materialien kombinieren. Dieser Übernahmetyp eignet sich dazu, Materialien ordnungsgemäß stromabwärts zu übertragen. Wählen Sie Ereignis 02 aus und setzen Sie Übernehmen auf Material kombinieren. Klicken Sie auf die Schaltfläche Aktuelles Ereignismaterial, um ein kombiniertes Material aus den Ereignissen stromaufwärts zu holen. Als aktuelles Material in Ereignis 02 sehen Sie nun nicht mehr das grüne oder blaue Material, sondern ein neues mit der Bezeichnung Material Nr. 10 oder ähnlich. Wenn Sie das Material in den Material-Editor ziehen, sehen Sie, dass es sich dabei um ein Multi-/Unterobjekt-Material mit einem einzigen Untermaterial namens Blau handelt.
Warum? Sowohl Ereignis 01 als auch Ereignis 05 enthalten ein Standardmaterial, wobei Ereignis 05 in den Ereigniseinstellungen eine höhere Priorität aufweist. Da beide Materialien Standardmaterialien sind (im Gegensatz zu Multi-/Unterobjekt-Materialien), versuchen beide, das erste Feld im synthetischen Multi-/Unterobjekt-Material in Ereignis 02 zu beanspruchen. Ereignis 05 erhält allerdings aufgrund der höheren Priorität den Vorzug.
Um die Materialkollision aufzulösen, müssen Sie das Material entweder in Ereignis 01 oder Ereignis 05 ändern. Gehen Sie dazu wie folgt vor: Wählen Sie den Operator Material statisch in Ereignis 05 aus und ändern Sie Versatz Untermat.-ID zu 1 (vom Vorgabewert 0). Beachten Sie, dass die Option Material-ID zuweisen automatisch aktiviert wird (der Grund hierfür wird später erklärt), aber Sie müssen auch die Option In Ansichtsfenster zeigen aktivieren, um den Materialeffekt im Ansichtsfenster zu sehen. Beachten Sie außerdem, dass der dynamische Name des Operators von Material statisch 02 (blau) zu Material statisch 02 (blau >> 1) geändert wurde, was angibt, dass der ID-Versatz angewendet wurde.
Wählen Sie Ereignis 05 aus und überprüfen Sie das Material auf der Schaltfläche Aktuelles Material. (Ziehen Sie es dazu in den Material-Editor.) Das Material ist ein wahres Multi-/Unterobjekt-Material mit zwei Untermaterialien: Das erste Feld ist leer und das zweite wird vom blauen Material besetzt. Jetzt ist es möglich, Materialien aus Ereignis 01 und Ereignis 05 ohne Kollision zu kombinieren.
Wählen Sie Ereignis 02 aus und klicken Sie auf die Schaltfläche Aktuelles Material aktualisieren. Überprüfen Sie das Material auf der Schaltfläche Aktuelles Material: Das kombinierte Material weist zwei Untermaterialien auf, Grün und Blau. Klicken Sie auf die Schaltfläche Materialien stromabwärts, um das Material auf die Ereignisse 03 und 04 zu übertragen.
Wenn Sie die Animation jetzt wiedergeben, sehen Sie nach wie vor eine Diskrepanz bei den Partikeln aus Ereignis 01: Sie werden blau, sobald sie Ereignis 01 verlassen. Um das zu beheben, müssen in "Material statisch 01 (grün)" die Optionen "Material-ID zuweisen" und "In Ansichtsfenster zeigen" aktiviert werden. Auch wenn das grüne Material keine Untermaterialien hat, werden die Untermaterial-Indizes benötigt, da die Partikel zu einem späteren Zeitpunkt das Ereignis verlassen und den Multi-/Unterobjekt-Materialien untergeordnet werden.
Dieser Abschnitt beschreibt die Steuerelemente der Materialübernahme, auf die Sie durch Klicken auf die Titelleiste eines Ereignisses zugreifen, sowie den neuen Parameter Versatz Untermat.-ID, der Operatoren, die Materialien verwenden, hinzugefügt wurde.
Dieser Bereich enthält Hilfsmittel zum Festlegen von Materialien in Partikelfluss-Ereignissen.