0% found this document useful (0 votes)
19 views24 pages

Toetap v3

Uploaded by

BerrytheCat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views24 pages

Toetap v3

Uploaded by

BerrytheCat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Toe Tap Rigging

In this tutorial you will create and rig a simple leg with custom Attributes to allow more
efficient animating. You will then create a copy of the leg, and rig it and create another set of
custom Attributes.

Learning Outcome
The objective of this tutorial is to introduce you to the following :

1. Create a Joint Chain to Rig a leg.


2. Create IK handles for the Joint Chain.
3. Create a Control Object.
4. Organise the IK handles into Groups.
5. Parent the IK handles Groups to the Control Object.
6. Adjust the IK handles Group local axis.
7. Create custom Attributes for the Control Object.
8. Connect the custom Attributes to the IK handle Groups.
9. Mirror the Joint Chain to create a second leg.
10. Rigging the second leg.

Open the Joint Tool options.


Animation > Skeleton > Joint Tool > Options

Reset the settings by clicking the Reset Tool button.

Close the Joint Tool settings by clicking Ctrl + A.

1
Maximise the Side viewport (SPACE BAR in Front viewport). Turn on “snap to grid”. Click and
create joints for the Hip (joint1), Knee (joint2), Ankle Knee (joint3), Toe (joint4) and Toetip
(joint5), by aligning them to the grid.

Press Enter to finish drawing the Joint Chain.

Turn on “snap to point”. Then, select joint 1 and shift it into position by translating it along
the z-axis.

Make sure the final position is aligned to the centre of the topmost sphere (which represents
a ball joint). Refer to diagram below:

2
Next, shift the rest of the joints into their respective positions, using the local axis
(Mac=Home : PC=Insert). Then, translate them along the z-axis until the joints are in place,
as shown below:

3
Open the Outliner and name the Joints as listed below. Follow this naming convention :
joint_side_character (eg. knee_l_robot01)

Note : Do not use any spaces or capital letters in the names.

Check the position of the Joints in the Perspective viewport.

After you have adjusted the Joints the local axis are no longer aligned to the Joint Chain.
When you are confident the Joints are in position, select the Hip Joint (hip_l_robot01) and re-
align the axis to the Joints.
Animation > Skeleton > Orient Joint > Options

4
Reset the Orient Joint Options.
Edit > Reset

In this tutorial, the Joint Chain is created facing along the negative X axis. Therefore, the
local X axis should be aligned along the Joints Chain. The local Y axis should define the “up”
direction and the local Z axis should be the major axis for rotating the Joints.

Under the Orientation setting, the order of axis defines alignment, up, rotation. In this
tutorial you should select XYZ.

Note : If you forget to Orient the Joints, they will rotate around arbitrary axis and make
posing your character during animation a nightmare.

Click Orient.

The next task is to parent all the polygon meshes into the respective joints:

5
Shift + Select the mesh and its respective joint, and press “P”. Repeat this step for the rest of
the polygon meshes and joints.

After that, we shall create the IK Handles for the Rig:

Open the IK Handle Tool options.

Animation > Skeleton > IK Handle Tool > Options

Reset the settings by clicking the Reset Tool button.


From IK Handle Settings, select ikRPsolver as the Current Solver.

Close the Joint Tool settings by clicking Ctrl + A.

Note : Remember to select ikRPsolver..!!

Create 3 IK chains (see diagram below). The first starts at hip_l_robot01 and ends at
ankle_l_robot01.

6
The second starts at ankle_l_robot01 and ends at toe_l_robot01.

7
The third starts at toe_l_robot01 and ends at toetip_l_robot01.

Open the Outliner and name the IK Handles as listed below. Follow this naming convention :
name_side_ik_character

Note : Do not use any spaces or capital letters in the names.

ankle

The pivot point of an IK Handle is always located at the end of the IK chain. By Grouping
each IK Handle you can then adjust the local axis (pivot point) of the Group and therefore
create an IK Chain with pivot points where we need them.

Select each of the IK Handles separately and Group them (Ctrl +G).
Open the Outliner and name the Groups as listed below. Follow this naming convention :
name_side_group

8
Note : Do not use any spaces or capital letters in the names.

Adjust the position of each group’s pivot point using the local axis (Mac=Home : PC=Insert).
You can save a lot of time by pressing the V key to snap the local axis of the Joints.

W key (translate) > Mac=Home : PC=Insert > V key

ankle_l_group

9
toe_l_group

toetap_l_group

10
Note : Remember to toggle the local axis mode off by pressing Mac=Home : PC=Insert
again.

Follow the steps below to create a Hierarchy:


Open the Outliner. Make ankle_l_group a Child object of toe_l_group, by MMB on
ankle_l_group and drag it on top of toe_l_group.

Setting up Heel Roll group:

1. Create an empty group, and named it as “heel_roll_group_l_r”. CTRL + Select


toe_l_group, toetap_l_group and heel_roll_group_l_r. Press P.
This will parent both toe_l_group and toetap_l_group into heel_roll_group_l_r.

2. Turn on “Snap to point”. Adjust the pivot point of heel_roll_group_l_r by pressing


“insert” key and moving it to the right bottom edge of the foot’s mesh as shown:

11
3. Select heel_roll_group_l_r from the outliner and press CTRL + G to create an empty
group. Name the group as heel_roll_group_l_l.

4. Turn on “Snap to point”. Adjust the pivot point of heel_roll_group_l_l by pressing


“insert” key and moving it to the left bottom edge of the foot’s mesh as shown:

Setting up Heel Tap group:

1. Select heel_roll_group_l_l from the outliner and press CTRL + G to create an empty
group. Name the group as heel_tap_group_l.

2. Turn on “Snap to point”. Adjust the pivot point of heel_tap_group_l by pressing


“insert” key and moving it to the back bottom edge of the foot’s mesh as shown:

12
Setting up Heel Twist group:

1. Select heel_tap_group_l from the outliner and press CTRL + G to create an empty
group. Name the group as heel_twist_group_l.

2. Turn on “Snap to point”. Adjust the pivot point of heel_twist_group_l by pressing


“insert” key and moving it to the back bottom edge of the toe as shown:

Setting up Foot Controller:

Create Control Object using a NURBS Circle.

Create > Primitives > NURBS > Circle

13
Then modify the Control Vertices to create a simple foot shape. Move it into place over the
Joints Chain.

Name the NURBS Circle controller_l_foot_robot01.

Delete the History and Freeze the Transformation. This is very important as in the future you’ll be able to
reset your Characters Rig by setting all the Control Objects values to 0 (zero).

14
Note : Don’t forget to do this..!!

In the Outliner. Make heel_twist_group_l a Child object of controller_l_foot_robot01,


by MMB on heel_twist_group_l and drag it on top of controller_l_foot_robot01.

Check the Outliner against the diagram below.

Summary : You created a Joint Chain, adjusted it and re-oriented the local axis. You then
added 3 IK Handles to the Joints Chain. The local axis of the IK Handles were in the wrong
position. To solve this problem, you Grouped each IK Handle and then adjusted the local axis.
You then created 4 additional Groups and a Control Object using a NURBS Circle. You then

15
Parented the Groups to the Control Object. You finally adjusted the Hierarchy as shown in the
diagram above.
The Control Object(controller_l_foot_robot01) is therefore the Root of the hierarchy and the
Groups. Translating, Rotating and Scaling the Control Object now effects the Groups. The
Groups contain the IK Handles and the these effect the Joints Chain.

Note : Read the summary above again and make sure you understand what you have done
so far and why. When you are ready, proceed with the tutorial.
The objective now is to create a set of custom Attributes (sliders) for the Control Object to
control the Groups.

Note : See the Appendix at the end of this document to see how each custom Attribute will
effect the Groups.

Select the Control Object(controller_l_foot_robot01). Open the Channel Window (right of the screen) and
display the Attribute list.

RMB on the list of Attributes and select Add Attribute. Follow the steps below to add a
custom Attribute to the Control Object. 1. Enter the Attribute Name : Toe_Tap
2. Set the Data Type to Float
3. Enter a Minimum value of -30
4. Enter a Maximum value of 30
5. Enter a Default value of 0
6. Click Add.

16
Following the table below, add a total of 6 new Attributes to Control Object(controller_l_foot_robot01).

Attribute Min Max Default


Name Value Value Value

Toe_Tap -30 30 0
Tip_Toe 0 45 0
Foot_Bend 0 45 0
Heel_Roll -45 45 0
Heel_Twist -30 30 0
Heel_Tap -45 45 0
When you have finished, check the Attribute list against the diagram below (the order of the list may differ).

17
You have now created 6 custom Attributes. They are in effect 6 empty sliders. The objective
now is to connect each of the sliders to the Hierarchy created earlier.
Each Attribute will have a 3 values Set on it. A Minimum, Maximum and Default value as
defined in the table above.

OK, let’s start by setting the first 3 values for the Toe_Tap Attribute. Open the Set Driven
Key options.

Animation > Animate > Set Driven Key > Set

18
Create a Driven Key by following the steps below…
1. Select the Driver object from the Outliner (controller_l_foot_robot01).
2. Click Load Driver
3. Select the Attribute (Toe_Tap) from the list.
4. Set the value in the Attribute list (0).
5. Select the Driven object from the Outliner (toetap_l_group).
6. Click Load Driven
7. Select the Attribute (rotateX) from the list.
8. Set the value in the Attribute list (0).
9. Click Key.

This will have Keyed a value of 0 on the Toe_Tap Attribute to 0 for the X rotation of
toe_l_group.
Now repeat the steps to create the Minimum value.
1. The Driver is already loaded (controller_l_foot_robot01).
2. Attribute (Toe_Tap) is already selected.
3. Set the value in the Attribute list (-30).
4. The Driven object is already loaded (toe_l_group).
5. The Driven Attribute (rotateX) is already selected.
6. Set the value in the Attribute list (-30).
7. Click Key.

19
Now repeat the steps again to create the Maximum value.
8. The Driver is already loaded (controller_l_foot_robot01).
9. Attribute (Toe_Tap) is already selected.
10. Set the value in the Attribute list (30).
11. The Driven object is already loaded (toe_l_group).
12. The Driven Attribute (rotateX) is already selected.
13. Set the value in the Attribute list (30).
14. Click Key.

Done..!! You’ve now created a Set of 3 Driven Keys. To see the result select the Control
Object(controller_l_foot_robot01). Reset the Toe_Tap value back to 0 and the toe_l_group
return to the default rotation.

Now select the Attribute label (not the value) in the Attribute window. MMB button in the
viewport and drag the mouse left and right to
Follow the table below and create a Set of 3 (Default, Min and Max)Driven keys for each of
the 6 Attributes.

Note : Remember you need to Load a different Driven for each Set of 3 Keys.

Attribute Driver Driven Min Max Default


Name Value Value Value
Toe_Tap controller_l_foot_robot01 toetap_l_group rotation -30 30 0
X

Tip_Toe controller_l_foot_robot01 toe_l_group rotation 0 45 0


X

Foot_Bend controller_l_foot_robot01 ankle_l_group rotation 0 45 0


X

heel_roll_group_l_r 45
rotation Z
0
Heel_Roll controller_l_foot_robot01
heel_roll_group_l_l -45
rotation Z
Heel_Twist controller_l_foot_robot01 heel_twist_group_l -30 30 0
rotation Y

Heel_Tap controller_l_foot_robot01 heel_tap_group_l -45 45 0


rotation X

20
Appendix : Yellow Dot indicates pivot point (axis)

Name Image Driven Min Value Max Value Default


Value

-30 30 0
Toe_Tap toetap_l_group
rotation X

Tip_Toe toe_l_group 0 45 0
rotation X

0 45 0
Heel Roll heel_roll_group_l_r
rotation Z

heel_roll_group_l_l -45 0 0
Heel Roll rotation Z

21
Foot_Bend ankle_l_group 0 45 0
rotation X

Heel_Twist heel_twist_group_l -30 30 0


rotation Y

Heel_Tap heel_tap_group_l -45 45 0


rotation X

Creating the Pole Vector Controller:

Create a locator.

Create > Locator

Name the locator as “pole_vector_leg_l_ctrl”.

Use snap to point and move pole_vector_leg_l_ctrl to the same position as the
knee_l_robot01 joint. Then, select pole_vector_leg_l_ctrl and translate it along the Z axis
so that it is in front of the knee_l_robot01 joint, as shown below:

22
Next, select pole_vector_leg_l_ctrl and freeze transform. This will set all its attributes back
to zero.

Select pole_vector_leg_l_ctrl and hold the CTRL key and select ankle_l_ik from the outliner
as shown:

Then, apply pole vector constraint:


Constraint > Pole Vector

23
Finally, select pole_vector_leg_l_ctrl and parent it to controller_l_foot_robot01.

Done.

24

You might also like