Spline IK

The Spline IK solver uses a spline to determine the curvature of a series of bones or other linked objects.

You can move and animate the spline vertices to change the curvature of the spline. Usually, a helper is placed at each vertex to assist in animating the spline. The spline curvature is then passed on to the entire linked structure. The bones themselves do not change shape.

Normally the number of spline vertices and bones are the same, but you can use fewer vertices for easier posing and animating a long multiple-bone structure with just a few nodes, as opposed to animating each bone individually.

Spline IK provides a more flexible animation system than other IK solvers. You can position vertices/helpers anywhere in 3D space, so the linked structure can assume any shape you want to give it.

A helper object is automatically placed at each vertex when Spline IK is assigned. Each vertex is linked to its corresponding helper, so a vertex can be moved by moving the helper.

Unlike the HI Solver, the Spline IK system does not use a goal. The positions of helpers/vertices in 3D space is the only factor that determines the shape of the linked structure.

Note: Moving the Spline IK helpers to curl the spline can sometimes cause bones to rotate or flip unexpectedly. If this happens, you can try choosing a different upnode object with the IK chain's Pick Upnode option in the IK Solver Properties rollout (see Spline IK Solver Rollouts), or use a different IK method for your hierarchy.

Applying a Spline IK Solver

The Spline IK solver can be applied at the time bones are created, or after the bone structure has already been made.

To apply a spline IK solver when bones are created:

  1. Go to the Create panel, click (Systems), then click Bones.
  2. On the IK Chain Assignment rollout, set IK Solver to SplineIKSolver, and turn on both checkboxes: Assign To Children and Assign To Root.

    By default, Assign To Root is on automatically when you turn on Assign To Children.

  3. Draw the bone structure as usual. When you right-click to end the bone creation process, the Spline IK Solver dialog appears. Set parameters and click OK.

    This procedure automatically draws the spline based on your dialog selections and sets up the Spline IK system to work with the spline. 3ds Max automatically assigns a Path constraint to the root bone to constrain it to the helper/vertex at that end of the spline.

To apply a Spline IK solver to an existing bone structure:

  1. Create a bone structure without an IK chain.
  2. Draw a spline or NURBS curve to be used by the bones. The curve can have any length and shape, and does not have to match the length or shape of the bone structure.
  3. Select the bone or object where you want to the solver to start.
  4. Choose Animation menu IK Solvers Spline IK Solver. In the viewport, move the cursor to the bone or object where you want the chain to end and click that bone. Then move the cursor to the spline and click it.

    The bone structure jumps to the spline and takes its shape, and a helper is created on the spline at each vertex. A Path constraint is automatically assigned to the root bone to constrain it to the helper/vertex at that end of the spline.

To specify a spline after the spline IK solver is applied:

    You can also apply a Spline IK solver to an existing bone structure without selecting a spline, then choose the spline later.

  1. Create a bone structure without an IK chain.
  2. Select the bone or object where you want to the solver to start.
  3. Choose Animation menu IK Solvers Spline IK Solver. In the viewport, move the cursor to the bone or object where you want the chain to end and click that bone. Then right-click in the viewport to end the IK solver creation without choosing a spline.
  4. Create a spline or NURBS curve to be used with the Spline IK system. It is recommended that you apply the Spline IK Control modifier to it and then click Create Helpers to place helpers at each vertex, making the spline easier to control.
  5. Select the IK chain cross hairs and go to the Motion panel. On the Spline IK Solver rollout, click Pick Shape and click the spline.

    With this method, the position constraint is not automatically assigned to the root bone, so it must be assigned manually.

  6. Select the root bone. Choose Animation menu Constraints Path Constraint, and then click the spline.

    This moves the bone structure to the spline, if they're apart, and creates a Position List controller for the bone with the Path Constraint as the second (active) constraint.

    Note: This also animates the bones along the path. If you don't want this, delete the second animation key.

Working with the Spline IK Solver

To use the Spline IK Solver, move the helpers to shape the spline. Do not move the spline. The shape of the spline is determined by the positions of the vertices, so moving the spline itself has no effect on the bone structure. If the spline is moved, it will snap back to the helpers the next time a helper is moved. However, it is recommended that you not move the spline at all.

Once you have finished setting up the spline IK solver, it can be helpful to freeze the spline to avoid accidentally moving it.

Moving helpers changes the shape of the spline. To twist the spline, select the spline IK chain object and go to the Motion panel to change twist angles in the IK Solver Properties rollout.