Leg rigs are very similiar to arm rigs, and in some cases, they are identical. Legs and arms are both limbs, and they both interact with the world around the character, but legs spend a lot more time doing this. As a result, legs are animated using IK almost all of the time. If you have a character--let's say a dancer, and she's going to have lots of arm movements but little interaction with the environment, then FK is the way to go. But if your character is going to walk down a staircase with her hand on the railing, or climb a rock wall, or lift heavy objects, then you want to use IK instead.
Another factor is that legs have feet (usually), and arms have hands (usually). These are also rather similiar to each other, but still different enough that they can change the way the rig of the leg or arm must be designed.
We're going to look at two rigs in this section. Hopefully building these will teach you enough that you can modify them--or create completely different rigs--to suit your characters' needs.
The Funky Chicken
This is the rig you want to use for characters that have bird-like legs and feet. Examples might be a dinosaur, an ostrich, a kangaroo, or a giant mech sporting the reverse-joint leg design. In the real world (the world outside of a computer), legs like this are an evolutionary change where the foot is elongated and the animal walks on its toes. In the CG world, we have to treat the ankle as being no different than a knee: it's part of the leg. This means that--for us--the "foot" is where the limb touches the ground.
Let's Build It
Start by drawing the three bones of the leg. Draw these to fit your model.
Snap the cursor to the root bone's root point, then add a new bone. Select the tip and root of the chain--as shown--and then snap the cursor to the selection. Then snap the tip of the new bone to the cursor--as shown.
Now is a good time to do some naming. The new bone can be called "legUV". UV is our abbreviation for the term "Up Vector", which means up direction. This bone is a rig element, so turn Deform off. Name the other bones "upperleg", "lowerleg", and "foot" (remember, this bone is part of the leg rig, we just call it 'foot' because real birds have foot bones here).
Duplicate legUV, snap the cursor to the selection, box-deselect the root point only, and then snap the selection to the cursor. If you do this right, you should have a new bone called legUV.001 that is half as long as the legUV bone you just created. Name this new bone "leg".
- This is very badly described, no where do you describe what legUV does in the rig.*
Snap the cursor to the tip of the chain and add a new bone. This is going to be our IK effector, so name it "legIK".
To show you where these bones fit in the hierarchy of the entire character, I've also added hip, body, and COG bones. Remember, the location of these bones depends on the design of your character. Make your hierarchy like this:
(how is this hierarchy set up?) And of course we need constraints to make it do stuff! IK constrain leg to legIK, and set ChainLen to 1. Also IK constrain foot to legIK, but set ChainLen to 2. (There isn't a sinlge tutorial that demonstrates the use of IK SOLVER. Could you explain this step further?)
Locking Things Up
Final steps: Lock the appropriate axes of the bones, and organize your layers.
When animating with this rig, you have three primary inputs:
- Foot placement with legIK.
- Knee direction control with legUV.
- Knee flexion and extension by rotating upperleg.
The Not-So-Funky Non-Chicken
'page under construction'
Now we'll look at a rig for human legs.
Draw the bones of the leg as shown, and name them "upperleg rig", "lowerleg rig", "foot", and "toes".
The concept behind this rig is that we can use a simple leg rig that is easy to control and animate, to control a second set of leg bones which does the mesh deforming.
Remember your hierarchy should be like this:
- upperleg rig
- upperleg rig
- IK constrain leg to legIK and set ChainLen: to 1.
- IK constrain lowerleg to legIK, and set ChainLen: to 2.
- IK constrain foot to toe rig and set ChainLen: to 1.
- IK constrain toe to toeIK and set ChainLen: to 1.
It says to draw new bones, as shown? The names don't match any of the names in the pictures?
Now add a new bone about 0.4 units above the leg root point, and draw some new bones as shown. These will be "leg null", "upperleg", and "lowerleg". Set upperleg's Segm value to about 10 (you can use however many segments you like). Also set its blend-in and blend-out values to 0. Note that lowerleg is half as long as lowerleg rig. This is because these bones are overlapping and we don't want to make them the same length if they don't need to be.
Now is a good time to switch to b-bone mode and use AltS to resize the b-bones so you can work with them more easily. You don't want overlapping bones to have the same draw size.
IK constrain upperleg to lowerleg rig. Track To constrain lowerleg to foot. Then give lowerleg a Locked Track constraint, use Z for the To: option, use Y for the Lock: option, and use legUV as the target.
--Wavez 13:55, 18 July 2006 (CEST)