Version: 2020.1
Character Controller
Configurable Joint

Character Joint

Switch to Scripting

Character Joints are mainly used for Ragdoll effects. They are an extended ball-socket jointA physics component allowing a dynamic connection between rigidbodies, usually allowing some degree of movement such as a hinge. More info
See in Glossary
which allows you to limit the joint on each axis.

If you just want to set up a ragdoll read about Ragdoll Wizard.

Properties

Property: Function:
Connected Body Optional reference to the RigidbodyA component that allows a GameObject to be affected by simulated gravity and other forces. More info
See in Glossary
that the joint is dependent upon. If not set, the joint connects to the world.
AnchorA UI layout tool that fixes a UI element to a parent element. Anchors are shown as four small triangular handles in the Scene View and anchor information is also shown in the Inspector. More info
See in Glossary
The point in the GameObject’s local space where the joint rotates around.
Axis The twist axes. Visualized with the orange gizmoA graphic overlay associated with a GameObject in a Scene, and displayed in the Scene View. Built-in scene tools such as the move tool are Gizmos, and you can create custom Gizmos using textures or scripting. Some Gizmos are only drawn when the GameObject is selected, while other Gizmos are drawn by the Editor regardless of which GameObjects are selected. More info
See in Glossary
cone.
Auto Configure Connected Anchor If this is enabled, then the Connected Anchor position will be calculated automatically to match the global position of the anchor property. This is the default behavior. If this is disabled, you can configure the position of the connected anchor manually.
Connected Anchor Manual configuration of the connected anchor position.
Swing Axis The swing axis. Visualized with the green gizmo cone.
Low Twist Limit The lower limit of the joint. See below.
High Twist Limit The higher limit of the joint. See below.
Swing 1 Limit Limits the rotation around one element of the defined Swing Axis (visualized with the green axis on the gizmo). See below.
Swing 2 Limit Limits movement around one element of the defined Swing Axis. See below.
Break Force The force that needs to be applied for this joint to break.
Break Torque The torque that needs to be applied for this joint to break.
Enable Collision When checked, this enables collisionsA collision occurs when the physics engine detects that the colliders of two GameObjects make contact or overlap, when at least one has a rigidbody component and is in motion. More info
See in Glossary
between bodies connected with a joint.
Enable Preprocessing Disabling preprocessing helps to stabilize impossible-to-fulfil configurations.
The Character Joint on a Ragdoll
The Character Joint on a Ragdoll

Details

Character joints give you a lot of possibilities for constraining motion like with a universal joint.

The twist axis (visualized with the orange access on the gizmo) gives you most control over the limits as you can specify a lower and upper limit in degrees (the limit angle is measured relative to the starting position). A value of –30 in Low Twist Limit->Limit and 60 in High Twist Limit->Limit limits the rotation around the twist axis (orange gizmo) between –30 and 60 degrees.

The Swing 1 Limit limits the rotation around the swing axis (visualized with the green axis on the gizmo). The limit angle is symmetric. Thus a value of 30 will limit the rotation between –30 and 30.

The Swing 2 Limit axis isn’t visualized on the gizmo but the axis is orthogonal to the two other axes (that is the twist axis visualised in orange on the gizmo and the Swing 1 Limit visualised in green on the gizmo). The angle is symmetric, thus a value of 40 will limit the rotation around that axis between –40 and 40 degrees.

For each of the limits the following values can be set:

Property: Function:
Bounciness A value of 0 will not bounce. A value of 1 will bounce without any loss of energy.
Spring The spring force used to keep the two objects together.
Damper The damper force used to dampen the spring force.
Contact Distance Within the contact distance from the limit contacts will persist in order to avoid jitter.

Breaking joints

You can use the Break Force and Break Torque properties to set limits for the joint’s strength. If these are less than infinity, and a force/torque greater than these limits are applied to the object, its Fixed JointA joint type that is completely constrained, allowing two objects to be held together. Implemented as a spring so some motion may still occur. More info
See in Glossary
will be destroyed and will no longer be confined by its restraints.

Hints

  • You do not need to assign a Connected Body to your joint for it to work.
  • Character Joints require your object to have a Rigidbody attached.
  • For Character Joints made with the Ragdoll wizard, take a note that the setup is made such that the joint’s Twist axis corresponds with the limb’s largest swing axis, the joint’s Swing 1 axis corresponds with limb’s smaller swing axis and joint’s Swing 2 is for twisting the limb. This naming scheme is for legacy reasons.
Character Controller
Configurable Joint