Creating Subchains for Independent Movement

 
 
 

You can create independent movement within a chain by creating subchains. Subchains allow you to "break" the chain so that you can move only the subchains. When you move a subchain, it acts like an effector for its parent and like a root for its children. When you move a chain's effector, IK only works up to the subchain's root.

This chain has a 2D subchain that starts at the second joint after the root. When the effector is translated, the first two bones don't move because IK works only up to the subchain root.

You can have several subchains on a chain, each of which can be 2D or 3D, regardless of what the existing chain is.

You can create a subchain by either defining it explicitly in a joint's behavior or by using a pseudo-root. Pseudo-roots have the added feature of remaining fixed in local space when IK or FK are invoked. Only rotating the root can affect a pseudo-root's position.

Defining a Joint's Behavior

You can create a subchain by explicitly defining a joint's chain behavior. By default, every joint is implicitly defined as 2D or 3D, based on the previous joint's behavior.

NoteThe first joint of each subchain is always a 3D joint, regardless of the subchain's behavior.

To create a subchain

  1. Select the bone that you want to be the first bone in the subchain. Its joint will be used as the root of the subchain.

  2. Open the Kinematic Joint property editor for the selected bone.

  3. Change the Chain or Subchain Behavior setting to 2D or 3D.

    The new subchain is defined from the selected bone to the effector or to the next defined subchain, if any. Each subchain has its own plane of resolution.

To remove a subchain

  1. Select the first bone in the subchain.

  2. In the Kinematic Joint property editor for the selected bone, change the Chain/Subchain Behavior setting to Default.

    The joints in the subchain become part of the previous subchain.

Making a Joint into a Pseudo-root

You can also create a subchain by making the joint of the selected bone or effector a pseudo-root (behaving as a root does). The pseudo-root is not a real object: it only appears that the chain is broken at this point. Because of this, it cannot be animated.

Pseudo-roots remain fixed in local space when IK or FK are invoked. You can affect the pseudo-root's position by either rotating the root or by position-constraining its bone to another object and translating that object. For more information, see Position Constraints [Animation].

The effector's joint has been set as a pseudo-root, so it remains pinned to its location. As the second bone in the chain is rotated, the joints after it are automatically recalculated.

To create a pseudo-root using a command

  1. Select the bone you want to be as the first bone in the subchain. Its joint is used as the pseudo-root.

  2. Choose Create Skeleton Break Chain at Bone. This creates a subchain with a pseudo-root at the joint of the selected bone.

To create a pseudo-root using the Kinematic Joint property editor

  1. Open the Kinematic Joint property editor and select the Joint is Pseudo-Root option.

  2. If desired, change the Chain or Subchain Behavior setting to 2D or 3D.

To remove a pseudo-root

  • Select the affected joint and deselect Joint is Pseudo-Root in the Kinematic Joint property editor.

Moving Joints between Pseudo-roots

You can manipulate a joint between two pseudo-roots by translating it or applying a position constraint to it. A common goal is calculated and applied for the two subchains ending at this "pseudo-effector" or "joint."

A pseudo-root behaves as a root for the subchain at its right and as a pin (nail) for the subchain at its left. Activating the pseudo-root for a joint places a ball joint at this joint and changes the torsion to a 2D subchain if the chain was 2D, or vice-versa.

A

Pseudo-roots

B

Bone between the two pseudo-roots is translated. The pseudo-roots both stay pinned in place while the bones between them move.

C

The bones below the second pseudo-root are also affected by the bone's translation. This is because the bone's rotation has changed and the bones to the left are keeping their local rotation angles.