Course notes
syllabus | schedule | topics | assignments | class notes | resources | students | Digital Arts website
More Joint Information
Limbs and appendages
Make sure: Freeze Transformation on your Skeleton
Double check that the orientation of the joints is correct

Skeleton - IK Handle
Use ikRPsolver
Make sure sticky is on

Click the left hip joint, then the left Ankle



Move the root of the body to test - undo after testing

We need to pin foot to the floor so we will make some more IK handles:

IK Handle options - SCsolver
Click ankle then balljoint



IK Handle options - SCsolver
Click the ball joint then the toe



Open the Hierarchy in the Outliner:
Click the SHIFT and click the + on the root

Change name on all IKHandle1 to:
L_ankle_IK

change the effector1 name to:
L_ankle_IKeffector

Change the rest to:
L_ball_IK
L_ball_IKeffector

L_toe_IK
L_toe_IKeffector



Do the other leg and name the joints

Double check that it is right



In the Outliner select the IK handles and Effectors and Freeze Transformation
This orients the IK handles and makes it easier to go back to the default
Making Controllers
To make the foot controller:

In the TOP window:

Make a nurbs circle
Create - Nurbs Primitives - Circle
(if you turn off Interactive Creation, it will make it instantly for you)

Use the Select by Component Type and select the CVs and scale and move them to make a big foot shape

(don't forget to go back to select by Object Type)



Name it: L_foot_CTL
Position it under the left foot area

Put pivot point of the foot CTL where the Ankle joint is
(INSERT and snap to Point and move to the Ankle joint)

(don't forget to turn off the Snap to Point Tool)



Freeze transformation
Delete history

Make the IK handle larger so we can grab it:
Display - Animation - IK Handle Size...

Select the Ankle IK Handle (select it in the Outliner or the green lines under by the ankle)



Group it on itself so that we can change its pivot point

Then rename it with GP in the name at end



Then change the pivot point (INSERT) of the Ankle IK Group and move it to the Ball Joint (snap to Point)


Making the Right Foot Controller:
Duplicate the foot control and put it on the other side
Edit - Duplicate
Place it under the other foot
Name it - R_foot_CTL

Put the pivot point of the right foot CTL where the ankle joint is (use snap to point)
Turn off snap to point and the INSERT

Freeze Transformation

********************
Select the right Ankle IK Handle (R_ankle_IK)
Group it on itself so that we can change its pivot point

Name it: R_ankle_IKGP



Then rename it with GP in the name at end (R_ankle_IKGP)

Then change the pivot point of the right Ankle IK Group and move it to the Ball Joint (snap to Point)


Adding an Attribute to the Foot Controllers:
Select the Left Foot Controller (L_foot_CTL) and Modify - Add Attribute
Attribute name: Ball_Bend
Minimum: 0
Max: 45
Default: 0
ADD
(close the window - it shows up in the channel box)



Do the same for the right Foot Controller

Select the Left Toe IK Handle in the Outliner and Group to itself
Name the new Group - L_toe_IK_GP
Change the pivot point of this new group to the Ball joint



Do the same for the right Foot Controller

Adding another Attribute to the Left Foot Controller:

Select the Left Foot Controller and in the channel box, Right click and select Add ATTRIBUTE
Attribute Name: Toe_Bend
min (up and down): -45
Max: 45
default: 0
Add
(close window)

In Channel box:
Select the Scale and Visibility on Foot controller
Right click - Hide Selected

Repeat the above process for the Right foot controller
Connecting up the Left Foot Controller:
In Outliner
Middle mouse drag the L_ankle_IK_GP and L_toe_IK_GP into the Left Foot Controller (L_foot_CTL)
(this makes the Foot controller the parent)

L_ball_IK got left out so you need to add it to the hierarchy
(Middle mouse drag it under the foot controller)



Do the same for your right foot controller

READ: Maya Help Menu information on Single and Rotate Plane IK - [Maya Single and Rotate Chain Solvers]
Making the new Attributes control the movement of the foot
Animate menu - Set Driven Key - Set...

Foot control will be the driver:
In Outliner, select the L_foot_CTL
Load Driver

In Outliner, select the group node of L_Ankle_IK_GR
Load to Driven

In the top window in the Set Driven Key window: Click Ball_Bend
Bottom window (Driven) select Rotate X (this should be the attribute that will bend the foot up and down)



You will need to click the L_foot_CTL in window of the Set Driven window to see attributes in the Channel box

Setting the first Key:
After clicking the name of the Driver in the Set Driven Key window, In Channel Box: set Ball_Bend attribute to 0

Click the name of the Driven in the Set Driven Key window then
In Channel Box type 0 in Rotate X
Back in Set Driven Key window - press KEY

Setting the second key:
Click the name of the Driver in the Set Driven Key window then
and in Channel Box Ball_Bend type 45

Click the Driven name in the Set Driven Key window and then click word Rotate X in the Channel Box then middle mouse button (MMB) in the window to make the IK go down
Key



Test it:
In Set Driven Key window select Driver and then in Channel Box select the name Ball_Bend and MMB in window to test it (just bending the ball joint)

Close the window

Set the R_foot_CTL up just like you did the Left Ball_Bend controller


Setting the up the toe:
Pick L_foot_CTL as the Driver
Select the Toe_Bend

Click the L_toe_IK_GP in the Outliner and Load Driven
Click rotate X

Select the Driver
Make sure Toe_Bend is 0
Key

Setting the Maximum value:
Select Driver
In Channel Box, set Toe_Bend to 45

Select Driven
In Channel Box: rotate it down to the max you want it to bend
Key


Test by selecting the Driver:
Select the Toe_Bend in the Channel Box then MMB drag

Setting the Maximum value:
Select Driver
In Channel Box, set Toe_Bend to -45

Select Driven
In Channel Box: rotate it up to the max you want it to bend
Key


Test by selecting the Driver:
Select the Toe_Bend in the Channel Box then MMB drag

Do the same thing for the Right Toe_Bend
Pole Vector

In the top window - make a nurbs curve - Create menu - Nurbs Primitive - Circle
In Channel Box INPUTS add more Sections - 16
Use the Select by Components to shape it like an arrow facing forward



Snap to point (v key) and move it to the knee joint then move it out so its in front of the knee


Name the arrow: L_foot_poleVector

Freeze transformation
Delete history

Hide all attributes except the Translate XYZ

Duplicate the Arrow and move to the Right knee (snap) then move it out in front
Name it: R_foot_poleVector



Select the arrow for the Left leg (L_foot_poleVector)
Ctrl select L_ankle_IK handle then (not the group)
Constrain menu - Pole Vector


The L_foot_poleVector should be a child of the L_foot_CTL so...
In the Outliner:
MMB drag the L_foot_poleVector to the L_foot_CTL

Fix up the Right foot Pole Vector (do the same thing for the right foot arrow)

Other controller shapes:
CUBE
Copy and paste this code into the Script window and select Command menu - Execute

curve -d 1 -p 9.26493 1.180816 1.180816 -p 9.26493 1.180816 -1.180816 -p 6.903298 1.180816 -1.180816 -p 6.903298 1.180816 1.180816 -p 9.26493 1.180816 1.180816 -p 9.26493 -1.180816 1.180816 -p 6.903298 -1.180816 1.180816 -p 6.903298 1.180816 1.180816 -p 6.903298 1.180816 -1.180816 -p 6.903298 -1.180816 -1.180816 -p 6.903298 -1.180816 1.180816 -p 9.26493 -1.180816 1.180816 -p 9.26493 -1.180816 -1.180816 -p 6.903298 -1.180816 -1.180816 -p 6.903298 1.180816 -1.180816 -p 9.26493 1.180816 -1.180816 -p 9.26493 -1.180816 -1.180816 -k 0 -k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k