unreal.RigDynamicsSimulationSpaceMotion

class unreal.RigDynamicsSimulationSpaceMotion(vertical_motion_scale: float = 0.0, clamp_linear_velocity: bool = False, max_linear_velocity: float = 0.0, clamp_angular_velocity: bool = False, max_angular_velocity: float = 0.0, clamp_linear_acceleration: bool = False, max_linear_acceleration: float = 0.0, clamp_angular_acceleration: bool = False, max_angular_acceleration: float = 0.0, inertial_forces: RigDynamicsInertialForceSettings = Ellipsis, drag: RigDynamicsSimulationDragSettings = Ellipsis)

Bases: StructBase

How the simulation-space linear/angular velocity and acceleration are conditioned (vertical scale + clamps) before being passed to the inertial pseudo-forces and the air/ether drag effects. These do not affect teleport detection.

C++ Source:

  • Plugin: ControlRigDynamics

  • Module: ControlRigDynamics

  • File: RigDynamicsData.h

Editor Properties: (see get_editor_property/set_editor_property)

  • clamp_angular_acceleration (bool): [Read-Write]

  • clamp_angular_velocity (bool): [Read-Write]

  • clamp_linear_acceleration (bool): [Read-Write]

  • clamp_linear_velocity (bool): [Read-Write]

  • drag (RigDynamicsSimulationDragSettings): [Read-Write] Air/ether drag. Uses the conditioned linear and angular velocities above.

  • inertial_forces (RigDynamicsInertialForceSettings): [Read-Write] Inertial pseudo-force properties. Uses the conditioned velocity/acceleration above and applies Coriolis / centrifugal / Euler / linear forces, scaled by Amount.

  • max_angular_acceleration (float): [Read-Write] A clamp on the effective world-space angular acceleration that is passed to the simulation. Units are deg/s/s. Similar effect to MaxAngularVelocity but related to bodies flying out/backwards when the rotation speed suddenly changes. A typical value for a character might be around 7200.

  • max_angular_velocity (float): [Read-Write] A clamp on the effective world-space angular velocity that is passed to the simulation. Units are deg/s, so a value of 360 is one full rotation per second. You would reduce this (and MaxAngularAcceleration) to limit how much bodies “fly out” when the actor spins on the spot. Especially useful if you have characters that can rotate very quickly, but you do not want to see simulated objects flung outwards excessively. Values around or less than 720 are typical in that case.

  • max_linear_acceleration (float): [Read-Write] A clamp on the effective world-space acceleration that is passed to the simulation. Used to stop the bodies of the simulation flying out when suddenly changing linear speed. Useful when characters can change from stationary to running very quickly, to prevent simulated objects from being flung backwards. A common value for a character might be a few thousands (e.g. 10x gravity).

  • max_linear_velocity (float): [Read-Write] A clamp on the effective world-space velocity that is passed to the simulation. It is not usually required to change this but you would reduce this to limit the effects of drag on the bodies in the simulation, for example. Expected values would be somewhat less than the usual velocities of your object which is commonly a few hundred for a character.

  • vertical_motion_scale (float): [Read-Write] Multiplier on the vertical (Z) component of linear velocity AND linear acceleration before clamping. Usually from 0.0 to 1.0 to reduce the effects of jumping and crouching on the simulation, but it can be higher than 1.0 if you need to exaggerate this motion.

property clamp_angular_acceleration: bool

[Read-Only]

Type:

(bool)

property clamp_angular_velocity: bool

[Read-Only]

Type:

(bool)

property clamp_linear_acceleration: bool

[Read-Only]

Type:

(bool)

property clamp_linear_velocity: bool

[Read-Only]

Type:

(bool)

property drag: RigDynamicsSimulationDragSettings

[Read-Only] Air/ether drag. Uses the conditioned linear and angular velocities above.

Type:

(RigDynamicsSimulationDragSettings)

property inertial_forces: RigDynamicsInertialForceSettings

[Read-Only] Inertial pseudo-force properties. Uses the conditioned velocity/acceleration above and applies Coriolis / centrifugal / Euler / linear forces, scaled by Amount.

Type:

(RigDynamicsInertialForceSettings)

property max_angular_acceleration: float

[Read-Only] A clamp on the effective world-space angular acceleration that is passed to the simulation. Units are deg/s/s. Similar effect to MaxAngularVelocity but related to bodies flying out/backwards when the rotation speed suddenly changes. A typical value for a character might be around 7200.

Type:

(float)

property max_angular_velocity: float

[Read-Only] A clamp on the effective world-space angular velocity that is passed to the simulation. Units are deg/s, so a value of 360 is one full rotation per second. You would reduce this (and MaxAngularAcceleration) to limit how much bodies “fly out” when the actor spins on the spot. Especially useful if you have characters that can rotate very quickly, but you do not want to see simulated objects flung outwards excessively. Values around or less than 720 are typical in that case.

Type:

(float)

property max_linear_acceleration: float

[Read-Only] A clamp on the effective world-space acceleration that is passed to the simulation. Used to stop the bodies of the simulation flying out when suddenly changing linear speed. Useful when characters can change from stationary to running very quickly, to prevent simulated objects from being flung backwards. A common value for a character might be a few thousands (e.g. 10x gravity).

Type:

(float)

property max_linear_velocity: float

[Read-Only] A clamp on the effective world-space velocity that is passed to the simulation. It is not usually required to change this but you would reduce this to limit the effects of drag on the bodies in the simulation, for example. Expected values would be somewhat less than the usual velocities of your object which is commonly a few hundred for a character.

Type:

(float)

property vertical_motion_scale: float

[Read-Only] Multiplier on the vertical (Z) component of linear velocity AND linear acceleration before clamping. Usually from 0.0 to 1.0 to reduce the effects of jumping and crouching on the simulation, but it can be higher than 1.0 if you need to exaggerate this motion.

Type:

(float)