Inverse Kinematic and Reverse Foot Setup Tutorial

I am making a reverse foot setup to have a separate control for lots of different foot movements with a broken hierarchy to achieve it.

Doing IKs...

The first set of joints are the IK leg setup for binding. These will need to have standard orientation to match the other joint systems and stay consistent with the rest of the rig.

  • Based on the original joint placements create the hip, knee, ankle, ball and toe joints
  • reorient the joints
  • bend the knee and set preferred angle and reset to 0

 Set up the leg IKs. RpSolver is used because extra rotation controls and a pole vector for the knee are needed. RP solver allows for twist and rotation in different ways.

  • Select ‘IK Handle tool’
  • select ‘ikRPsolver’ in ‘current solver’ in the option box
  • then select the hip then ankle joints.
ikRPsolver2-choosing ikRPsolver
 
rtLegIk2

SC solver is used when only ordinary rotation is needed, no extra twist or rotations, and when going between just 2 joints.

  • Select ‘IK Handle tool’
  • choose’ ikSCsolver’ in ‘current solver’ in the option box
  • select the ankle then ball joints.
  • Repeat with the ball then toe end joints.
  • Name all the ikHandles eg: r_ankle_IK_Handle; r_ball_IK_Handle; r_toe_IK_Handle
choosing ikSCsolver

choosing ikSCsolver

foot iks

 
  • Test by lifting the foot to see if all bends the right way.

testing ik handles2

Building reverse joints… this is done so that there will be extra pivot points and sticking points for the foot with a separate hierarchy for them. Rotations and twists can be controlled for just the foot joints with the ankle being the base of the movement then heel then ball and toe like a real foot.

To build the new joints- locators are made at the exact location of the original joints, adding one for a heel joint, so that the new joints can be snapped to them. Because higher joints in the hierarchy will move all the joints below the new joints are V snapped to the locators by starting at the top of the hierarchy . The reverse joints are built with the orient set to world space so that their movements are based on their place in the world because that is where they move eg in relation to the floor. These steps are described below.

  • Create locators and v snap them to the ankle, ball and toe end joints
  • create another and v snap it to the back tip of the foot on the model at the height of the other joints.
  • Create joints starting at the ankle joint then go to the heel then toe then ball then ankle again.
  • Name them eg: r_inv_Main_joint; r_inv_Heel_joint; r_inv_Toe_joint; r_inv_Ball_joint, and r_inv_Ankle_joint_End.
  • Put them in a layer and name it inv_Joint_layer.
  • Check their orientation and set to world if not already.
reverse joint settings orientation

reverse joint settings orientation

the reverse joints in white flow in the opposite direction from the original skeleton in pink but sit in the same place, orientation is set to world

the reverse joints shown in green flow in the opposite direction from the original skeleton in brown but sit in the same place

  • Parent each IK handle to the its matching joint in the inverse system.
ik handles under joints of the same name in outliner

ik handles under joints of the same name in outliner

To control all the foot joints a foot control is made and pivoted at the ankle joint so that the movements of the curve will move the foot centred at the ankle joint, where it would in a real foot.

  • create a foot control using nurbs curve with the EP curve tool with the options set to linear so it will have straight angles if that’s what you want.
  • V snap the curve to the foot and centre its pivot at the ankle joint.
  • Freeze the values
  • rename it r_foot_control

rt leg curve2

foot control placed and centered

foot control placed and centered

  • Select the foot control then the inverse main joint and parent control.

Adding attributes so that new movements can be added to the control. Only 1 is needed for the ball joint because the ball joint only rotates in 1 direction. Add the most used ones first so that they are on top. Then they will be in the channel box for the foot control.

  • Select the foot control
  • at the top of the channel box click ‘edit’
  • click ‘add attribute’.
  • In the ‘add attribute’ box type in the new names for the movements of the foot wanted in the order wanted eg Heel Rot X
  • click ‘add’ at the bottom
  • repeat for each one .
  • For the ball joint just add the 1 to lift the toe.

rt leg adding attributes2

Connection editor connects the new attributes of the control to the selected movements of the inverse joints.

  • load the control on the left by clicking ‘reload left’
  • select the joint you are doing in the outliner, ‘reload right’
  • Scroll down on the left side to the bottom to the control attributes just entered
  • on the right side scroll down to about halfway and find rotate and click the + sign to expand it.
  • Click heel rot x on the left (when heel is on the right side) and the rotate x on the right side to connect them.
  • Repeat for heel rot y and rotate y, and heel rot z and rotate z
  • repeat process for each reverse joint.
connection editor- making the connections from the control to the heel inverse joint rotations

connection editor- making the connections from the control to the heel inverse joint rotations

Edit attribute- You can change the names of the attributes to be more descriptive so it is easier to understand for the animator.

  • click edit in the channel box window
  • click ‘edit attribute’
  • select the attributes of the control 1 by 1
  • Click the names 1 by 1 and write the new name in the place called ‘nice name’. eg change Heel Rot X to heel liftHeel Rot Y to heel twistHeel Rot Z to heel roll.
editing attributes to change the name to something more recogniseable for the animator

editing attributes to change the name to something more recognisable for the animator

  • Test the foot control attributes to check that it moves correctly

testing foot control2

foot controls zeroed2

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s