Rolling an IK Bone

 
 
 

With 2D and 3D chains, you can rotate a bone in X. However, you cannot do this with a 2D chain that is solved in inverse kinematics (its effector is translated). The solving of the chain in IK overrides any animation that has been done on a bone's X or Y rotation. To solve the problem of being able to rotate the IK bone in X, you can set its Roll value.

Roll does not work on 3D chains because the X rotation value is used for solving the chain as well.

   

Bone is rotated on its X axis (no IK).

When you set the roll of the bone, the rotation of each bone in the chain is relative to its own axis, which rolls the bone. (If a chain has an up-vector constraint, it is considered to be solved in IK.) This rotation is propagated to the following bones in a chain, or added cumulatively to the following bones if they have their own roll defined.

The effect is a "twisting" of each bone on its axis. If you roll the first bone in a chain, it rotates the whole chain around the axis going through the chain root and the effector.

A

Chain before bones rolled.

B

First bone rolled 180o. Other bones also rotate around the chain root.

C

Each bone (except the first) has its own roll. The resulting roll is cumulative from the top down.

You can interactively rotate the bones in X (locally or globally) in SI|3D Behavior mode for the Solver Angle (see Calculating Joint Rotations with the Solver Angle) if you select the Use Preferred X Rotation as Roll option (see below).

In Preferred Rotations from Joint Properties mode, you can rotate the bones interactively, but it will put the chain out of its resolution plane.

To set a roll for a bone

  1. Select a bone on a 2D chain that is animated in IK (that is, its effector translation is keyed). For example, to offset an up vector's position, set the roll on the first bone of the chain.

  2. Press Enter to open its Kinematic Joint property editor.

  3. On the Resolution Plane page, set the roll using either of these options:

    • Enter a value for the Roll parameter.

      TipIf you're using expressions to rotate a bone, put the expression on the bone's Roll parameter to achieve the effect you want.

      or

    • Select Use Preferred X Rotation as Roll to use the bone's preferred X rotation value as the roll value.

      Preferred rotations are not continuous, so rolling the bone with this option may make the chain flip when the preferred angles go through a gimbal lock, which is a state that Euler angles go through when two rotation axes overlap. The angle values can change drastically when rotations are interpolated through it. To avoid gimbal lock, you can change the rotation order (see Changing the Bones' Order of Rotation).