pub struct ConfigurableJoint {Show 45 fields
pub m_Anchor: Vector3f,
pub m_AngularXDrive: JointDrive,
pub m_AngularXMotion: i32,
pub m_AngularYLimit: SoftJointLimit,
pub m_AngularYMotion: i32,
pub m_AngularYZDrive: JointDrive,
pub m_AngularZLimit: SoftJointLimit,
pub m_AngularZMotion: i32,
pub m_Axis: Vector3f,
pub m_BreakForce: f32,
pub m_BreakTorque: f32,
pub m_ConfiguredInWorldSpace: bool,
pub m_ConnectedBody: PPtr,
pub m_GameObject: PPtr,
pub m_HighAngularXLimit: SoftJointLimit,
pub m_LinearLimit: SoftJointLimit,
pub m_LowAngularXLimit: SoftJointLimit,
pub m_ProjectionAngle: f32,
pub m_ProjectionDistance: f32,
pub m_ProjectionMode: i32,
pub m_RotationDriveMode: i32,
pub m_SecondaryAxis: Vector3f,
pub m_SlerpDrive: JointDrive,
pub m_TargetAngularVelocity: Vector3f,
pub m_TargetPosition: Vector3f,
pub m_TargetRotation: Quaternionf,
pub m_TargetVelocity: Vector3f,
pub m_XDrive: JointDrive,
pub m_XMotion: i32,
pub m_YDrive: JointDrive,
pub m_YMotion: i32,
pub m_ZDrive: JointDrive,
pub m_ZMotion: i32,
pub m_AngularXLimitSpring: Option<SoftJointLimitSpring>,
pub m_AngularYZLimitSpring: Option<SoftJointLimitSpring>,
pub m_AutoConfigureConnectedAnchor: Option<bool>,
pub m_ConnectedAnchor: Option<Vector3f>,
pub m_ConnectedArticulationBody: Option<PPtr>,
pub m_ConnectedMassScale: Option<f32>,
pub m_EnableCollision: Option<bool>,
pub m_EnablePreprocessing: Option<bool>,
pub m_Enabled: Option<bool>,
pub m_LinearLimitSpring: Option<SoftJointLimitSpring>,
pub m_MassScale: Option<f32>,
pub m_SwapBodies: Option<bool>,
}Expand description
ConfigurableJoint is a class of the Unity engine since version 3.4.0. Exert from Unity’s scripting documentation: The configurable joint is an extremely flexible joint giving you complete control over rotation and linear motion. You can build all other joints with it and much more but it is also more complicated to setup.
It gives you control over motors, drives and joint limits for each rotation axis and and linear degree of freedom.
Fields§
§m_Anchor: Vector3fThe Position of the anchor around which the joints motion is constrained.
m_AngularXDrive: JointDriveDefinition of how the joint’s rotation will behave around its local X axis. Only used if Rotation Drive Mode is Swing & Twist.
m_AngularXMotion: i32Allow rotation around the X axis to be Free, completely Locked, or Limited according to Low and High Angular XLimit.
m_AngularYLimit: SoftJointLimitBoundary defining rotation restriction, based on delta from original rotation.
m_AngularYMotion: i32Allow rotation around the Y axis to be Free, completely Locked, or Limited according to Angular YLimit.
m_AngularYZDrive: JointDriveDefinition of how the joint’s rotation will behave around its local Y and Z axes. Only used if Rotation Drive Mode is Swing & Twist.
m_AngularZLimit: SoftJointLimitBoundary defining rotation restriction, based on delta from original rotation.
m_AngularZMotion: i32Allow rotation around the Z axis to be Free, completely Locked, or Limited according to Angular ZLimit.
m_Axis: Vector3fThe Direction of the axis around which the body is constrained.
m_BreakForce: f32The force that needs to be applied for this joint to break.
m_BreakTorque: f32The torque that needs to be applied for this joint to break. To be able to break, a joint must be Locked or Limited on the axis of rotation where the torque is being applied. This means that some joints cannot break, such as an unconstrained Configurable Joint.
m_ConfiguredInWorldSpace: boolIf enabled, all Target values will be calculated in world space instead of the object’s local space.
m_ConnectedBody: PPtrA reference to another rigidbody this joint connects to.
PPtr<Rigidbody>: (3.4.0 - 2022.3.2f1)
m_GameObject: PPtrThe game object this component is attached to. A component is always attached to a game object.
PPtr<GameObject>: (3.4.0 - 2022.3.2f1)
m_HighAngularXLimit: SoftJointLimitBoundary defining upper rotation restriction, based on delta from original rotation.
m_LinearLimit: SoftJointLimitBoundary defining movement restriction, based on distance from the joint’s origin.
m_LowAngularXLimit: SoftJointLimitBoundary defining lower rotation restriction, based on delta from original rotation.
m_ProjectionAngle: f32Set the angular tolerance threshold (in degrees) for projection.If the joint deviates by more than this angle around its locked angular degrees of freedom,the solver will move the bodies to close the angle.Setting a very small tolerance may result in simulation jitter or other artifacts.Sometimes it is not possible to project (for example when the joints form a cycle).
m_ProjectionDistance: f32Set the linear tolerance threshold for projection.If the joint separates by more than this distance along its locked degrees of freedom, the solverwill move the bodies to close the distance.Setting a very small tolerance may result in simulation jitter or other artifacts.Sometimes it is not possible to project (for example when the joints form a cycle).
m_ProjectionMode: i32Brings violated constraints back into alignment even when the solver fails. Projection is not a physical process and does not preserve momentum or respect collision geometry. It is best avoided if practical, but can be useful in improving simulation quality where joint separation results in unacceptable artifacts.
m_RotationDriveMode: i32Control the object’s rotation with either X & YZ or Slerp Drive by itself.
m_SecondaryAxis: Vector3fThe joint’s secondary axis.
m_SlerpDrive: JointDriveDefinition of how the joint’s rotation will behave around all local axes. Only used if Rotation Drive Mode is Slerp Only.
m_TargetAngularVelocity: Vector3fThis is a Vector3. It defines the desired angular velocity that the joint should rotate into.
m_TargetPosition: Vector3fThe desired position that the joint should move into.
m_TargetRotation: QuaternionfThis is a Quaternion. It defines the desired rotation that the joint should rotate into.
m_TargetVelocity: Vector3fThe desired velocity that the joint should move along.
m_XDrive: JointDriveDefinition of how the joint’s movement will behave along its local X axis.
m_XMotion: i32Allow movement along the X axis to be Free, completely Locked, or Limited according to Linear Limit.
m_YDrive: JointDriveDefinition of how the joint’s movement will behave along its local Y axis.
m_YMotion: i32Allow movement along the Y axis to be Free, completely Locked, or Limited according to Linear Limit.
m_ZDrive: JointDriveDefinition of how the joint’s movement will behave along its local Z axis.
m_ZMotion: i32Allow movement along the Z axis to be Free, completely Locked, or Limited according to Linear Limit.
m_AngularXLimitSpring: Option<SoftJointLimitSpring>The configuration of the spring attached to the angular X limit of the joint. SoftJointLimitSpring: (5.0.0f4 - 2022.3.2f1)
m_AngularYZLimitSpring: Option<SoftJointLimitSpring>The configuration of the spring attached to the angular Y and angular Z limits of the joint. SoftJointLimitSpring: (5.0.0f4 - 2022.3.2f1)
m_AutoConfigureConnectedAnchor: Option<bool>Should the connectedAnchor be calculated automatically? bool: (4.3.0 - 2022.3.2f1)
m_ConnectedAnchor: Option<Vector3f>Position of the anchor relative to the connected Rigidbody. Vector3f: (4.3.0 - 2022.3.2f1)
m_ConnectedArticulationBody: Option<PPtr>A reference to an articulation body this joint connects to.
PPtr<ArticulationBody>: (2020.2.0b1 - 2022.3.2f1)
m_ConnectedMassScale: Option<f32>The scale to apply to the inverse mass and inertia tensor of the connected body prior to solving the constraints. f32: (2017.1.0b2 - 2022.3.2f1)
m_EnableCollision: Option<bool>Enable collision between bodies connected with the joint. bool: (4.5.0 - 2022.3.2f1)
m_EnablePreprocessing: Option<bool>Toggle preprocessing for this joint. bool: (5.0.0f4 - 2022.3.2f1)
m_Enabled: Option<bool>bool: (2017.1.0b2 - 2017.1.0b5)
m_LinearLimitSpring: Option<SoftJointLimitSpring>The configuration of the spring attached to the linear limit of the joint. SoftJointLimitSpring: (5.0.0f4 - 2022.3.2f1)
m_MassScale: Option<f32>The scale to apply to the inverse mass and inertia tensor of the body prior to solving the constraints. f32: (2017.1.0b2 - 2022.3.2f1)
m_SwapBodies: Option<bool>Enable this property to swap the order in which the physics engine processes the Rigidbodies involved in the joint. This results in different joint motion but has no impact on Rigidbodies and anchors. bool: (3.5.0 - 2022.3.2f1)