Creating a Foot Roll for Character Skeletons in Maya

By Brian J. Immel

 

This tutorial walks you through the steps to create a rig that will allow for foot rolls which includes heel bend to toe bend.

 

FK and IK Setup

1. Create a skeleton similar to Figure 1 using the joint tool. joint tool

2. Rename joints to according to Figure 2. The names should be (from top to last joint) hip joint, knee joint, ankle joint, heel joint, ball joint and toe joint.

3. Before we start creating the IKs, make sure the tool option is set for 'sticky' and the solver type is set to ikRpSolver. To do this, either double-click on the tool icon in the menu tab or go Skeleton > IK Handle Tool > Option box.

4. Make an IK connecting the hip joint to ankle joint using the IK tool. ik tool Rename this IK handle to ankle IK in the channel box.

5. Make an IK connecting the ankle joint to ball joint. Rename this IK handle to ball IK.

6. Make an IK connecting the toe joint to ball joint. Rename this IK handle to toe IK. All your IK handles should look like Figure 3.

7. Select the ankle IK and group (ctrl-g) by it self. Snap the pivot of this group by hitting the insert key, hold down the v key and move the pivot to the ball joint. Rename this group to ankle pivot. Your pivot should be located according to Figure 4. The reason we group things by themselves, or with others, is to have the ability to relocate our pivot point. Having another pivot on our joints or IKs gives us another animation possibility. That, and you cannot relocate the pivot point of an IK.

8. Select the toe IK and group it by it self. Snap the pivot to the ball joint. Rename this group to the toe pivot.

Top

 

Grouping

1. Open up the hypergraph to see the current hierarchy.

2. Select the ball IK, shift-select the ankle pivot and the toe pivot in the hypergraph. Group these three items together and rename to heel pivot. Snap the pivot to the heel joint. Group this selection again. Snap this pivot to the toe joint and rename this group to toe group. Group this selection one last time. Snap pivot to the ball and rename this group to left foot group (since this is the left foot). Your hierarchy should look like Figure 6.

3. Create a layer and put the skeleton and IK in it. Turn off this layer so we won't accidentally select or snap to any of its points during the next few steps.

4. Next we are going to make an arrow to handle the leg IK and the entire leg animation. Create a circle (Create NURBS > Circle > option box). Make the degrees linear and hit create.

Top

Foot Controller

1. Using snap to grid option (holding down x), move the circle's edit points to form an arrow in the top view. You arrow should look similar to Figure 7. Name the arrow to Left Foot Control.

2. Turn back on the layer for the skeleton and IK. Snap the arrow's pivot to the ball joint. You may have to rescale the arrow to better fit your foot.

3. Freeze transformations and delete the history. Select the left foot group from the hypergraph and then parent it to the arrow. Now the arrow should handle the movement of the entire left leg.

4. Select all the IK handles and turn off visibility.

5. Optional: While the IK handles are still selected, open the Channel Control window (Window > General Editors > Channel Control). Move all the translate, rotate, scale, visibility attributes (Figure 8) to the Non Keyable side of the window. We don't want to accidentally key one of these attributes.

6. Select the Left Foot Control and open the Channel Control window. Move the scale and visibility attributes to Non Keyable. There's no need to animate these attributes.

7. Next we need to create an attribute to handle the roll of the foot. Go to Modify > Add Attribute....

8. Name the attribute Roll. Give it a minimum of -5, maximum of 10 and a default of 0 and hit ok. You values should look like Figure 9.

9. Open up the Set Driven Key window (under Animation menu, Animate > Set Driven Key > Set > option box).

10. Select the Left Foot Control and load that as the driver. Select the roll attribute . It is very important to make this the driver. Make sure the value for roll is currently set to 0.

11. In the hypergraph, select the toe group, heel pivot and the ankle pivot. In the Set Driven Key window, load this selection as the driven. We want the roll attribute to drive these attributes.

24. In the perspective window, rotate the X axis to make sure all the attributes are rotating on the same axis. Reset the values to zero (or just undo the last command).

Top

 

Set Driven Keys

1. Once we made sure that the group and pivot rotations are correct, in the Set Driven Key window, select the rotate X axis of the toe group, heel pivot and ankle pivot and select the roll attribute and hit the key button. Your Set Driven Key window should look like Figure 10 at this point.

2. Select the Left Foot Control and change the roll attribute value to -5.

3. Select the heel pivot and rotate X to something around -30 and hit the key button. We should be able to change the roll value to a negative number and the heel will rotate (Figure 11). We have now set up the ability to rotate the foot backwards on it's heel.

4. Change the roll attribute to 5.

5. Select the ankle pivot and change the rotate X to something around 20. Hit the key button to assign this value to the roll attribute. At this point of the foot roll, the foot is lifting but the toes haven't left the ground yet in similar position to Figure 12.

6. Change the roll attribute to 10.

7. Select the toe group and ankle pivot and rotate X to 35 or so (Figure 13). Hit the key button. This sets the foot up on it's tip toe. You may notice that the toe group lifts sooner than it should. Take the roll value back to 5 and check to see if you toe group has a value (like 17.5). If it does, change it to 0 and key it. The whole reason we use Set Driven keys is to get away from having to select many joints and key each one individually to make a simple foot pick up and down.

Top

 

Knee Vector

1. You may have issues where the knee doesn't stay in alignment with the direction of the foot. Create a curve that is shaped like a pointed triangle similar to Figure 14 and rename it left knee direction. It would be a good idea to use the side view to create the triangle in.

2. Center the triangle's pivot and snap the triangle to the knee joint. Pull it forward so it's position in front of the knee (Figure 15).

3. Using the outliner, select the triangle then the ankle IK (Figure 16). Go to Animation, Constrain > Pole Vector. Unlike parenting, using constrains is like a master-slave relationship. You pick the master first then the slave(s). Parenting, you pick the child(ren) first and then the parent last. Parent the triangle to the Left Foot Control.

4. Optional: You can also limit your foot rotates to prevent any odd keying issues using the Attribute Editor > Limit Information > Rotate (Figure 17).

You're ready to animate a nice bouncy walk cycle (Figure 18).

Happy rigging!

Top