unreal.RigUnit_StepDynamicsSolver

class unreal.RigUnit_StepDynamicsSolver(execute_pin: RigVMExecutePin = [], dynamics_solver_component_key: RigComponentKey = Ellipsis, delta_time_override: float = 0.0, simulation_space_delta_time_override: float = 0.0, alpha: float = 0.0, track_velocities_during_pass_through: bool = False, visualization_settings: RigDynamicsVisualizationSettings = Ellipsis)

Bases: RigUnit_DynamicsBaseMutable

Steps the dynamics solver

C++ Source:

  • Plugin: ControlRigDynamics

  • Module: ControlRigDynamics

  • File: RigDynamicsSolverExecution.h

Editor Properties: (see get_editor_property/set_editor_property)

  • alpha (float): [Read-Write] How much of the simulation is combined with the input bone. This currently happens in component space. When alpha <= zero, the simulation is bypassed entirely (pass-through).

  • delta_time_override (float): [Read-Write] If this is zero, then the execute context time will be used. If this is positive then it will override the delta time. A negative value will prevent the solver from stepping.

  • dynamics_solver_component_key (RigComponentKey): [Read-Write] The physics solver that should be stepped

  • execute_pin (RigVMExecutePin): [Read-Write] This property is used to chain multiple mutable units together

  • simulation_space_delta_time_override (float): [Read-Write] If this is zero, then the simulation delta time will be used for evaluating movement of the simulation space. If this is positive then it will override. This may be needed if the component movement is being done in parallel, in which case you might need to pass in the previous time delta here.

  • track_velocities_during_pass_through (bool): [Read-Write] When true and Alpha is zero, the solver tracks particle positions each frame so that velocities are valid when Alpha increases (smooth resume). This has a small cost. When false and Alpha is zero, the pass-through is near-zero cost but the simulation re-initializes with zero velocity when Alpha increases.

  • visualization_settings (RigDynamicsVisualizationSettings): [Read-Write] Settings that specify how the solver state should be visualized during/after the step

property alpha: float

[Read-Write] How much of the simulation is combined with the input bone. This currently happens in component space. When alpha <= zero, the simulation is bypassed entirely (pass-through).

Type:

(float)

property delta_time_override: float

[Read-Write] If this is zero, then the execute context time will be used. If this is positive then it will override the delta time. A negative value will prevent the solver from stepping.

Type:

(float)

property dynamics_solver_component_key: RigComponentKey

[Read-Write] The physics solver that should be stepped

Type:

(RigComponentKey)

property simulation_space_delta_time_override: float

[Read-Write] If this is zero, then the simulation delta time will be used for evaluating movement of the simulation space. If this is positive then it will override. This may be needed if the component movement is being done in parallel, in which case you might need to pass in the previous time delta here.

Type:

(float)

property track_velocities_during_pass_through: bool

[Read-Write] When true and Alpha is zero, the solver tracks particle positions each frame so that velocities are valid when Alpha increases (smooth resume). This has a small cost. When false and Alpha is zero, the pass-through is near-zero cost but the simulation re-initializes with zero velocity when Alpha increases.

Type:

(bool)

property visualization_settings: RigDynamicsVisualizationSettings

[Read-Write] Settings that specify how the solver state should be visualized during/after the step

Type:

(RigDynamicsVisualizationSettings)