When using a render farming tool such as Team Render, the dynamics and/or MopGraph simulations included in the project appear to jump back and forth, or are otherwise displaying incorrect positions in certain frames.
The issue here is simple, but not intuitively obvious: Computers that have different hardware will often calculate things like Dynamics, MoGraph, Volumes Global Illumination, Ambient Occlusion, and other simulated effects differently than the machine that the project was created on. This can also be made worse by using a mixed environment as PC, Mac, and Linux will all run simulations differently even if the machines have identical hardware.
To fix this issue, though, you can cache these effects to use only the simulation data from a single machine, rather than allowing each render node to run the simulation itself.
- Caching this effect is easy! All you have to do is go to the "Cache" tab on your dynamics tag and click either "Bake Object" which will cache the dynamics only for the object the tag is assigned to, or "Bake All" to cache the simulation for all dynamic objects in the scene. You can also cache all dynamics by going to the Dynamics tab of your Project settings (you can reach this by pressing CTRL/CMD + D on your keyboard) and under the "Cache" tab clicking "Bake". Cloth Simulations can also be cached this way, but Particles and Thinking Particles cannot. Note that you can also click "Clear Cache" to delete the dynamics cache so that you can make changes to the simulation again.
- This effect is almost as easy as Dynamics, it just has one extra step: To cache MoGraph simulations, simply right click on your MoGraph object (for example a Cloner) and under the MoGraph Tags menu select "MoGraph Cache". Once the tag is applied to your object, click "Bake" and the MoGraph animation will be cached for that MoGraph object. If you have more than one MoGraph object, you will need to apply a cache tag to each one that needs to be cached. Additionally, in R20 and higher, you can create an external cache that will write the cache to a separate file instead of simply making it a part of your C4D file; this will allow you to keep the project file size smaller if you need to. Thinking Particles can be semi-cached with this method. Instead of using a Particle Geometry object to apply geometry to your simulation, you can use a Cloner! Set the Cloner to Object mode, and then from your Thinking Particles settings, drag your Particle Group into the Object field of the Cloner. Now when you place an object as a child of the Cloner, it will clone the object onto all particles in that group; you can then cache this as a MoGraph simulation.
- In R21 and higher, Volumes can also be cached. To do that simply click the green microchip button below the Objects list in your Volume Builder. This will create a Cache layer that will not only make further volume modelling easier, it will also make rendering the Volume more predictable, same as Dynamics or MoGraph.
- Lastly, starting with Cinema 4D R20, you also have the option to bake any of these effects to the Alembic format. Alembic is a format that only stores vertices, splines, particles, and animation and simulation data so it's compatible with a wide variety of 3D applications and makes sharing animations between them much easier. This also makes it a great tool for caching effects in a single application such as Cinema 4D. To do this, simply right click on the object you would like to bake and choose "Bake as Alembic" or "Bake as Alembic + Delete" (the latter will bake the object to Alembic and delete the original object, the former will simply make a copy of the object in Alembic). Note that standard particle simulations made with the Emitter object can only be cached in this way. Thinking Particles can additionally be cached using MoGraph.
Many plugins, such as X-Particles and RealFlow, also have methods for caching their simulations, so be sure to check those out if you're using these tools.