unreal.RigPhysicsSimulationSpaceSettings¶
- class unreal.RigPhysicsSimulationSpaceSettings¶
Bases:
StructBaseThese settings are used when the simulation is not done in world space. They allow the movement of the simulation space (e.g. the component) to be added to the local simulation in a controlled way.
C++ Source:
Plugin: ControlRigPhysics
Module: ControlRigPhysics
File: RigPhysicsData.h
Editor Properties: (see get_editor_property/set_editor_property)
angular_acceleration_threshold_for_teleport(float): [Read-Write] If the angular acceleration (deg/s/s) is above this threshold, the movement is treated as a teleport. The calculated accelerations and velocities will be set to zero, without resetting the simulation state. A value of zero will disable this detectionangular_drag_multiplier(float): [Read-Write] How much of the simulation frame’s angular velocity to pass onto the bodies (angular ether drag). This relies on there being drag authored on the bodies. If set to zero, the only drag will be from the body’s local movement (in the simulation space).clamp_angular_acceleration(bool): [Read-Write]clamp_angular_velocity(bool): [Read-Write]clamp_linear_acceleration(bool): [Read-Write]clamp_linear_velocity(bool): [Read-Write]external_angular_velocity(Vector): [Read-Write] Additional angular velocity that is added to the component angular velocity. This can be used to make the simulation act as if the actor is rotating even when it is not. E.g., to apply physics to a character on a podium as the camera rotates around it, to emulate the podium itself rotating. Vector is in world space. Units are deg/s.external_linear_drag(Vector): [Read-Write] Additional linear drag from movement of the simulation space, applied to every body in addition to linear drag specified on them in the physics asset. When combined with ExternalLinearVelocity, this can be used to add a temporary wind-blown effect without having to tune linear drag on all the bodies in the physics asset. The result is that each body has a force equal to -ExternalLinearDrag * ExternalLinearVelocity applied to it, in addition to all other forces. The vector is in simulation local space.external_linear_velocity(Vector): [Read-Write] Additional velocity that is added to the component velocity so the simulation acts as if the actor is moving at speed, even when stationary. The vector is in world space. This could be used for wind effects etc. Typical values are similar to the velocity of the object or effect, and usually around or less than 1000 for characters/wind.external_turbulence_velocity(Vector): [Read-Write] This will treat the external velocity like a wind field and add turbulence to it. Units are the same as velocity, so this is the approximate magnitude of the turbulence.linear_acceleration_threshold_for_teleport(float): [Read-Write] If the linear acceleration is above this threshold, the movement is treated as a teleport. The calculated accelerations and velocities will be set to zero, without resetting the simulation state. A value of zero will disable this detectionlinear_drag_multiplier(float): [Read-Write] How much of the simulation frame’s linear velocity to pass onto the bodies (linear ether drag). This relies on there being drag authored on the bodies. If set to zero, the only drag will be from the body’s local movement (in the simulation space).max_angular_acceleration(float): [Read-Write] A clamp on the effective world-space angular acceleration that is passed to the simulation. Units are radian/s/s. The default value effectively means “unlimited”. This has a similar effect to MaxAngularVelocity, except that it is related to the flying out of bodies when the rotation speed suddenly changes. A typical value for a character might be around 100.max_angular_velocity(float): [Read-Write] A clamp on the effective world-space angular velocity that is passed to the simulation. Units are radian/s, so a value of about 6.0 is one rotation per second. The default value effectively means “unlimited”. You would reduce this (and MaxAngularAcceleration) to limit how much bodies “fly out” when the actor spins on the spot. This is especially useful if you have characters than can rotate very quickly and you would probably want values around or less than 10 in this case.max_linear_acceleration(float): [Read-Write] A clamp on the effective world-space acceleration that is passed to the simulation. The default value effectively means “unlimited”. This property is used to stop the bodies of the simulation flying out when suddenly changing linear speed. It is useful when you have characters than can changes from stationary to running very quickly such as in an FPS. A common value for a character might be in the few hundreds.max_linear_velocity(float): [Read-Write] A clamp on the effective world-space velocity that is passed to the simulation. The default value effectively means “unlimited”. 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 (if you have bodies that have LinearDrag set to non-zero in the physics asset). Expected values in this case would be somewhat less than the usual velocities of your object which is commonly a few hundred for a character.orientation_change_threshold_for_teleport(float): [Read-Write] If the angular change (degrees) is above this threshold, the movement is treated as a teleport. The calculated accelerations and velocities will be set to zero, without resetting the simulation state. A value of zero will disable this detectionposition_change_threshold_for_teleport(float): [Read-Write] If the linear position change is above this threshold, the movement is treated as a teleport. The calculated accelerations and velocities will be set to zero, without resetting the simulation state. A value of zero will disable this detectionspace_movement_amount(float): [Read-Write] Overall multiplier on the effects of simulation space movement on the simulationvelocity_scale_z(float): [Read-Write] Multiplier on the components of vertical velocity of the simulation space that is passed to the simulation. 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 for some reason.