The IK Solver


Back

The IK solver is probably the most important constraint to understand how to use when rigging. It is commonly used for legs, arms, tails, antennae, and the like, but can also be used to create many other tracking behaviours and goal-oriented mechanisms.

When learning about IK (or Inverse Kinematics), it can be helpful to first understand FK (or Forward Kinematics). FK is the posing of a bone hierarchy from parent to child. In FK, each bone must be rotated individually in order to pose the chain. FK is useful for creating smooth arcs when animating, since secondary animation naturally occurs in an FK chain.

IK (or Inverse Kinematics) is the ability to influence a hierarchy of bones from child to parent, using a 'goal' or 'target'. IK is used for keeping the end of a bone chain locked in place, allowing the rest of the chain to be posed. The disadvantage of IK is that it is very difficult to animate a smooth arc.

In the example on the left, the small bone at the very bottom of the bone chain serves as the IK target. As it is animated from left to right in a straight line, the orientations of the bones included in the IK chain are solved automatically to keep them aligned with the target. Additionally, as the top bone is moved down, the chain is solved to keep the target in place. IK is very useful for animating contacts, when a character is leaning on something or walking on the ground for example. Contact is otherwise very difficult and tedious to animate using only FK.

The movement of bones in an IK chain can be limited using the limit options found in the armature edit panel. Once a bone limit has been set, it will appear in the 3D display whenever the bone(s) are selected (shown right). Limits can be useful, but can just as easily lead to unpredictable behaviour, so use them sparingly.

Options and Settings

Target: The target is the object or bone that serves as the 'goal' or 'target' for an IK chain.

OB: The Object to serve as the target (when rigging, it is the name of the Armature Object which contains the target bone).

BO: The Bone to serve as the target.

Pole Target: The pole target is the object or bone that determines the bend direction for the IK chain.

OB: The Object to serve as the pole target (when rigging, it is the name of the Armature Object which contains the pole target bone).

BO: The Bone to serve as the pole target.

Use Tail Determines whether or not the last bone in the bone chain is included in the IK solution.

ChainLen: Determines the length of the IK chain (in bone count). 0 is infinite.

PosW This option applies to 'tree-IK', or overlapping IK chains. For example, if you had a bone chain that forked off into 2 chains, each with an IK solver on the last bone effecting the entire chain, this option could be used to configure which chain is dominant (Example Blend).

Rot When enabled the tail of the IK chain will copy the rotations of the IK target.
W Determines the weight of the Rot option.

Stretch Toggles the stretchiness of the IK chain. On by default because the stretch: value in the armature edit panel must also be greater than 0.

Iterations Determines the 'smoothness' of the solver 'under the hood'.

Pole Offset Controls the orientation of the IK chain relative the pole target. This value often needs to be adjusted when adding a pole target, to make sure the chain is pointing in the right direction.

Influence Determines the influence of the constraint as a percentage from 0-100%. I highly recommend that you do not use this for creating an IK/FK switch.

Show Shows the constraint in the IPO window.

Key Sets a keyframe on the current Influence of the constraint at the current frame.

More Resources:
Blender Wiki Page - IK Solver

This site uses Google AdSense Advertising. For more information on Google's privacy policy, please visit this link.