Operator "Zwischenspeicherung"

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.

Anmerkung: Verwenden Sie niemals mehr als einen Cache-Operator pro Ereignis, es sei denn, Sie verwenden zwei und richten Sie folgendermaßen ein: einen für Ansichtsfenster und einen zum Rendern. Verwenden Sie auch nicht globale und lokale Cache-Operatoren in demselben Fluss, wenn nicht einer für Ansichtsfenster und der andere für das Rendern eingerichtet ist.
Tipp: Wenn die Echtzeitwiedergabe nicht schnell genug ist, können Sie sie mit dem Cache-Operator beschleunigen. Die besten Ergebnisse erhalten Sie, wenn Sie für den Integrationsschritt für Ansichtsfenster denselben Wert einstellen wie für die Geschwindigkeit der Echtzeitwiedergabe und anschließend für das Cache-Sampling die Option Integrationsschritt aktivieren. Wenn die Geschwindigkeit der Echtzeitwiedergabe beispielsweise auf 1/4x gesetzt ist, sollte der Ansichtsfenster-Integrationsschritt ebenfalls auf 1/4 Frame eingestellt sein, und für den Sampling-Parameter des Cache-Operators sollte die Option Integrationsschritt aktiviert sein. Dadurch sind diese beiden Einstellungen synchronisiert, da die Echtzeitwiedergabe viermal so viele Frames pro Sekunde anzeigt, und der Cache-Operator viermal so viele Frames pro Sekunde gespeichert hat. Wenn die Geschwindigkeit der Echtzeitwiedergabe auf 2x oder 4x gesetzt ist, stellen Sie den Ansichtsfenster-Integrationsschritt auf Frame ein.

Vorgehensweisen

Beispiel: So verwenden Sie den Cache-Operator:

  1. Starten Sie 3ds Max oder setzen Sie es zurück, und fügen Sie dann ein Partikelfluss-System hinzu.
  2. Öffnen Sie die Partikelansicht.
  3. Öffnen Sie in der Partikelansicht Menü Optionen, wählen Sie Aktualisierung verfolgen, und aktivieren Sie Aktualisierungsfortschritt.

    Dadurch können Sie die Berechnung des Partikelsystems durch Markieren von Aktionen in der Partikelansicht überwachen, während das System diese durchführt.

  4. Fügen Sie in der Partikelansicht in Ereignis 01 einen Operator des Typs Getrennt halten hinzu.

    Der Operator Getrennt halten ist sehr rechnerintensiv.

  5. Gehen Sie zu Frame 100, indem Sie auf das rechte Ende der Zeitschieberspur klicken.

    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.

  6. Gehen Sie zu Frame 50, indem Sie auf die Mitte der Zeitschieberspur klicken.

    Es ergibt sich wiederum eine Verzögerung, während das System alle Partikelbewegungen zwischen Frame 0 und 50 berechnet.

  7. Ziehen Sie in der Partikelansicht einen Cache-Operator aus dem Depot in Ereignis 01. Fügen Sie ihn an einer beliebigen Stelle in das Ereignis ein.

    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.

  8. Gehen Sie zu Frame 20.

    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.

  9. Gehen Sie zu Frame 100.

    Die Verzögerung ergibt sich dieses Mal aus der Cache-Speicherung der Partikelbewegung für die Frames 50 bis 100.

  10. Springen Sie zu unterschiedlichen Frames, und ziehen Sie den Zeitschieber.

    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.

  11. Gehen Sie zu Frame 100, und klicken Sie anschließend in der Partikelansicht auf den Operator Getrennt halten. Ändern Sie dann über die Tastatur den Wert für Falloff-Zone in 8.0.

    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.

  12. Klicken Sie auf den Cache-Operator, und aktivieren Sie für Aktualisieren die Option Manuell.

    Jetzt aktualisiert der Cache-Operator die gespeicherten Daten nicht mehr automatisch bei jeder Parameteränderung.

  13. Klicken Sie auf den Operator Getrennt halten, ändern Sie den Wert für Falloff-Zone in 9.0, und ziehen Sie anschließend den Zeitschieber.

    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.

  14. Klicken Sie auf den Cache-Operator, und klicken Sie im Bereich Manuelle Aktualisierung auf Aktualisieren.

    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.

Benutzeroberfläche

Die Benutzeroberfläche wird im Parameterfenster auf der rechten Seite des Dialogfelds Partikelansicht angezeigt.

Verwenden bei
Partikelbewegungen werden beim Wiedergeben in den Ansichtsfenstern oder beim Rendern oder zu beiden Zeitpunkten im Cache gespeichert. Vorgabe = Ansichtsfenster.
Wichtig: Wählen Sie die Option Ansichtsfenster/Rendern nur, wenn Sie in den Ansichtsfenstern dieselbe Anzahl an Partikeln verwenden wie beim Rendern. Das heißt, die zwei Mengenmultiplikatoreinstellungen im Rollout Emission des globalen Ereignisses (oder der Partikelflussquelle) müssen identisch sein. Andernfalls kann diese Einstellung zu unerwünschten Ergebnissen führen.
Aktualisieren
Wenn Sie einen Parameter im Partikelsystem ändern, werden die im Cache gespeicherten Daten ungültig. Mit dieser Einstellung können Sie festlegen, ob das Partikelfluss-System den Cache automatisch aktualisieren soll oder ob Sie dies manuell tun möchten. Vorgabe = Immer.
  • Immer Wenn Parameter geändert werden, die unter den Zuständigkeitsbereich des Cache-Operators fallen, aktualisiert dieser automatisch die im Cache gespeicherten Daten ab dem Start des aktuellen Bereichs (siehe nächster Parameter) bis zum aktuellen Frame.
  • Manuell Die Daten im Cache werden nur aktualisiert, wenn Sie auf die Schaltfläche Aktualisieren klicken oder wenn Sie den Cache leeren und dann zu einem anderen Frame wechseln.
Bereich
Mit dieser Option wird der Framebereich angegeben, in dem der Cache-Operator aktiv ist. Vorgabe = Aktives Segment.
  • Vollständig Partikelfluss führt eine Zwischenspeicherung der gesamten Animation durch.
  • Aktives Segment Partikelfluss speichert nur Frames im aktiven Segment im Cache (entsprechend den Einstellungen für Startzeit und Endzeit im Dialogfeld Zeitkonfiguration). Dies ist der Framebereich, der auf der Spurleiste angezeigt wird. Sie können das aktive Segment auch ändern, indem Sie Alt+Strg gedrückt halten und die Spurleiste mit der Maustaste ziehen. Für diesen Vorgang können Sie die linke, mittlere oder rechte Maustaste verwenden.
  • Benutzerdefiniert Partikelfluss speichert nur Frames im benutzerdefinierten Bereich im Cache, entsprechend den Einstellungen für Startzeit und Endzeit des Cache-Operators (siehe die folgenden Parameter).
    Anmerkung: Wenn Sie nur einen Teil der Animation im Cache speichern, berechnet das Partikelfluss-System das Verhalten in nachfolgenden, nicht im Cache gespeicherten Frames anhand der im Cache gespeicherten Daten. Wenn Sie beispielsweise Frame 0 bis 50 im Cache speichern und anschließend zu Frame 60 wechseln, berechnet der Partikelfluss Frame 51 auf der Grundlage der im Cache gespeicherten Daten, und die Frames 52 bis 60 jeweils auf der Grundlage des vorhergehenden Frames.
Startzeit/Endzeit
Das erste und das letzte Frame im Bereich, der bei der Cache-Speicherung berücksichtigt wird, wenn für Bereich die Option Benutzerdefiniert eingestellt ist (siehe oben). Vorgabe = 0 und 30.
Anmerkung: Die Zeit im Framebereich ist in absoluter Zeit, also in Relation zur gesamten Animation, angegeben. Wenn Sie einen Cache-Operator lokal verwenden und einen Framebereich angeben, in dem sich keine Partikel im Ereignis befinden, verwendet der Partikelfluss den Cache nicht.
Sampling
Mit dieser Option wird festgelegt, wie oft der Cache-Operator die Animation berechnet und im Cache speichert. Vorgabe = Jedes Frame.
  • Jedes Frame Partikelfluss speichert die Animationsdaten einmal pro Frame im Cache.
  • Integrationsschritt Partikelfluss speichert die Animationsdaten bei jedem Integrationsschritt im Cache, wobei die Einstellung für Integrationsschritt wie in der Einstellung Verwenden bei (siehe oben) verwendet wird. Wenn für Verwenden bei die Option Ansichtsfenster/Rendern aktiviert ist, wird der niedrigere der zwei Werte für Integrationsschritt verwendet. Wenn Ansichtsfenster beispielsweise auf Halbes Frame und Rendern auf 1/8 Frame eingestellt ist, wäre die Sampling-Rate achtmal pro Frame.
  • Jedes Nte Frame Partikelfluss speichert die Animationsdaten in den Frame-Intervallen, die durch den Wert N wie unten beschrieben angegeben sind.
N
Legt das Frame-Intervall für die Cache-Speicherung fest, wenn für Sampling (oben) die Option Jedes Nte Frame aktiviert ist. Vorgabe = 5.

Wenn N beispielsweise auf den Vorgabewert 5 gesetzt ist, werden im Cache die Animationsdaten für jedes fünfte Frame gespeichert.

Testergebnisse in Cache speichern
Wenn Partikeldaten im Cache gespeichert werden, umfasst dies auch die Ergebnisse von Testaktionen. Vorgabe = Aktiviert.

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.

Cache mit Datei speichern
Wenn diese Option aktiviert ist, nimmt Partikelfluss die im Cache gespeicherten Daten in Szenen auf, die Sie auf einem Datenträger speichern. Dadurch wird die Größe der gespeicherten Dateien deutlich erhöht. Beim erneuten Laden der Datei wird jedoch die Berechnung der Partikelbewegung beschleunigt. Vorgabe = Deaktiviert.

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.

Cache zwischenspeichern
Die im Cache gespeicherten Daten werden in der Datei abgelegt, die Sie über das Menü Bearbeiten Zwischenspeichern erstellen. Vorgabe = Deaktiviert.

Bereich Manuelle Aktualisierung

Mit diesen Steuerelementen können Sie den Cache in einem bestimmten Framebereich manuell aktualisieren oder löschen bzw. den gesamten Cache leeren.

Aktualisieren
Mit dieser Option wird die Partikelbewegung im aktuellen Bereich (Definition siehe unten) berechnet und im Cache gespeichert, wobei bereits vorhandene Cache-Daten ersetzt werden. Diese Option ist nur verfügbar, wenn für Bereich die Option Aktives Segment oder Benutzerdefiniert aktiviert ist.

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.

Löschen
Alle im Cache gespeicherten Daten werden gelöscht.

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.

Bereich
Mit dieser Option wird der Framebereich eingestellt, in dem der Cache-Operator die Daten neu berechnet, wenn Sie auf Aktualisieren klicken. Vorgabe = Aktives Segment.
  • Vollständig Partikelfluss entleert den Cache für die gesamte Animation. Wenn Sie die Option Vollständig aktivieren, wird die Schaltfläche Aktualisieren abgeblendet; diese Option steht nur zum Löschen des Cache-Speichers zur Verfügung.

    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.

  • Aktives Segment Partikelfluss aktualisiert den Cache nur für Frames im aktiven Segment (entsprechend den Einstellungen für Startzeit und Endzeit im Dialogfeld Zeitkonfiguration). Dies ist der Framebereich, der auf der Spurleiste angezeigt wird. Sie können das aktive Segment auch ändern, indem Sie Alt+Strg gedrückt halten und die Spurleiste ziehen. Für diesen Vorgang können Sie die linke, mittlere oder rechte Maustaste verwenden.
  • Benutzerdefiniert Partikelfluss aktualisiert den Cache nur für Frames im benutzerdefinierten Bereich, entsprechend den Einstellungen für Startzeit und Endzeit (siehe die folgenden Parameter).
Startzeit/Endzeit
Das erste und das letzte Frame im Bereich, für den der Cache aktualisiert wird, wenn für Bereich auf Benutzerdefiniert eingestellt ist (siehe oben). Vorgabe = 0 und 30.
Ansichtsfenster 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.

Bereich Belegter Speicher (KB)

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.

Grenzwert
Der maximal zur Cache-Speicherung von Partikeldaten verfügbare Systemspeicher in Kilobyte. Vorgabe = 100,000 KB bzw. 97.6 MB.
Insgesamt
Der gegenwärtig durch Cache-Daten belegte Speicher in Kilobyte. Schreibgeschützt.
Anmerkung: Selbst Animations-Frames ohne Partikel belegen einen bestimmten Teil des Cache-Speichers. Das liegt daran, dass im Cache auch Zustände für zufällig berechnete Werte, wie z. B. Variation, gespeichert werden. Dadurch wird sichergestellt, dass die Partikelaktivität in einem Rendernetzwerk einheitlich ist, und zwar auch für Computer, die evtl. nicht regelmäßig Zugriff auf alle Frames haben.
Aktuelles Frame
Der von den Daten für das aktuelle Frame belegte Speicher in Kilobyte. Schreibgeschützt.