Blender Tutorial: A Man, Using Inverse Kinematics

IKman doing pushups. Press stop to make him stop.

The IK Skeleton

Step 1

Get an operating system that can run Blender, download it and install. Then start it up with an empty file.

Step 2

Set an appropriate viewpoint. (e.g sideview, numpad 1)

Step 3

Start by creating the IK actuator for the leg, the 'Ika'. Choose Add->Ika. Bend it a little, that will make it easier figuring out what is back and front later.

Step 4

Shift to the front view by pressing numpad-7. Make sure the whole Ika activator is visible in the 3d window, otherwise you might get strange antropometric proportions of the figure. It is adjustable later ofcourse, but that takes some effort...

Step 5

Make a copy of the leg Ika by selecting it and pressing Alt-D or Shift-D. Press tab key to disable it's IK function and move it to the left a distance that would look like a hipwidth.

Step 6

Place the 3d-cursor (the red-white-black crosshair thing) halfway between the first nodes of the left and right Ika legs. This will be the starting point of the spine.

Step 7

Shift back to side view and make sure the 3d cursor is placed where you want the starting point of the spine.

Step 8

Add another Ika, which should extend up to about shoulder height. Two joints is enough as you will see later. This is the spine of ikman's skeleton.

Step 9

Move the 3d cursor up to the end of the spine (the Ika created in previous step). shift to front view and place it at where you want the first arm joint (shoulder).

Step 10

Shift back to side view and add Ika for the arm. Again make it bent a little in the way that seems natural for an arm. See picture.

Step 11

Shift to front view and copy the arm, as you did with the leg. You might want to adjust the Ika's to obtain proper shoulder width.

Step 12

In front view place the 3d cursor right between the shoulders, or slightly above. This will be the head joint.

Step 13

Now shall add the head. With the 3d cursor still between the shoulders, add a sphere mesh (Add->Mesh->UVSphere, for example). With all nodes selected (marked yellow) select grab ('g') and move the head up to where it is supposed to be. This way we will have it's rotational centre in the right place.

Step 14

The skeleton is finished, but for convenience let's add a handle to move it around. Place the cursor on the spine, in about waist height. Shift to side view and place it behind the skeleton, so it will be outside the body of ikman.

Step 15

Shift to front view and add a non-surface mesh (like a circle). This way it won't show up when we render an image.

Now all limbs of the body are created. Next step is to link the objects to eachother.

Step 16

Select a leg and the spine. The latter should be a brighter colour, indicating that though both are selected, the spine is the active object.

Step 17

Press control-P and confirm that you want to make a parent-child relationship. We want to attach it to limb zero (0). Now a smaller menu shows saying "Actuator as child". We don't want that, so pull the mousepointer away from the menu, thereby saying 'no' (intuitive, huh? ;).

Step 18

Do the same for the other leg and both arms. The arms should be attached to limb 1 of the spine, therefor, click on the right of the menu saying "limb 0" to tick it up to a '1'. The spine should now be parent to all of them for this to work properly.

Step 19

The mesh added behind the spine should be parent to the spine. Make it so, but remember that actuator shouldn't be child (pull away from the menu).

Step 20

Finally, add th head to the skeleton. Select it, and then shift-select the spine. Make it parent, attached at node 2 (the top node of the spine).

Step 21

Now all limbs are connected. Try moving different parts of the skeleton by selecting them and pressing 'g'. It shouldn't take too long to figure out how to move this skeleton around, and it looks quite funny sometimes. :)

Tip: if you use a mesh instead of distinct limbs, it'll look like baggy clothes as in the picture below.

Tor-Åke Fransson
Last modified: Tue Apr 28 04:58:45 MET DST 1998