Use the advanced Spline IK twist controls

 
 
 

Example scenario

A snake character with Spline IK slithers across the forest floor. The snake is manipulated by translating and rotating the NURBS curve. The NURBS curve is driven by control objects (in this example, they are locators) at the beginning (head) and end (tail) of the curve.

  1. Select the snake character’s Spline IK handle.

    The Spline IK handle starts at the first joint and ends at the last joint of the snake’s skeleton, and its NURBS curve runs through all the joints and bones.

  2. In the Attribute Editor, select the ikHandle node.
  3. In the IK Solver Attributes, click the Add Advanced Twist Control button.

    The advanced Spline IK twist control attributes appear.

  4. Set the World Up Type to Object Rotation Up (Start/End) and the Up Axis to Positive Y.

    This constrains the start and end joint Up vectors of the snakes joints to the Y axes of the locators used to drive the NURBS curve.

    Note

    The Up Axis attribute specifies what local joint axis is aligned with the Up Object vectors specified in the Up Vector fields.

  5. Type the name of the head locator in the World Up Object field and the tail locator in the World Up Object 2 field.

    The positive Y orientation of the locators is used to calculate the Up vectors of the joints in the Snake’s skeleton.

    Note

    You can specify a specific vector offset for the joints with the Up Vector and Up Vector 2 fields.

  6. Select and move the head locator.

    This moves all the joints and bones in the snake’s skeleton. Notice that the joints and bones also now respect the orientation of the manipulation objects.