IK solvers

IK solvers are the mathematical algorithms behind IK handles. IK solvers calculate the rotations of all the joints in a joint chain controlled by an IK handle. The effect an IK handle has on a joint chain depends on the type of IK solver used by the IK handle. By default, Maya loads the following IK solvers:

In addition to the default solvers you can also manually load, then create the following solvers:

If you want to pose and animate joint chains that have between two and four joints, use single chain or rotate plane IK.

If you want to pose and animate longer joint chains, use spline IK. If you want to pose and animate simple three joint IK chains for use in games, use 2 bone IK.

By default, each IK handle you create that uses the same type of IK solver, also shares the same IK solver node. For example, all IK handles that use single chain IK also connect to the same ikSCsolver node. Consequently, if you edit the attributes of the shared IK solver node, all the IK handles that connect to the node are affected. If you want to fine-tune the IK solvers for certain IK handles only, while not affecting other IK handles, you can create additional IK solvers for your IK handles using the createNode MEL command.

Difference between single chain and rotate plane IK handles

The difference between a single chain IK handle and a rotate plane IK handle is that the single chain IK handle’s end effector tries to reach the position and the orientation of its IK handle, whereas the rotate plane IK handle’s end effector only tries to reach the position of its IK handle. Since the rotate plane IK handle’s end effector only tries to reach the position of its handle, the resulting joint rotations are more predictable. For the rotate plane IK handle, the orientation of its entire joint chain is controlled by the twist disc manipulator. For more information, see the Twist disc description in the topic Rotate Plane IK solver.

Note: If your joint chain suffers from flipping, use the rotate plane solver instead of the single chain solver. The rotate plane solver was introduced with the pole vector to control the flipping of IK chains that you sometimes get with the single chain solver. It is not recommended to use a single chain solver for a 2 bone chain.

IK solver calculations

When you move an IK handle, the solver performs the appropriate calculations to move and rotate all the joints in its IK chain accordingly. First, the solver looks at the position (Translate X, Y, and Z attributes) and orientation (Rotate X, Y, and Z attributes) of the IK handle. Next, the solver calculates how to move the position and orientation of the end effector as close to the IK handle’s position and orientation as possible. To do that, the solver calculates how to best rotate the joints in the IK handle’s joint chain. Finally, the solver then rotates all the joints in the joint chain so that the end effector reaches the IK handle’s position and orientation.

Related topics