Dynamics engines general properties

The dynamics engines general properties dialog is part of the general dynamics properties dialog. The dialog displays the engine configurations and various engine specific global properties. In the general dynamics properties dialog, click the Adjust engine parameters button to open following dialog:

[Dynamics engines general properties dialog]


Each engine has specific parameters that can be set globally (see hereafter) or locally (in the material properties or in the dynamics engines properties related to joints).

  • Configuration: allows to quickly switch between predefined or custom configurations for the dynamics engines. It is however highly recommended to keep the default configuration to avoid compatibility problems (e.g. combining models that are supposed to run each with different configuration settings will never give good results).


  • Bullet properties

    Properties related to the Bullet physics library. Make sure to also refer to the Bullet user manual for details.

  • Bullet time step: specifies the desired time step for dynamics calculations. It is highly recommended to keep a time step of 5ms (default). Combined with a simulation time step of 50ms, this results in 10 dynamics calculation steps per simulation pass.
  • Constraint solver type: the type of solver to be used.
  • Constraint solving iterations: specifies the number of iterations that will be used to solve constraints (large values usually result in slower but more precise simulations (generally)).
  • Internal scaling: specifies how dimensions are handled internally. If your dynamic scene is composed by small (<3 cm) or very large shapes, you can improve simulation stability by adjusting the scaling factor. This is particularly true for the Bullet engine. When Full scaling is enabled, dimension-related values as well as mass-related values are scaled, otherwise, only dimension-related values are scaled.
  • Collision margin scaling: specifies how collision margins are scaled in relation to the internal scaling parameter. Following relationship is applied: new collision margin = Bullet collision margin * internal scaling * collision margin scaling. This setting can be overridden on a shape-basis (refer to the material properties).


  • ODE properties

    Properties related to the Open Dynamics Engine. Make sure to also refer to the ODE user manual for details.

  • ODE time step: specifies the desired time step for dynamics calculations. It is highly recommended to keep a time step of 5ms (default). Combined with a simulation time step of 50ms, this results in 10 dynamics calculation steps per simulation pass.
  • Use 'quickStep': when selected, a fast iterative solving method will be used. The larger the QuickStep iterations property, the more precise the calculations (generally). When the quickStep method is not selected, calculations can be more precise and faster for small systems. Larger systems can however be very slow, unstable and can lead to sudden crashes!
  • Internal scaling: specifies how dimensions are handled internally. If your dynamic scene is composed by small (<3 cm) or very large shapes, you can improve simulation stability by adjusting the scaling factor. When Full scaling is enabled, dimension-related values as well as mass-related values are scaled, otherwise, only dimension-related values are scaled.
  • Global ERP: the global Error Reduction Parameter, refer to the ODE documentation for more details.
  • Global CFM: the global Constraint Force Mixing, refer to the ODE documentation for more details.


  • Vortex properties

    Properties related to the Vortex Dynamics engine. Make sure to also refer to the Vortex user manual for details.

  • Vortex time step: specifies the desired time step for dynamics calculations. It is highly recommended to keep a time step of 5ms (default). Combined with a simulation time step of 50ms, this results in 10 dynamics calculation steps per simulation pass.
  • Contact tolerance: epsilon distance considered during collision detection.
  • Auto-sleep: if enabled, non-moving rigid bodies will be disabled until an event wakes them up again.
  • Multithreading: enables multi-threaded algorithms for dynamics and collision processes.
  • Constraint properties: provides threshold values for constraint compliance, damping and viscosity for each constraint equation.
  • Linear compliance: threshold compliance (1/stiffness) for linear position-based equation like a spring.
  • Linear damping: threshold damping for linear position-based equation like a spring.
  • Linear kinetic loss: threshold viscosity for linear velocity-based equation (like friction).
  • Angular compliance: threshold compliance (1/stiffness) for orientation-based equation.
  • Angular damping: threshold damping for orientation-based equation.
  • Angular kinetic loss: threshold viscosity for orientation velocity-based equation.


  • Newton properties

    Properties related to the Newton Dynamics Engine. Make sure to also refer to the Newton user manual for details.

  • Newton time step: specifies the desired time step for dynamics calculations. It is highly recommended to keep a time step of 5ms (default). Combined with a simulation time step of 50ms, this results in 10 dynamics calculation steps per simulation pass.
  • Constraint solving iterations: specifies the number of iterations that will be used to solve constraints (large values usually result in slower but more precise simulations (generally)).
  • Multithreading: enables multi-threaded algorithms for dynamics and collision processes.
  • Exact solver: if enabled, a more precise solver will be used, which might however induce instabilities.
  • High joint accuracy: if enabled, a more precise joint solver will be used, which might however induce instabilities.
  • Contact merge tolerance: the distance threshold where close contact points will be merged into one single contact point.


  • Vortex additional information

    Use the engine constraint properties to make all the constraints softer and consequently help avoiding numerical instability. For simulation involving very large masses, it is possible that the constraint relaxation has to be reduced. Those parameters are global and affect all constraints and collision contacts. For individual constraint relaxation you can refer to the constraint parameters directly where each constraint equation may be relaxed independently. For instability due to collision, it is possible to use skin thickness to smooth normal response or to increase the slip parameters in order to add viscosity in the contact friction. For chains of light rigid bodies and constraints subjected to large tension such as an hand mechanism grasping objects order of magnitude larger than the fingers, the use of angular velocity damping will help increasing the simulation robustness.



    Recommended topics

  • Engine properties setter and getter API functions
  • General dynamics properties
  • Material properties
  • Dynamics engines properties related to joints
  • Bullet physics library
  • Open Dynamics Engine
  • Vortex Dynamics
  • Newton Dynamics