CAT's IK System

The goal of the inverse kinematics system in CAT, called FK-driven IK, is to let you interact with your character rig intuitively, without having to think too much about IK and FK at all.

The system takes the current FK rotations of a limb and then fits them to the IK target. This flexible approach includes support for IK chains that rotate on any axis, not just one as with other IK systems. It is also easy to build in custom components, such as constraints, to customize how the system works.

Configuring the IK Chain

To set up the bones in the IK chain, just move and rotate the bones into the configuration you require. There is no limit on the direction you rotate the bones.

The fact that the IK solution is derived from the FK solution means that in Setup mode it is important to keep the FK and IK configurations as close as possible. A good trick is to click the Match FK To IK button before you start to edit the limb in IK. For complex limbs, such as a spider’s, it is recommended that you position the limb in FK, turning on IK only when you are finished.

With complex limbs, rotate the bones in FK so that they sit on the footplatform.

Because you can rotate the limb bones on any axis, you can have bowlegged IK chains for gunslinging cowboys.

The Difference Between Working in IK and FK

The difference between IK and FK in CAT is minor. The way a limb behaves when manipulated is much the same whether in IK or FK. The difference is that in IK the child end of the limb, for example the palm, always tries to follow the IK target. In FK the limb doesn't have this restriction.

When the ribcage is moved from side to side with the arms in FK the arms simply move with the rigcage.

With the arms in IK the hands stay put while the ribcage is transformed.

When to Use IK

Use IK when a limb must have a fixed end position. The most common example of this is animating legs walking, where feet must be planted on the ground without sliding around as you rotate the leg bones. Other examples would be arms holding onto other objects, such as guns or steering wheels.

How to expect CAT's IK system to behave

Moving the IK target

As you would expect from any IK system, when you move the IK target, the IK chain retains its original configuration as closely as possible.

As the leg IK target moves out the limb maintains the basic leg setup as much as possible.

Rotating the IK target

You might be surprised to find that rotating the IK target does not rotate the limb. While in the first instance this may seem strange, it actually makes CAT's IK system more flexible and isn't a problem.

When you rotate the IK target it only rotates the ankle. The rest of the limb remains unaffected.

One simple way to deal with this is simply to rotate the upper leg bone separately (see Tweaking the Limb Bone Rotations While Animating, below). Another alternative is to constrain the upper leg rotations to the Footplatform.

Tweaking the Limb Bone Rotations While Animating

As you animate the IK target around you might want to tweak the exact orientation of the bones in the IK chain. With CAT you just rotate the bones in the viewport as required.

The hand has been moved over but the elbow is too low, so we just pull the elbow up.

Target Align

The Target Align value lets you control whether the palm inherits the rotations of the IK target or not.

When the Target Align value is set to 0.0 the palm will move with the IK target but will stay aligned to the last bone on the limb (forearm on a human).

See Also