Simulation

Most of the following settings can be animated. This makes it possible to adapt the settings to different phases of the simulation. You can, for example, increase render-intensive settings such as Substeps or Iterations if this is really needed and, for example, in phases in which no collisions take place, these values can be lowered in order to velocity up the simulation.

Substeps[1..200]

This parameter is crucial for the precision of the simulation. The higher the value, the more precise the calculation will be and the more precisely the collision detection will be (with correspondingly longer calculation times).

Each animation frame is internally divided temporally with the Substeps specified here. A simulation algorithm (calculation of the constraint effect, object positions and velocity, etc.) will be run for each substep.

Especially in the case of penetrations at high velocity, velocity you should increase this value. Imagine an object traveling at high velocity that collides with a hanging cloth. Assume the object is to the left of the cloth at frame 12 and to its right at frame 13. Cinema 4D would not detect a collision (if Substeps is set to 1). With multiple Substeps that, for example, calculate frame "12.2" and "12.3", the collision would be detected and calculated correctly.

This is a disadvantage: Substeps (and Iterations) have an influence on the stiffness of the clothing objects to be simulated. The larger the Substeps/Iterations, the stiffer the cloth will be (i.e., the more precise the bendiness/stretchiness will be).

Simply put: applying a large number of Substeps and iterations will produce a correspondingly more realistic result. Most often, these values have to be kept low to keep the calculation velocity manageable. This means that the solver, which has to take innumerable constraints into consideration, makes shortcuts and deviates from a realistic result. These deviations can primarily be seen in a lack of stiffness (rubbery behavior) but also in imprecise collisions, etc. in some cases.

Note: If there are a lot of penetrations, try increasing Passes first before doing so with Substeps. The former calculates faster.

Note that very high values (e.g., 200) may cause paradoxical behavior: instead of precision increasing, it decreases. The reason for this is the 32-bit precision of the GPU Try instead increasing the following Iteration setting - in stead of Substeps. See also Tips and Tricks for additional measures that can be taken.

Iterations[0..1000]

Internally, an iterative algorithm is used that approaches the mathematically(!) optimal final result (= all constraints are met) as closely as possible. Iterations define how often the numerous constraints are calculated per Substep.

The practical impact, for example, on clothing behavior is: the fabric becomes stiffer - because constraints hold better.

Higher values can help to avoid dot jitter.

See also previous parameter Substeps, both settings are closely linked and have similar effects.

If you set Iterations to 0, a different solver is used internally, which converges more slowly than the standard solver, i.e., in a figurative sense treats the constraints somewhat more laxly. The Smoothing Iterations will be set to 1.

This allows you to achieve greater robustness and homogeneity of the simulation. However, cloth and ropes will then be more stretchy.

Especially in simulations with many constraints that sometimes work against each other - e.g. constraint A wants to move a point to the left, constraint B to the right - this can lead to point jitter (see also next paragraph). In such cases, the other solver can produce better results.

To compensate for the greater, more rubbery ductility, it is recommended to increase Substeps.

Avoiding jitter.

The following two settings are primarily used to reduce jitter that occurs in small areas.

In general, it can also help reduce Substeps and increase Iterations.

Smoothing Iterations[0..1000]

The internal point calculations due to the various constraints "tugging" on them can result in large point deviations, which can give the impression that additional, sudden impulses are occurring.

With Smoothing Iterations > 0, additional averaging calculations are performed, whereby this effect loses its effect, i.e., there is less jitter.

Only use this parameter if it is necessary, as it can result in side effects such as changing stiffness.

Damping[0..100%]

Using this setting, velocity / energy can be removed from the system. Smaller values of up to 3% are recommended. Higher values will make the simulation look correspondingly more like it were under water.

Simulations tend to "explode" occasionally, this can be countered by carefully increasing this value.

You can also define damping values - here even separately for linear and rotary movements - at the corresponding tag level (e.g. Override)

Velocity clamp

Acceleration clamp

These two settings are primarily used to prevent unstable simulation states - which could culminate in a simulation freeze. Excessively high velocities or accelerations (both on point level) are limited. This helps reduce collisions and avoid penetration that would otherwise require prohibitively high values for the Passes and/or Substeps settings to achieve the same effect.

We should also mention an effect called "TDR (Timeout Detection & Recovery)", an operating system protection mechanism that stops the simulation with an error message when the graphics card is overloaded. This effect can also be reduced by both settings.

The two methods have the disadvantage that the simulation runs more stable, but this is at the expense of realism, because the whole simulation is damped.

Then use:

Note the fundamental difference between Velocity Clamp and acceleration: in the former case, the velocity is actually effectively limited, while in the latter, although there is no acceleration growth, there can still be velocity growth (as long as there is - positive - acceleration, so long the velocity grows).

For Velocity Clamp: You have the following options:

This is not that easy to understand. In principle, you define the maximum allowable velocity that is dependent on certain factors.

Note:If you have very fast, animated collision objects colliding with a garment/Soft Body, it can be problematic if the velocity or acceleration limit is too high, in that the collision object will simply smash through because the object points are simply not allowed to move fast enough.

From Bounding Box

Define here the maximum allowed velocity if you have set scene scaling above.

Size

Define the maximum permissible velocity here if you have set Absolute above.

Radius

Here you can define the maximum permissible velocity here if you have set Collision radius above.

For Acceleration Clamp you have the following options:

From Bounding Box

Here you can define the maximum allowable acceleration if you have defined Scene Scale above.

Collisions

Collision detection is immensely important; firstly, it looks unsightly when penetrations occur, and secondly, once this has happened, the penetrated areas adhere tenaciously to each other and are difficult to separate. This is why there is a series of separate settings (below) that only affect collision and can be calculated faster than if Substeps and Iterations values were increased, which requires a lot of calculation time and also modifies important properties such as the stiffness of the cloth.

These collision settings refer to internal calculation processes and sound complicated in the description - and in principle they are, although already described as simple as possible. Generally speaking, the values should be increased carefully if collisions are problematic.

Passes[0..1000]

A fast moving textile collides with a cylinder, with Passes 0 there are penetrations on the left hand side, on the right hand side there are no penetrations with a value of 5.

This defines how often a collision detection is performed per animation frame. If a collision is detected, dynamic and temporary collision constraints (whose precision can be controlled using the following 3 settings) are created that ensure that the object to which the tag is assigned can't penetrate other - or its own - collision geometry.

If you define a value of 1 here, a collision detection is performed at the temporal beginning of the simulation frame. Any collision constraints that are created will be maintained until the next collision detection and will be taken into consideration and evaluated for each Substep.

Especially for fast, rapidly rotating or generally non-linearly moving geometry, increasing this value can be advantageous. For just about any penetration, increasing the Passes can be helpful.

Make sure that Substeps is not smaller than Passes, otherwise nothing will happen.

Note: Set Passes to 0 if the self-collision of the Cloth and Rope tag is to be switched off. Collisions with collision objects will continue to work.

Extra Iterations[0..100]

By means of this parameter, additional iterations are performed only for the pre-existing collision constraints found previously by Passes and End Frame Pass. This also helps avoid collisions.

Make sure that before you increase Passes, pass end frame and/or Substeps, try enabling this option here first. This may be all that's needed. Extra Iterations can be calculated relatively quickly.

End Frame Pass

This parameter inserts additional collision queries at the temporal end of the simulation frame, where actually all new point positions have already been calculated. This should prevent existing penetrations (that the algorithm initially oversaw) being present when the next simulation frame is calculated, which could be problematic for the simulation. For each process, the newly discovered collision constraints will be calculated multiple times (as often as is defined under Iterations).

Note that only small values in the range of 1-3 provide a benefit.

You could alternatively increase the Passes value but End Frame Pass is usually faster.

Especially also with moving collision objects, increasing End Frame Pass (and also Extra Iterations) can lead to better results.

Draw

Enable

With these settings you can display some simulation elements. These only have informational purpose The Draw option can be used to enable or disable the display configuration for the following settings.

Note that the elements are actually displayed only when the simulation is started (normally therefore from Frame 1).

Particles

Use this to display the simulated object points. The collision radius (Thickness or Radius for meshes or splines) will also be displayed.

Collision Radius

Here, the collision radius defined by the Thickness setting can be displayed for most collision-capable Simulate objects. For Cloth, Soft Bodies, etc. these are displayed around each mesh point, while for Rigid Bodies the collision shape plus the added Thickness will be visualized.

Rope Orientations

This option is intended for splines with a Rope tag. A green vector will be displayed between each spline point. The stronger the internal spline constraints are, the less the vectors will deviate from the alignment of their neighbors during the simulation (pay particular attention to the Curly option).

Stretch Constraints

This allows the structure-preserving stretch constraints to be displayed. These always run between neighboring object points and connectable (see also Quad Diagonals) diagonal connections.

Bend Constraints

This - admittedly not all that informative mode - shows the bending constraints that ensure that a clothing object does not simply collapse in on itself, but that angle changes between polygons are opposed by some resistance.

Pole Constraints

By means of this option, Pole constraints (even if they are disabled in the Soft Body tab) can be displayed. If Poles should tear, this will also be depicted by hiding these Poles; the Draw option should be disabled.

Connectors

This option can be used to show connector constraints (even if they are disabled in the connector tag or no connector tag is selected). If Poles should tear, this will also be depicted by hiding these Poles; the Draw option should be disabled.

Rigid Body Centers

This is used to mark the center of mass for Rigid Bodies with a small axis system. This is where the weight force takes hold. The center of mass can be freely positioned in the Rigid Body settings.

Rigid Body Shapes

At Collision Shapes, for example, a quickly computable substitute collision form can be specified. This option displays the active collision shape in the view. If Rigid Bodies are deactivated, their shape will be displayed in black.