16.3. The Armature Object

Relevant to Blender v2.31

The armature Object is the key Object of character animation. It is an object comprising several interconnected or not interconnected "bones". A series of interconnected bones is an "Inverse Kinematics (IK) Chain" or simply "Chain" of bones. An IK Chain is something more complex than a standard Parent relation inasmuch not only the movements of the "Parent" bone are transmitted to the children, but also the movements of the last child of the chain can transmit up in the chain to the parent bone if an Inverse Kinematics solution is asked for. Bones can be moved as if they were a set of rigid, undeformable Object with perfect joints. Consider an armature to be like a skeleton for a living creature. The arms, legs, spine and head are all part of the same skeleton object.

Figure 16-3. Adding an Armature

To create a new armature, select SPACE>>Add>>Armature from the Toolbox (Figure 16-3). A new bone will appear with its root at the location of the 3D cursor. As you move the mouse, the bone will resize accordingly. LMB will finalize the bone and start a new one that is the child of the previous one. In this way you can make a complete chain. Pressing ESC will cancel the addition of the bone.

You can add another bone to an armature while it is in Edit Mode with SPACE>>Add>>Armature from the toolbox again. This will start the bone-adding mode again, and the new bones you create will be a part of the current armature but will form a separate chain.

You can also extrude bones from existing bones by selecting a bone joint and pressing EKEY. The newly created bone will be a child of the bone it is extruded from, but not of its IK chain.

While in Edit Mode, you can perform the following operations to the bones in an armature.

It is also possible to join two Armatures together into a single Object. To do this, ensure you are in Object Mode, select both armatures and press CTRL-J.

16.3.1. Naming Bones

Assigning meaningful names to the bones in your armatures is important for several reasons. First it will make your life easier when editing Actions in the Action Window. Second, the bone names are used to associate Action channels with bones when you are attempting to re-use Actions, and third, the names are used when taking advantage of the automatic pose-flipping feature.

Note that bone names need only be unique within a given armature. You can have several bones called "Head" so long as they are all in different armatures.

To change the names of one or more bones, select the bones in Edit Mode and switch to the Editing Context Buttons with F9. A list of all the selected bones should appear in the Armature Bones Panel (Figure 16-4). Change a bone's name by SHIFT-LMB in the bone's name box and typing a new name.

Figure 16-4. EditButtons for an Armature

It is easier to name the bones by either only editing one bone at a time, or by making sure the DrawNames option is enabled in the EditButtons F9 (Figure 16-5.

TipPose Flipping Conventions
 

Character armatures are typically axially symmetrical. This means that many elements are found in pairs, one on the left and one on the right. If you name them correctly, Blender can flip a given pose around the axis of symmetry, making animation of walk-cycles much easier.

For every bone that is paired, suffix the names for the left and right with either ".L" and ".R" or ".Left" and ".Right". Bones that lie along the axis of symmetry or that have no twin need no suffix. Note that the part of the name preceding the suffix should be identical for both sides. So if there are two hands, they should be named "Hand.R" and "Hand.L".

16.3.2. Parenting and IK chain

To change parenting relationships within the armature, select the bone that should be the child and switch to the Armature Bones Panel of the Edit Buttons Window. Next to the bone there should be a menu button labelled Child Of. To make the bone become the child of another bone, pick the appropriate parent from the list. Note that this is much easier if the bones have been correctly named. To dissolve a parenting relationship, choose the blank entry in the list.

Note that the parenting menu only contains the names of valid parents. Bones that cannot be parents (such as children of the current bone) will not be displayed.

The IK toggle next to each bone with a parent is used to determine if the IK solver should propagate its effects across this joint. If the IK button is active, the parent's end point will be moved to match its child's start point. This is to satisfy the requirement that there are no gaps in an IK chain. Deactivating the IK button will not restore the child's start point to its previous location, but moving the point will no longer affect the parent's end point.

Note

There can be only one IK relation between a Bone and it's child so only one of the IK Tog Buttons of the children of a given bone can be set at a time.

TipSetting Local Axes
 

To get the best results while animating, it is necessary to ensure that the local axes of each bone are consistent throughout the armature. This should be done before any animation takes place.

It is also necessary that when the armature object is in its untransformed orientation in object Mode, the front of the armature is visible in the front view, the left side is visible in the left view and so on. You can ensure this by orienting the armature so that the appropriate views are aligned and pressing CTRL-A to apply size and rotation. Again, this should be done before any animation takes place.

The orientation of the bones' roll handles is important to getting good results from the animation system. You can adjust the roll angle of a bone by selecting it and pressing NKEY. The exact number that must be entered here depends on the orientation of the bone.

The z-axis of each bone should point in a consistent direction for paired bones. A good solution is to have the z-axes point upwards (or forwards, when the bone is vertically oriented). This task is much easier if the "Draw Axes" option is enabled in the Armature Panel in the Edit Buttons Window.

16.3.3. The Armature Panel

Figure 16-5. Draw options for Armatures

This panel just contains a few toggle buttons. When the Rest Pos toggle is activated (Figure 16-5), the armature will be displayed in its rest position. This is useful if it becomes necessary to edit the mesh associated with an armature after some posing or animation has been done. Note that the Actions and poses are still there, but they are temporarily disabled while this button is pressed.

Draw Axes and Draw Names toggle buttons allow the local axes of each bone and its name to be displayed in the 3D Viewport.

The X-Ray toggle prevents the armature bones from being hidden by your model when in solid/shaded mode.