modo bubbble logo

Dynamics Solver


Home >> Layout & Simulation >> Dynamics Solver

back next
comment balloon Comments (0) RSS Icon
0/5 (0 votes)

When any item in the scene is defined as either an 'Active Rigid Body', 'Passive Rigid Body' or 'Soft Body', a Dynamics Solver item is added automatically to the scene in the 'Items' list. Only a single instance of the Solver item is ever necessary in a scene, as it controls all the global parameters of the simulation, such as time 'Steps', 'Gravity', etc. If the Dynamics Solver item is ever accidentally deleted from the scene, users may add another with the menu bar command "Dynamics > Add Solver". With the item selected in the Items List viewport, a series of attributes can be modified in the 'Properties' panel-

Mesh Dynamics PanelEnable: This value can be toggled like an on/off switch. Enabled by default, users can disable this option to temporarily suspend the Dynamics simulation calculations.

Steps: The 'Steps' value represents the subframes Dynamics calculates between frames. Even though users only see the results of a simulation at each whole frame step, there can still be a lot of movement happening between frames, especially with fast moving objects. If objects appear to intersect or are moving through each other, increasing this value will help to eliminate these errors, however, keep in mind as the Steps value increases, so do the number of calculations. Higher numbers offer more precise simulations at the expense of greater time to calculate.

Gravity X/Y/Z: The Gravity X/Y/Z settings control the direction and magnitude of gravity. Gravity is a world force value that affects everything in the scene. The default value of -9.81 simulates the same downward pull of gravity on earth at a 1:1 scale (meters per second).

Visualize--

Debug Drawing: Draws the internal representation of what the Dynamics simulator actually sees. It can be overwhelming to see in complex scenes especially, but can be useful for troubleshooting simulations that don't act as expected.

Debug Drawing Scale: Simply scales some of the debug drawing elements. Normally this will be the locators.

Advanced--

Body Update Frequency: This option determines how often Dynamics collects Channel and Deformations data to update its internal representations for each dynamic item in the scene-
Begin- Internal representation is updated only once at the simulation start.
Per Frame- Internal representation is updated at each whole frame value.
Per Tick- Internal representation is updated at each 'Step', producing subframe accurate movements, but creating a large amount of additional overhead which may greatly slow down the simulation of the scene.

Global Density: Density is the measure of the amount of matter in any given volume. In modo, geometric objects are technically hollow, and therefore have no density, but if objects were simulated this way, they would just blow away like paper shells. Providing a density value for dynamic objects increases the realism of a simulation. Like metal versus wood, different materials have different densities, affecting their weight, and therefore the way they move when simulated. The 'Global Density' option determines the density of dynamic objects globally in the scene. Users can adjust this value, affecting all dynamic objects scene wide. Users can also override the 'Global Density' individually per item by setting the 'Mass Source' option in the items Dynamic properties to one of the 'Local' options and defining a value individually.

Time Scale: Generally a simulation moves items in time based on real world values of simulated forces. Users can use the 'Time Scale' option to globally adjust the speed at which a simulation runs simulating slow-motion or super-speed effects when the value is lowered or raised respectively.

Global Lin. Sleep Threshold: When objects in a Dynamics simulation stop moving, they are put into a sleeping state so that motion values don't have to be calculated for every object at every frame. The 'Global Linear Sleep Threshold' defines the lower threshold for putting these objects to sleep. Users may also override this value individually with the 'Linear' option found in the 'Dynamic' items properties.

Global Ang. Sleep Threshold: When object in a Dynamics simulation stop rotating, they are put into a sleeping state so that motion values don't have to be calculated for every object at every frame. This option defines the lower global angular (rotational) threshold for putting these objects to sleep. Users may also override this value individually with the 'Angular' option found in the 'Dynamic' items properties.

Use SIMD: The 'SIMD' option is a parallel computing optimization used when calculating Dynamics, enabled by default.

Friction Separate: When two objects slide against each other friction between the surfaces occurs. When enabled, this option forces Dynamics to calculate friction between two object separately. This can produce a more accurate simulation, but with a hit to performance.

Use Warm Starting: Dynamics utilizes an iterative algorithm where each iteration is based on the solution of previous iteration. If 'Use Warm Starting' is disabled the initial solution for the solver algorithm is set to zero for each frame. When 'Use Warm Starting' is enabled, each new iteration uses the last solution of the previous frame. This improves convergence towards a better solution, especially regarding Dynamics's stacking stability.

Two Direction Friction: If two objects surfaces are sliding parallel against each other for more than a few frames, errors can be introduced, enabling 'Two Direction Friction' can help to reduce or eliminate these errors.

Randomize Order: Normally constraints and collisions are calculated in order. Enabling the 'Randomize Order' option causes the order objects are calculated to be randomized. When enabled, this option can aid in the stacking stability of Dynamics simulations. It has a very small performance cost which is why it is disabled by default.

Resting Contact Restitution Threshold: By default, Dynamics implements a mechanism for resting contacts to improve stability, by setting the restitution to zero. It compares the contact lifetime using a threshold to determine 'resting' contact.

Split Impulse: By default, Dynamics solves positional constraints and velocity constraints coupled together. This works well in many cases, but the error reduction of position coupled to velocity introduces extra energy (noticeable as bounce). Instead of coupled positional and velocity constraint solving, the two can be solved separately using the 'Split Impulse' option. This means that recovering from deep penetrations doesn't add any velocity.

Solver Iterations: This value determines the number of iterations between frames that the constraint solver uses to resolve collisions. Increasing this value will produce more accurate Constraint simulations, but at the expense of longer simulation calculation times.

 

Top

back next