unreal.PhysicsAssetSolverSettings

class unreal.PhysicsAssetSolverSettings(position_iterations=6, velocity_iterations=1, projection_iterations=1, cull_distance=3.0, max_depenetration_velocity=0.0, fixed_time_step=0.0)

Bases: unreal.StructBase

Solver iterations settings for use by RigidBody AnimNode (RBAN) in the Anim Graph. Each RBAN node runs its own solver with these settings. note: These settings have no effect when the Physics Asset is used in a world simulation (i.e., as a ragdoll on a SkeletalMeshComponent).

C++ Source:

  • Module: Engine

  • File: PhysicsAsset.h

Editor Properties: (see get_editor_property/set_editor_property)

  • cull_distance (float): [Read-Write] Cull Distance: The distance at which collisions are ignored. In general you need this to be a bit larger than the typical relative body movement in your simulation, but small enough so that we don’t have to speculatively create too many unused collisions.

  • fixed_time_step (float): [Read-Write] Fixed Time Step: The recommended fixed timestep for the RBAN solver. Set to 0 to run with variable timestep (default). NOTE: If this value is non-zero and less than the current frame time, the simulation will step multiple times which increases the cost.

  • max_depenetration_velocity (float): [Read-Write] Max Depenetration Velocity: When bodies are penetrating, this is the maximum velocity delta that can be applied in one frame.

  • position_iterations (int32): [Read-Write] Position Iterations: The number of position iterations to run. The position solve is responsible for depenetration and friction. Increasing this will improve simulation stability, but increase the cost.

  • projection_iterations (int32): [Read-Write] Projection Iterations: The number of projection iterations to run. The projection phase is a final pass over the constraints, applying a semi-physical correction to any joint errors remaining after the position and velocity solves. It can be very helpful to stabilize joint chains, but can cause issues with collision response. The projection magnitude can be controlled per-constraint in the constraint settings (assuming ProjectionIteration is not zero).

  • velocity_iterations (int32): [Read-Write] Velocity Iterations: The number of velocity iterations to run. The velocity solve is responsible for restitution.

property cull_distance

[Read-Write] Cull Distance: The distance at which collisions are ignored. In general you need this to be a bit larger than the typical relative body movement in your simulation, but small enough so that we don’t have to speculatively create too many unused collisions.

Type

(float)

property fixed_time_step

[Read-Write] Fixed Time Step: The recommended fixed timestep for the RBAN solver. Set to 0 to run with variable timestep (default). NOTE: If this value is non-zero and less than the current frame time, the simulation will step multiple times which increases the cost.

Type

(float)

property max_depenetration_velocity

[Read-Write] Max Depenetration Velocity: When bodies are penetrating, this is the maximum velocity delta that can be applied in one frame.

Type

(float)

property position_iterations

[Read-Write] Position Iterations: The number of position iterations to run. The position solve is responsible for depenetration and friction. Increasing this will improve simulation stability, but increase the cost.

Type

(int32)

property projection_iterations

[Read-Write] Projection Iterations: The number of projection iterations to run. The projection phase is a final pass over the constraints, applying a semi-physical correction to any joint errors remaining after the position and velocity solves. It can be very helpful to stabilize joint chains, but can cause issues with collision response. The projection magnitude can be controlled per-constraint in the constraint settings (assuming ProjectionIteration is not zero).

Type

(int32)

property velocity_iterations

[Read-Write] Velocity Iterations: The number of velocity iterations to run. The velocity solve is responsible for restitution.

Type

(int32)