unreal.RigPhysicsJointData

class unreal.RigPhysicsJointData

Bases: StructBase

This represents an “articulation” - a general purpose “character joint” consisting of
  • A linear limit (a linear constraint), which is normally used to pin two bones together

  • An angular limit (an angular constraint), which is normally used to allow a limited range of rotational movement.

The joint is defined by a parent frame, which is attached to the parent body, and a child frame which is attached to the child body. If the limits are all zero, then these two bodies will be held in a fixed pose. Normally the angular limit will be relaxed to allow rotational movement around the joint position.

Most bodies in a character will have one Physics Joint which connects them to their parent in the hierarchy. However

  • The root of the hierarchy will not have an enabled Physics Joint

  • There may be times when a body has additional Physics Joints.

C++ Source:

  • Plugin: ControlRigPhysics

  • Module: ControlRigPhysics

  • File: RigPhysicsData.h

Editor Properties: (see get_editor_property/set_editor_property)

  • angular_projection_amount (float): [Read-Write] The amount of angular projection to reduce joint separation when the angular constraint is locked or has a hard limit. Note that projecting back to angular limits will often break the position projection, so it is normally better to disable this.

  • auto_calculate_child_offset (bool): [Read-Write] The auto-calculated offset of the child frame is for it to be co-located with the child body.

  • auto_calculate_parent_offset (bool): [Read-Write] The auto-calculated offset of the parent frame from the parent body places it at the location of the child body relative to the parent body in the initial pose.

  • cone_constraint (ConeConstraint): [Read-Write]

  • disable_collision (bool): [Read-Write] Disable collisions between the parent and child bodies

  • enabled (bool): [Read-Write]

  • extra_child_offset (Transform): [Read-Write] The child frame offset applied after any auto-calculation

  • extra_parent_offset (Transform): [Read-Write] The parent frame offset applied after any auto-calculation

  • linear_constraint (LinearConstraint): [Read-Write]

  • linear_projection_amount (float): [Read-Write] The amount of linear projection to reduce joint separation when the linear constraint is locked or has a hard limit. A value of one will apply full projection, but can introduce artefacts.

  • parent_inverse_mass_scale (float): [Read-Write] As this is reduced to 0, the parent body becomes less affected by the motion of the child body, making the joint behave in one direction.

  • twist_constraint (TwistConstraint): [Read-Write]