Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


ConfigurableJoint

The configurable joint is an extremely flexible joint giving you complete control over rotation and linear motion.
Read time 9 minutesLast updated 3 days ago

Definition

  • Type: Class
  • Namespace: UnityEngine
  • Assembly: UnityEngine.PhysicsModule
  • Inherits from: Joint
[RequireComponent(typeof(Rigidbody))]public class ConfigurableJoint : Joint

Remarks

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.

Properties

Property

Description

angularXDriveDefinition of how the joint's rotation will behave around its local X axis. Only used if Rotation Drive Mode is Swing & Twist.
angularXLimitSpringThe configuration of the spring attached to the angular X limit of the joint.
angularXMotionAllow rotation around the X axis to be Free, completely Locked, or Limited according to Low and High Angular XLimit.
angularYLimitBoundary defining rotation restriction, based on delta from original rotation.
angularYMotionAllow rotation around the Y axis to be Free, completely Locked, or Limited according to Angular YLimit.
angularYZDriveDefinition of how the joint's rotation will behave around its local Y and Z axes. Only used if Rotation Drive Mode is Swing & Twist.
angularYZLimitSpringThe configuration of the spring attached to the angular Y and angular Z limits of the joint.
angularZLimitBoundary defining rotation restriction, based on delta from original rotation.
angularZMotionAllow rotation around the Z axis to be Free, completely Locked, or Limited according to Angular ZLimit.
configuredInWorldSpaceIf enabled, all Target values will be calculated in world space instead of the object's local space.
highAngularXLimitBoundary defining upper rotation restriction, based on delta from original rotation.
linearLimitBoundary defining movement restriction, based on distance from the joint's origin.
linearLimitSpringThe configuration of the spring attached to the linear limit of the joint.
lowAngularXLimitBoundary defining lower rotation restriction, based on delta from original rotation.
projectionAngleSet the angular tolerance threshold (in degrees) for projection.
projectionDistanceSet the linear tolerance threshold for projection.
projectionModeBrings 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.
rotationDriveModeControl the object's rotation with either X & YZ or Slerp Drive by itself.
secondaryAxisThe joint's secondary axis.
slerpDriveDefinition of how the joint's rotation will behave around all local axes. Only used if Rotation Drive Mode is Slerp Only.
swapBodiesEnable 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.
targetAngularVelocityThis is a Vector3. It defines the desired angular velocity that the joint should rotate into.
targetPositionThe desired position that the joint should move into.
targetRotationThis is a Quaternion. It defines the desired rotation that the joint should rotate into.
targetVelocityThe desired velocity that the joint should move along.
xDriveDefinition of how the joint's movement will behave along its local X axis.
xMotionAllow movement along the X axis to be Free, completely Locked, or Limited according to Linear Limit.
yDriveDefinition of how the joint's movement will behave along its local Y axis.
yMotionAllow movement along the Y axis to be Free, completely Locked, or Limited according to Linear Limit.
zDriveDefinition of how the joint's movement will behave along its local Z axis.
zMotionAllow movement along the Z axis to be Free, completely Locked, or Limited according to Linear Limit.

Inheritance

Inherited Members

Operators

Operator

Description

operator ==Compares two object references to see if they refer to the same object.
boolDetermines whether the object exists.
operator !=Compares if two objects refer to a different object.