The Cache operator records and stores particle states to memory. This is particularly useful with large or complex particle systems, where playback, and particularly backtracking, are slow because of the large amount of processing required.
When Cache is in effect, the first time you play or go to a frame, the particle motion up to and including the frame is calculated and recorded in the cache. Thereafter, playing the frame or any previous frames uses the data in the cache, rather than recalculating the particle action. With caching on, the particle system needs to be calculated only once for each frame, and thereafter playback and moving among frames is significantly faster.
To cache an entire flow, add a Cache operator to the global event. To cache an individual local event, add a Cache operator to it.
To determine how best to implement caching in your particle system, turn on Particle View Track Update Update Progress, and then play the animation or go to a frame relatively distant from the current frame. Observe the particle diagram, and watch for events with actions that highlight longer than a fraction of a second, or events with more activity than the rest. Any such events could benefit from caching.
Example: To use the Cache operator:
This lets you monitor calculation of the particle system by highlighting actions in Particle View as the system executes them.
There is a delay as the system calculates all particle motion between frames 0 and 100. This is necessary because Particle Flow is a history-dependent system. At the same time, the actions in the system highlight briefly in Particle View as they're executed at each frame.
There is a another delay as the system calculates all particle motion between frames 0 and 50.
When you release the mouse button, there is a delay as the Cache operator automatically caches particle motion from the start of the animation to the current frame. Meanwhile, each action highlights briefly at each frame.
The only operators that highlight are Cache (very fast) and Display; there is no delay for calculation. All frames between 0 and 50 have been cached.
The delay this time is a result of caching particle motion for frames 50 to 100.
All particle motion is now cached, so no delays occur. But if you change a setting's value, the Cache operator automatically recalculates and stores the particle motion.
By default, the Cache operator automatically updates the cache when you change any parameters it stores. Thus, when you change the Falloff Zone value at frame 100, it recalculates and recaches the entire animation.
The Cache operator no longer updates the stored data automatically when you change a parameter.
There is no delay, because the animation is still playing back from the cached data. However, the cached data is now invalid, because you changed a parameter in the particle system.
3ds Max closes Particle View, updates the cache for the active segment, and then reopens Particle View. The cached data is now accurate.
Other manual update options let you update the cache for the entire animation or a custom frame range.
As you can see, the Cache operator is quite powerful. When present and active, by default it overrides recalculation of the particle system, except when you change any action parameters, whereupon it automatically updates the cached data. Used appropriately, it can save a good deal of time in setting up and testing particle systems.
The user interface appears in the parameters panel, on the right side of the Particle View dialog.
Caches particle motion when playing back in the viewports, or at render time, or both. Default=Viewport.
If you change a parameter in the particle system, the cached data might become invalid. This setting determines whether Particle Flow should update the cache automatically, or let you do it manually. Default=Always.
Sets the frame range within which the Cache operator operates. Default=Active Segment.
Determines how often the Cache operator samples and caches the animation. Default=Every Frame.
When caching particle data, this caches the results of test actions as well. Default=on.
This is important if Cache is used as a local operator, and the next event doesn’t have a Cache operator. For the next event to work properly, it should receive particles from the current event. Those particles result from the activity of a test action. The Cache operator can record the test activity to play it back later.
If the Cache operator is used as a global operator, there is no need to cache the test results. This is because the system has cache data for every event, and is able to jump to an arbitrary frame without the need for test results.
When on, Particle Flow Includes the cached data with scenes that you save to disk. This can significantly increase the size of saved files, but saves the time of recalculating the particle motion upon reloading the file. Default=off.
Normally, the cached data is saved only in disk files that you create with the Save or Save As commands. You can also instruct 3ds Max to include cached data with other types of files using the two following options.
These controls let you update or clear the cache manually within a frame range, or clear the entire cache.
Calculates particle motion within the current range (defined below) and stores it in the cache, replacing any existing cached data. Available only when Range is set to Active Segment or Custom.
During the update, 3ds Max temporarily closes Particle View and displays a Cache Update Progress bar, while moving the time slider through the cached range. At the same time, by default, the animation plays in the viewports. To prevent this, and speed calculation, turn off Update Viewports.
If the cache runs out of memory during a manual update, Particle Flow halts the update operation and displays an alert. Click OK to continue, and then, if possible, increase the Limit value before updating the cache again.
Sets the frame range within which the Cache operator recalculates data when you click Update. Default=Active Segment.
To update the entire animation, set the active segment or the custom range to encompass all frames, and then use the corresponding choice and click Update.
The Cache operator stores data in system memory; you can specify an upper limit for the amount of memory it uses. If the Limit setting and the amount of cached data exceeds the available free memory, the computer system might use virtual (hard disk-based) memory instead, which slows down the caching. If Particle Flow fills the cache, any remaining frames are calculated on the fly.
This group also lets you monitor the amount of memory used for caching data.
The amount of memory currently used by the cached data, in kilobytes. Read-only.