The inverse kinematic and reverse foot setup is used to invert the heirarchy of the leg making the foot in charge of the rig and not the leg. The joints used in the foot setup are not bind joints, but are instead an example of broken heirarchy and are used to control the ankle and foot, ie. heel, ball, and toe. Bind joints are set to default, that is, x is pointing down the bone and y has a tendency to point up. When building a Foot Setup, five joints are made to create the foot. They are placed in a certain hierarchy as so they are able able to be controlled properly at a later stage. Also, the joints should be set to world or reoriented to world at a later stage.
The foot setup requires five joints to make the leg. These are the hip, knee ankle, ball and toe.
The rig won’t work unless the joints are oriented to world as they won’t be able to connect correctly to the connection editor at a later stage. The leg joints are bind joints while the joints in the foot setup are inverse joints. The relationship between the bind joints and inverse joints allows the foot to control the whole leg within the heirarchy. This forces the foot to move in a way that appears realistic and believable.
Next is the leg. The leg is straight and therefore needs to be set a preferred angle for the solvers. Solvers calculate points in space. As long as there is a vector point, the solver will move in the way you wish to achieve. The preferred angle needs to be set so that it can tell the solver which way to bend. Simply rotate the leg the in the intended way and click ‘set preferred angle’.
Now set the IK handle tool to RP Solver and select from the hip to the ankle of the leg. Name this IK using the proper naming conventions (eg. ankleIK). Now change the IK handle tool to SC Solver and select from the ankle to the ball (ballIK) and again from the ball to the toe (toeIK). Name these IKs using the proper naming conventions respectively.
The joints should be named properly and should follow the hierarchy. They should maintain consistent naming conventions as to make it clear what the joints are and what they will be performing. This too is made up of five joints. The joints are, main, heel, toe, ball and ankle. The joints need to be created in that order for the rig to work. The reverse foot setup allows these joints to control the foot.
The joints should follow the hierarchy as they have no choice but to follow them because the rig will break if they don’t. In order for the reverse foot setup to be in control of the rest of the leg, the joints need to be parented to the leg. The reverse foot setup joints are the parent and the ik handles are the child.
The IK handles must be parented to the correct inverse joints i.e. inv_toe_joint tp toeIK, inv_ball_joint to ballIK, and inv_ankle_joint to ankleIK.
Next, controls must be created to be selected to they can control the leg. Create several various controls that will work for certain parts of the leg including the knee, foot, ankle, ball of the foot, and toe. The foot control is placed so that it aligns with the ankle. Its pivot is snapped to the ankle. This is where the foot is controlled from. The pole vector control is placed in front of the knee. Once these controls have been put in place, Freeze Transformations!!! It is very important to freeze transformations as this allows the position of the foot to be reset. Parent constrain the controls to the proper IK handles properly. The foot control is parent constrained to the inv_foot. This allows the control to be in charge of the foot and leg joints. The pole vector control is pole vector constrained to the ankle IK as well. This will allow the knee to have a more direct control.
A number of attributes need to be added to this control, both with a minimum and a maximum number using the connection editor. Open up the ‘add attribute’ window. These should all have ‘float’ selected when adding these attributes. The attributes that need to be added to the foot control are heel rotation, ball rotation and toe rotation.
• Heel Rot X; Min = 0, Max = 45
• Heel Rot Y; Min = -90, Max = 90
• Heel Rot Z; Min = 0, Max = 60
• Ball Rot X; Min = 0, Max = 60
• Toe Rot X; Min = 0, Max = 90
• Toe Rot Y; Min = -90, Max = 90
• Toe Rot Z; Min = -90, Max = 90
Next, the connection editor is opened. The output is what the animator is going to use. Select the proper joints and load them into the connection editor. Then connect these joints to the correct rotations so they will rotate in the proper manner.
Finally, lock off all the attributes that are not needed. The Inverse Kinematic and Reverse Foot Setup is now complete.