How to Create Non-Stretching Spline IK in Blender

Creating a non-stretching spline IK system in Blender allows you to animate flexible assets like tentacles, ropes, and spines without distorting the original length or volume of your bones. By default, Blender stretches the bone chain along the entire length of the target curve. This guide provides a direct, step-by-step method to configure your armature and curve settings so that the bone chain moves naturally along the path while maintaining a strictly fixed length.

Step 1: Set Up the Armature and Curve

  1. In Object Mode, create a bone chain in your Armature where all bones are connected and point in the same direction (typically along the local Y-axis).
  2. Add a Bezier Curve or Path object (Shift + A > Curve > Bézier) that matches the initial length and shape of your bone chain.
  3. Align the origin point of the curve with the root bone of your armature chain.

Step 2: Apply the Spline IK Constraint

  1. Select the armature and switch to Pose Mode.
  2. Select the last bone (the tip) of your chain.
  3. Open the Bone Constraint Properties tab in the Properties editor.
  4. Add a Spline IK constraint.
  5. In the Target field, select your curve object.
  6. Set the Chain Length to the exact number of bones in your chain that should follow the curve.

Step 3: Disable Bone Stretching

By default, the bones will stretch or compress to span from the start to the end of the curve. To lock their original lengths:

  1. In the Spline IK constraint panel on your tip bone, locate the Y Stretch option.
  2. Uncheck "Y Stretch". Disabling this prevents the bones from scaling along their length when the curve changes size.
  3. Ensure the Chain Length matches the number of bones you want influenced. When the curve becomes longer than the total bone length, the bones will stop at their maximum natural length instead of stretching to reach the end of the curve.

Step 4: Configure the Curve for Control

  1. Select the curve object and enter Edit Mode.
  2. Select each control point and assign it to a hook modifier (Ctrl + H > Hook to New Object or Hook to Selected Bone).
  3. Switch back to Object Mode or Pose Mode and transform your control objects. The bone chain will follow the shape of the curve smoothly while retaining its fixed proportions.