Caching Simulations for the Render Network (Advanced)

Looking further into how to cache simulations for upload, and why

General Rules

As the previous section detailed, everything that is dynamically calculated, needs to be cached prior to sending it to the Render Network. This also includes cameras, if they are somehow affected by the scene changing dynamically (for example triggered by a collision or similar).

Be aware that each frame of your animation is probably being picked up by a different node, so each node needs to know where things are for that given timeframe. The scenes are not being “pre-run” or prepared from frame 0 on each node, because that could take hours for complex scenes. That’s why it’s crucial that objects, which are not animated using keyframes or time-based formulas, need to be cached or baked somehow.

Example: A MoGraph Cloner, which is animated by a Plain Effector and a keyframed Field Object, does not need to be cached. But if that Cloner also has a Rigid Body Simulation applied to it, then it needs to be cached.

With that in mind, below are instructions for caching individual dynamically calculated elements.

Caching the MoGraph Cloner

Caching the MoGraph Cloner is very simple, just 3 easy steps:

  1. Add a MoGraph Cache tag to the Cloner object.

  2. Activate the “Range” checkbox and set the correct range.

  3. Hit "Bake".

How to cache a Particle Emitter

There are two ways to cache a C4D Particle Emitter:

  • Option 1: select your Emitter, then go to "Simulate" -> "Bake Particles" and set it up accordingly.

  • Option 2: reference the Emitter inside a Mograph Cloner in "Object" mode. Then use a Mograph Cache to cache the animation this way. This has the advantage of being able to retime the Mograph cache, which is not possible with the simple Emitter bake.

Caching Rigidbody and Softbody simulations

In the "Dynamic Body" tag, go to the “Cache” tab and click on the “Bake All” button.

Caching Cloth and Balloon Simulations

In the "Cloth" tag, go to the “Cache” tab and click on “Cache Scene”.

Caching Rope Dynamics

Go into the "Rope" tag, click on the “Cache” tab and click on the “Cache Scene” button.

Caching Hair Dynamics

To cache hair dynamics, open the "Hair" object, click on the “Cache” tab and choose “Dynamics Cache”, then “Calculate”.

Caching the Pyro Solver

To cache a Pyro simulation, click on the "Pyro Output" object, go into the “Cache” tab and click on the “Cache Scene” button.

Please note: The cache will be represented as an external VDB-sequence. Make sure to copy that sequence into your project folder and read it via a relative path.

A more secure caching option is to collect the project with “Save Project with Assets”, which will automatically copy the VDB-Sequence to a “vol” folder next to the project file.

Caching the Volume Builder object

Please note: this feature is currently not yet available on the Render Network. Only Volume Builder objects without a cache are currently supported.

In the "Volume Builder" Object, click on the "Cache" button.

Next check the “Animation” checkbox if your objects in the Volume Builder are animated. Finally click on “Cache” to create the cache.

Caching Global Illumination for STD/Physical renderers in Cinema4D

When working with Global Illumination in Standard or Physical renderer, you can cache the calculation of the GI caches to a file, so they do not have to be calculated again during rendering on the network. This works with Radiosity Maps, Light Mapping and Irradiance Cache types of Global Illumination.

For this to work, you need to have already rendered the scene locally at least once, so the caches can be built. There is no other way to create them other than to render the scene locally.

In the "Cache" tab of the Global Illumination effect in the Render Settings window, check “Auto Load” for all GI-types which support caching. Then check the “Custom Location” checkbox and set the folder to somewhere next to your project file. For Irradiance Cache also check “Skip Prepass (If Present)”.

After the scene has been rendered locally, the caches will be found in the “Cache” folder where you specified it. Include these cache files in the project's Zip-file so the Render Network can utilize them. Without any caches for the Global Illumination, flickering can occur when rendering the scene on a distributed network.

Last updated