IK Solvers

Select an object in a hierarchy where you want IK to start. > Animation menu > IK Solvers > Apply an IK solver. > Click the object in the hierarchy where you want the IK chain to end (for the IK Limb Solver, click two bones from the first click).

An IK solver creates an inverse kinematic solution to rotate and position links in a chain. It applies an IK Controller to govern the transforms of the children in a linkage. You can apply an IK solver to any hierarchy of objects, or you can use IK solvers with a system of bones. You apply an IK solver to a hierarchy or part of a hierarchy using commands on the Animation menu. Select an object in the hierarchy, choose an IK solver, and then click another object in the hierarchy to define the end of the IK chain.

Bones system with IK solver applied

IK solvers are plug-ins, so programmers can expand the software's capabilities by customizing or writing their own IK solvers. In gmax, the only IK Solver available is the IK Limb Solver.

How Does an IK Solver Work?

An IK solver generally operates in this way: an inverse kinematic chain is defined on part of the hierarchy, say from the hip to the heel, or the shoulder to the wrist of a character. At the end of the IK chain is a gizmo, called the goal. The goal can be repositioned or animated over time in a variety of ways, often using linkage or constraints. No matter how the goal is moved, the IK solver attempts to move the pivot of the last joint in the chain (also called the end effector) to meet the goal. The IK solver rotates the parts of the chain to stretch out and reposition the end effector to coincide with the goal.

Using an IK solver to animate an arm

Frequently, the end effector is constrained to the ground plane. For example, you might "pin" the toes as the heels lift in a walk cycle. Then the movement of the heel poses the foot up to the toes.

One plug-in IK solver ships with gmax:

Note: gmax also provides two other methods of inverse kinematic manipulation of hierarchies, which don't depend on a solver: Interactive IK and Applied IK.

IK with Bones

While you can apply an IK solver to any hierarchy of objects, a system of Bones combined with an IK solver is a good way to animate a character.

A bones system is a jointed, hierarchical linkage of bone objects. Bones are used as an armature on to which objects are linked. If you use the skin modifier, you can "skin" an object to the bones, so the animation of the bones deforms the mesh that models a character.

Animating bones with skin causes the skin to stretch or shrink

Turning Other Objects into Bones

Any object can be turned into a bone object. Right-click any object and select Properties from the quad menu. In the Bone group, choose Bone On/Off. You can also use the Display panel, in the Link Display rollout to turn on Display Links and Link Replaces Object to display the bones instead of the object.

Any object hierarchy can be displayed as bones.

Bones can scale, squash and stretch over time. See Using Objects as Bones.

Advantages of Animating Bones with IK

It is possible to animate a character's motion through forward kinematics, rotating each limb into position from the shoulder to the fingers, and the hips to the toes. But it's a lot quicker and more realistic to use inverse kinematics to simulate the foot interacting with the ground. And it is a lot easier to control when you need to make changes to the animation. Rather than having keyframes on every bone in the chain, you have to make changes only to one node, to change the animation of the entire chain.

On the other hand, it is common for animators to use IK for the legs and FK for the torso and the arms. FK offers a bit more control for posing the upper body. It is not necessary to use IK for every character animation task. Using the IK Limb Solver allows you to jump back and forth easily between FK and IK.

How to Apply an IK Solver

You can apply an IK solver when you create a Bones system, or from the Animation menu:

Where to Adjust the IK Solver

You adjust IK solver settings in the Motion and Hierarchy panels:

Procedures

To add an IK solver to a hierarchy or bones system:

  1. Create a Bones system or any other linked hierarchy of objects.

  2. Select a Bone or object where you'd like the IK chain to start.

  3. Choose Animation menu > IK Solvers, and choose the IK Limb Solver:

  4. Click two bones down the chain from the start joint.

    The IK solver appears in the viewport. To test if it works, try moving the goal. If the chain moves, you have correctly assigned the solver. If not, you have assigned the solver to more a chain of than two bones.

To create a bones hierarchy that uses an IK solver:

  1. Go to the Create panel, choose Systems, and click Bones.

  2. In the IK Chain Assignment rollout, select the IK Limb solver.

  3. Turn on Assign To Children.

  4. Click and drag in a viewport to create the bones. Right-click to stop bone creation. A third "nub" bone is automatically created when you right-click.

    The bones are drawn with the IK solver already applied.