Der Cache-Operator zeichnet den Status der Partikel auf und legt diesen im Arbeitsspeicher ab. Das ist besonders bei umfangreichen oder komplexen Partikelsystemen nützlich, bei denen die Wiedergabe und insbesondere das Aufrufen früherer Frames wegen der aufwendigen erforderlichen Verarbeitung langsam ist.
Wenn Cache aktiviert ist und Sie ein Frame das erste Mal abspielen oder aufrufen, wird die Partikelbewegung bis zu einschließlich diesem Frame berechnet und im Cache aufgezeichnet. Wenn Sie dieses Frame oder vorhergehende Frames danach wiedergeben, werden die Daten im Cache verwendet, sodass die Partikelaktion nicht wieder berechnet werden muss. Bei aktivierter Cache-Speicherung muss das Partikelsystem nur einmal pro Frame berechnet werden, und das Wiedergeben von und gezielte Wechseln zu Frames wird danach bedeutend schneller.
Wenn der gesamte Fluss im Cache gespeichert werden soll, fügen Sie dem globalen Ereignis einen Cache-Operator hinzu. Wenn Sie ein individuelles lokales Ereignis im Cache speichern möchten, fügen Sie ihm einen Cache-Operator hinzu.
Sie können sich einen Eindruck davon verschaffen, wie Sie die Cache-Speicherung am besten in Ihr Partikelsystem integrieren, indem Sie in der Partikelansicht Aktualisierung verfolgen
Aktualisierungsfortschritt aktivieren und anschließend die Animation wiedergeben. Alternativ können Sie auch zu einem relativ weit vom aktuellen Frame entfernten Frame wechseln. Beobachten Sie das Partikeldiagramm, und halten Sie nach Ereignissen mit Aktionen Ausschau, die länger als nur den Bruchteil einer Sekunde hervorgehoben sind, oder nach Ereignissen mit mehr Aktivität als der Rest. Für solche Ereignisse kann die Cache-Speicherung vorteilhaft sein.
Beispiel: So verwenden Sie den Cache-Operator:
Dadurch können Sie die Berechnung des Partikelsystems durch Markieren von Aktionen in der Partikelansicht überwachen, während das System diese durchführt.
Der Operator Getrennt halten ist sehr rechnerintensiv.
Es ergibt sich eine Verzögerung, während das System alle Partikelbewegungen zwischen Frame 0 und 100 berechnet. Dies ist erforderlich, weil Partikelfluss ein verlaufsabhängiges System ist. Gleichzeitig werden die Aktionen im System kurz in der Partikelansicht hervorgehoben, während sie bei jedem Frame ausgeführt werden.
Es ergibt sich wiederum eine Verzögerung, während das System alle Partikelbewegungen zwischen Frame 0 und 50 berechnet.
Wenn Sie die Maustaste loslassen, ergibt sich eine Verzögerung, während der Cache-Operator automatisch die Partikelbewegung vom Start der Animation bis zum aktuellen Frame im Cache speichert. Inzwischen wird jede Aktion bei jedem Frame kurz hervorgehoben.
Jetzt werden nur die Operatoren Cache (sehr kurz) und Anzeigen hervorgehoben; es gibt keine Verzögerung. Alle Frames zwischen 0 und 50 wurden im Cache gespeichert.
Die Verzögerung ergibt sich dieses Mal aus der Cache-Speicherung der Partikelbewegung für die Frames 50 bis 100.
Die gesamte Partikelbewegung ist jetzt im Cache gespeichert, sodass keine Verzögerungen auftreten. Wenn Sie jedoch den Wert einer Einstellung ändern, berechnet der Cache-Operator die Partikelbewegung automatisch neu und speichert sie wieder.
Als Vorgabe aktualisiert der Cache-Operator automatisch den Cache, sobald Sie darin gespeicherte Parameter ändern. Wenn Sie also den Wert für Falloff-Zone bei Frame 100 ändern, wird die gesamte Animation neu berechnet und erneut im Cache gespeichert.
Im folgenden Abschnitt erhalten Sie eine kurze Einführung in die Funktionsweise der manuellen Cache-Speicherung.
Jetzt aktualisiert der Cache-Operator die gespeicherten Daten nicht mehr automatisch bei jeder Parameteränderung.
Es ergibt sich keine Verzögerung, da die Animation noch immer aus den im Cache gespeicherten Daten abgespielt wird. Die im Cache gespeicherten Daten sind jetzt jedoch ungültig, da Sie einen Parameter im Partikelsystem geändert haben.
3ds Max schließt die Partikelansicht, aktualisiert den Cache für das aktive Segment und öffnet die Partikelansicht dann wieder. Die im Cache gespeicherten Daten sind jetzt wieder korrekt.
Mit anderen manuellen Aktualisierungsoptionen können Sie den Cache für die gesamte Animation oder für einen benutzerdefinierten Framebereich aktualisieren.
Der Cache-Operator ist somit ein sehr leistungsstarkes Hilfsmittel. Wenn er vorhanden und aktiv ist, überschreibt er als Vorgabe die Neuberechnung des Partikelsystems, es sei denn, Sie ändern Aktionsparameter. In diesem Fall werden die im Cache gespeicherten Daten automatisch aktualisiert. Bei sorgsamer Anwendung kann dieser Operator viel Zeit beim Einrichten und Testen von Partikelsystemen sparen.
Die Benutzeroberfläche wird im Parameterfenster auf der rechten Seite des Dialogfelds Partikelansicht angezeigt.
Wenn N beispielsweise auf den Vorgabewert 5 gesetzt ist, werden im Cache die Animationsdaten für jedes fünfte Frame gespeichert.
Dies ist wichtig, wenn der Cache-Operator lokal verwendet wird und das nächste Ereignis keinen Cache-Operator hat. Damit das nächste Ereignis fehlerfrei funktioniert, muss es Partikel aus dem aktuellen Ereignis erhalten. Diese Partikel sind das Ergebnis einer Testaktion. Der Cache-Operator kann die Testaktivität aufzeichnen und später wiedergeben.
Wenn der Cache-Operator als globaler Operator verwendet wird, müssen die Testergebnisse nicht im Cache gespeichert werden. Das liegt daran, dass dem System Cache-Daten für jedes Ereignis vorliegen, sodass es zu jedem beliebigen Frame wechseln kann, ohne die Testergebnisse abrufen zu müssen.
Normalerweise werden die zwischengespeicherten Daten nur in Datenträgerdateien gespeichert, die Sie über den Befehl Speichern oder Speichern unter erstellen. Über die folgenden beiden Optionen können Sie 3ds Max jedoch anweisen, im Cache gespeicherte Daten auch in andere Dateitypen einzuschließen.
Mit diesen Steuerelementen können Sie den Cache in einem bestimmten Framebereich manuell aktualisieren oder löschen bzw. den gesamten Cache leeren.
Während der Aktualisierung schließt 3ds Max die Partikelansicht vorübergehend und zeigt stattdessen eine Statusleiste für den Fortschritt der Cache-Aktualisierung an, während der Zeitschieber sich durch den im Cache gespeicherten Bereich bewegt. Gleichzeitig wird hier vorgabemäßig die Animation in den Ansichtsfenstern abgespielt. Sie können dies verhindern und damit die Berechnung beschleunigen, indem Sie die Option Ansichtsfenster aktualisieren deaktivieren.
Wenn während einer manuellen Aktualisierung der Cache-Speicher ausgeht, wird die Aktualisierung angehalten und eine Warnmeldung angezeigt. Klicken Sie auf OK, um fortzufahren, und erhöhen Sie, falls möglich, den Speichergrenzwert, bevor Sie den Cache erneut aktualisieren.
Wenn Sie den Cache-Puffer gelöscht haben, speichert Partikelfluss automatisch Partikelbewegungen im Cache, wenn Sie zu einem anderen Frame wechseln oder Aktionsparameter ändern. Dies gilt auch dann, wenn Sie die manuelle Aktualisierung aktiviert haben.
Wenn Sie die gesamte Animation aktualisieren möchten, erweitern Sie das aktive Segment bzw. den benutzerdefinierten Bereich auf alle Frames, aktivieren Sie anschließend die entsprechende Option, und klicken Sie auf Aktualisieren.
Wenn diese Option aktiviert ist, wird die Animation während der manuellen Aktualisierung des Cache-Speichers in den Ansichtsfenstern abgespielt. Deaktivieren Sie diese Option, um die Wiedergabe während der manuellen Cache-Speicherung zu deaktivieren. Dadurch können Sie die Cache-Speicherung besonders bei umfangreichen oder komplexen Partikelsystemen beschleunigen. Vorgabe = Aktiviert.
Der Cache-Operator speichert Daten im Systemspeicher; Sie können einen oberen Grenzwert für den dafür freigegebenen Speicher angeben. Wenn die Einstellung für Grenzwert und die Menge der im Cache gespeicherten Daten den verfügbaren freien Speicher überschreiten, kann das Computersystem stattdessen den virtuellen Speicher (auf der Festplatte) verwenden, wodurch allerdings die Cache-Speicherung verlangsamt wird. Wenn das Partikelfluss-System den Cache füllt, werden die übrigen Frames direkt berechnet.
Über diesen Bereich können Sie auch die Menge des zur Cache-Speicherung von Daten freigegebenen Speichers überwachen.