Cache object

Table of Contents


Size: Define size if the Icon

Display Icon: Shows Icon in viewport.

File: Shows recorded or loaded cache file.

Status: Shows Icon in viewport.

New: Allows to define cache file name and folder where it will be stored after Record.

Load: Allows to load previously recorded cache files.

Unload: Unload cache from scene.

Reload: Reload already loaded cache file. Useful in case it was rerecorded in other launched 3ds Max.

Reload Material: Reload material from .mat file in case .mat file was edited


File Info

File Size: Shows total file size.

Mesh: Shows how much mesh data takes from total size.

Animation: Shows how much animation data takes from total size.

Frames: Shows how many frames were cached.

Step Size: Shows step size per frame.

Framerate: Shows frame rate.

Nodes: Shows how many objects were cached.





Start: Defines start frame for recording.

End: Defines end frame for recording.

Step: Defines Step Size per frame. Less Step - more cache file size and better quality.

Rng: Set Start and End frame spinners to active time range.


All: Select all nodes in the list.

None: Deselect nodes in the list.

Invert: Invert selection in the list.


Pick: Allows to pick and add objects in the list one by one.

Add: Opens Select Objects dialog and allows to add massive amount of objects at one take.

Remove: Removes selected nodes from the list. Hold SHIFT key while pressing to remove all objects from the list.


Save Material Library: Allows to save .mat file with material info in addition to cache file. File will have the same name as cache file. When cache file is loaded it will assign material to mesh automatically if there is .mat file with the same name in the same folder.

Empty Node List: Automatically clear node list after Record, useful if you want to delete cached objects after Record.

Record: Record animation and geometry.





Start Frame: Defines start frame for playback.

Speed: Defines playback speed. This property can be animated.

Sample: Defines sample rate in case Speed property is animated. Less sample - better quality.

Reverse Playback: Playback animation from it's end to start.


Playback Graph

Enable: Allows to manually animate playback.

Frame: Defines current playback frame fro cache. This property can be animated.


Element Activation

Disable: Disable element activation.

By Gizmo: Enables element activation by spherical sub object gizmo. All elements inside gixmo will be played while other will stay intact. Sub Object gizmo can be animated.

By OmniLight: Enables element activation by Omni light's Far attenuation gizmo. May be useful in case you need to activate multiple Cache objects using one the same Omni.

Interactive Updates: Update elements in viewport.

Update Now: Updates elements position in viewport in case Interactive Update is Off.

Sample: Low value makes activation more precise. Should be used in case Sub Object Gizmo or Omni light animated and moves very fast.


Out of Range Types

Before: Defines mesh state before Cache start playback.

After: Defines mesh state after Cache end playback.


Load Type

Local: Defines Load type for local PC node.

Slave: Defines Load type for render node.


Load Types:

Stream: Load into RAM and add to what is already loaded each played sample per frame.

Per Sample: Load into RAM current sample and unload previous sample. Useful for workstations with low amount of RAM.

Pre Load: Load into RAM whole cached animation. Useful for workstations with high amount of RAM.




Viewport \ Render

In this rollout you can set custom cache visualization properties for viewport and rendering.



Display Cache: Shows cached mesh in viewport.

Force Wireframe: Shows cached mesh as wireframes in viewport.

Bounding Boxes: Shows elements of cahed mesh as boxes in viewport.

Interpolate: Interpolates animation in viewport.


Invisible objects

Hide Faces: Hides faces of elements which were invisible during record.

Draw markers: Shows markers at position of invisible elements.



Bounding Boxes: Render elements of cahed mesh as boxes.

Interpolate: Interpolates animation during rendering.


Invisible objects

Do not delete: Do not delete invisible elements during rendering.

Set Mat ID: Set defined material ID for invisible elements during rendering.




Per-Element Control

Per-Element control allows you to group elements together and assign custom action to these group such as Hold In, Hold Out, Playback Offset, Set Frame, Delete, Delete By Age, Delete By Distance, Set Mat ID.




Explode to Objects

Makes operation opposite of caching. Detaches all elements and bake their animation back to keyframed animation.

Start: Defines start frame for exploded elements.

End: Defines end frame for exploded elements.

Step: Defines Step Size per frame.

Rng: Set Start and End frame spinners to active time range.


Reduce Keys

Enable: Enables Key reducing for exploded elements. After explode operation elements will have a lot of unneeded keys. Reduce keys removes all such keys and makes scene size less.

Step: Defines Step Size per frame.

Threshold: Defines threshold in distance.


Explode to

Original objects: Explode elements to original cached objects.

Bounding Boxes: Explode elements to boxes.

Point Helpers: Explode elements to point helpers.

Custom: Allows to explode elements to copies of picked object.


Selected Elements Only: Explode only selected elements. Elements can be selected in Elements sub object mode.

Explode: Explode elements and vake cached animation to position and rotation keys.




Max Script properties:

.cacheStart : time

.cacheEnd : time

.cacheStepSize : integer (specified in ticks)

.cacheFrameRate : integer

.cacheNumNodes : integer

.cacheNumSamples : integer

.cacheHasVisibility : boolean

.cacheHasSpecifiedNormals : boolean




Video tutorial