Difficulty: Intermediate


In Blender, an armature is an object used to deform the geometry of a 3D model in controlled sections without directly modifying its geometry. Posing is the action of modifying the rotation or location of the parts of an armature.

An armature is formed from a hierarchy of connected bones. A bone is a straight segment with a spherical joint at each end.

Each joint has a separate role:

A chain of bones is composed of alternating head and tail connections. This order results in a sequence of parent and child connections:

Forward and Inverse Kinematics

Blender can use two methods to calculate the spatial orientations of bones:

Forward Kinematics is impractical for posing complex armatures since it requires you to adjust each individual bone separately. Fortunately, Blender provides a set of bone constraints. A constraint is a property applied to an object to control its movement in relation to other objects. The Inverse Kinematics (IK) constraint reverses the order of Forward Kinematics and enables you to move the tail of one bone while its parent bones are automatically oriented.

IK Constraint : Target and Pole

An IK constraint is made up of two objects which control the tail and the head of a bone:

Add an IK constraint to an armature

In this example, an IK constraint is added to the armature shown below:

1. Create the target object

  1. Enter Edit Mode.
  2. Select the tail of ik_bone. Extrude a new bone perpendicular to ik_bone.
  3. Under Properties > Bone, rename the new bone to target.
  4. Select target. Under Properties > Bone > Relations, uncheck Connected.
  5. Set the parent of target to head.

2. Create the pole object

  1. In Edit Mode, create a new bone pole from the head of ik_bone.
  2. Select pole. Under Properties > Bone > Relations, uncheck Connected.
  3. Clear the parent of pole.
  4. Move pole upwards perpendicular to ik_bone so that its head is not overlapping ik_bone's head.

3. Apply an IK constraint to the armature

  1. In Pose Mode, select ik_bone.
  2. Under Properties > Bone Constraints, select Inverse Kinematics from the drop-down menu.
  3. Set Target to Armature and Bone to target.
  4. Set Pole Target to Armature and Bone to pole.
  5. Set Chain Length to 4.


When you move target, it will control the tail of ik_bone while its parent bones are automatically positioned. When you move pole, it will rotate the head of ik_bone.