Friday, January 15, 2010

2.49 Armature Animation

Join my Blender 3D forum where you can network with other Blender friends and get your Blender 3D questions answered.

Download the blend file

The purpose of this video is to show how armature animation works in Blender 2.49b. Understanding how to move the bones in an armature is the key to being able to rig a character. We'll first create a basic skeleton-like armature. Then, I will show the difference between FK (Forward Kinematics) and IK (Inverse Kinematics). I like IK in particular because my initials are IK. It's also something we both have in common with the exquisitely unreadable German philosopher, Immanuel Kant.

Leaving the Categorical Imperative aside, we will create a simple hand wave cycle and introduce the Action Editor and the Non Linear Action Editor (NLA Editor), to give you an idea of how actions are defined and how they can be layered together to produce complex movement. We're concentrating on the armature only, how the skeleton moves, so to speak, not the object to be rigged. Once you have an armature, say, of a human, moving correctly, you can then rig it to a human-like object. This is the theory behind the ManCandy rig. I will discuss skinning, the process of associating an armature with a character, either 2 or 4 footed, or I guess any-other-number-of-footed creature, in another tutorial.


1) Delete the default cube. We're going to create a primitive skeleton. Go to Animation view by selecting it from the View dropdown. Go to Front View (Num1). Add an armature (Space - Add - Armature). Scale the bone up 4 times (S - 4 - Enter). Look at the Outliner. Expand the Armature outline. Note that the Armature has one bone, called Bone.

Tab into Edit mode. A bone is a child object to the armature. A bone has three parts, the tip, the root, and the body. A bone can be selected in one of two ways. One way is to select the bone's body, which will also select the bone's tip and root. The other way is to right click on the body and shift right click on the root, which selects the body, which is between the tip and the root. Press W for the Specials menu. Select Subdivide Multi, with 4 cuts. So now we have 5 bones, which can function as a primitive spinal cord. Expanding the Armature display in the outliner shows that the bones are named Bone.001, Bone.002, Bone.003, and Bone.004, parented to Bone. You can also see the names in the 3D view by going to the Edit buttons (F9)and pressing the Names button. Press the Names button again to turn the names off.

2) Turn on X-Axis Mirror. This is a handy tool which lets you create mirrored bones on the X axis. When the bones are symmetrical, using X axis mirror means that you only need to create bones on one side. Mirrored bones are created on the other side. Normally, to simply add a bone, you press the E key, which extrudes the bone. However, with X-axis mirror turned on, you can add mirrored bones by pressing Shift-E. If X-Axis Mirror is turned off, Shift-E acts like the E key, just extruding one bone. we'll also mirror extrude 2 legs with Shift-E.

Here's how it works. We're going to create two primitive arm bones, on the left and the right, at the same time. With the tip of the 4th bone of the "spine" selected, press Shift-E. This creates two bones, on the left and the right, which can be scaled. Press Enter when the bones are at the desired size. Select the tip of the newly created bone on the right and press Shift-E again. This creates two more mirrored bones.

We can create mirrored legs. Select the root of the lowest bone of the armature. Press Shift-E to create two "legs". Then select the tip of the bone on the lower right. Press Shift-E to create two more bones, for the feet. I hope you get the idea. I'll leave it to you to create fingers and hands, but for now, we have the basic skeletal bone strucure.

Let's see how bones are named. From the Editing buttons, in the Armature panel, click on Names. Names shows you the names of the bones that were generated. An easy way to see how the bones are named is by using the Outliner. The original bone is called Bone. The spine bones were created with the suffix .001, .002, .003, when the big bone was subdivided. Mirrored bones, the ones created with Shift-E, have an additional _R and _L, depending on whether they are created on the left or the right. Look at the outliner. You can see that each leg is parented off the base bone, Bone. If you look at a detailed armature, such as the Mancandy rig, you'll see that the bones have meaningful names, like Left Arm, Right Pinky, and so on.

The outliner clearly shows parent-child relationships in the armature. This is important when we start posing the armature. Turn off names.

3) OK. Now we have a basic skeleton. Let's see how the bones move, in particular the difference between forward kinematics (FK) and Inverse Kinematics (IK). Blender has a special mode, called Pose Mode, allowing us to move bones so that the armature ends up in the position we want. We're going to create a simple arm wave, what Blender calls an Action. Blender has a special mode, called Pose Mode, for moving armature bones. We're at Frame 1. Select the two bones for the right arm (Right click on the arm, then Shift-Right click on the second bone). Press the I key. Select LocRot.

The curves don't appear in the IPO Curves editor, although they were created. The reason you don't see the curves is that you need to go to the Pose curves. Change the curve type from Object to Pose.

A handy feature in the timeline is the red button that automatically records keyframes as you move bones around. If you don't press it, you would need to remember which bones you moved as you keyframe. This way, Blender keyframes each move as you do it.

Now go to Frame 11 by pressing Up arrow or entering the number 11 in the current frame area. Select the arm bone and press the G key to move it up a bit. Then select the other arm bone and press the G key to move it up in a salute type position.

We've actually created half of the waving action. We'll complete it now. Switch the window from the IPO editor to the Action Editor. Note that there are 2 keyframed bones, Bone.003_L, and Bone.003_L.001. The diamonds indicate the keyframe. To complete the wave, select the two diamonds (they're yellow when selected and white when unselected), at Frame 1. Then press Shift-D to copy. Finally, drag the two diamonds to Frame 21. Drag the vertical green arrow and watch the wave. Press Control-DownArrow to maximize the Action Editor. Rename the action to Wave, from Action. Press Control-DownArrow to return the Action Editor to it's original position.

Let's see the difference between FK and IK. Select the right arm bone. Turn on the AutoIK button. Grab the arm and move it. Note how the whole skeleton, except for the legs, move. This is definitely not how an arm moves. It's actually more appropriate for a leg. IK actually does movement backwards, to the root of the skeleton. You can change how far back the IK calculates by disconnecting a bone. To show this, select the third bone, go into Edit Mode (Tab), and click the CON button, which disconnects this bone. Go back into Pose Mode. Select the arm again, and move it. Note that the movement stops at the disconnected bone. FK does movement forwards.

There's one last window to see, the NLA Editor. This lets us mix different types of actions. Change the window type to NLA Editor. You should see the Wave action. If you press the C key while the Wave action is highlighted, you're prompted to change the action to an NLA Strip. Press Enter. These strips can be combined (wave + walk + hip swivel + talk, and so on). A detailed explanation of the NLA Editor is the subject of a future tutorial.

So that's a brief look into the basics of animating an armature. I hope you enjoyed it. If you did, be sure to hit the Youtube Subscribe button so you won't miss any of my future tutorials. Happy Blendering!