Adverti horiz upsell
Character Setup for Real-Time in Maya 3.0
Character Setup for Real-Time in Maya 3.0
sdb1987, added 2005-09-26 14:45:19 UTC 55,143 views  Rating:
(0 ratings)
Page 2 of 3

Now with the LFootRoll value at 10 se the rotation in X of the ball and toe joints to 0 and �76 respectively. Set keys for all the driven joints.



Finally, duplicate the steps above for the right foot. The next section will cover working with the spine.

Keeping the feet from going in the ground:

When animating a walk cycle for instance one of the more tedious functions for animators is to ensure the feet do not slip or go into the ground. Some of the slipping problem is solved because of the use of IK. We can enhance this through expressions on the body controls so the feet will not slip.

As far as having the feet not break the ground plane, there are at least two approaches to accomplish this. The first would be to have the ankle controls point constrained to another object. This object would actually move the ankle controls along the path of the character�s movement. When the feet need to be raised the weight of the point constrained is turned to 0 as if there was no constraint at all. The animator would therefore animate not only the movement of the control object and the placement of the ankle control but the weight of the constraint as well.

Another approach is to utilize a geometry constraint. The geometry constraint places the pivot point of one object onto the surface of the object it is constrained to.

Create a polygonal plane and name it floorHidden. Position the plane in the Y axis at the same height as the ankle joints. Create a separate controller object (locator or poly object) and name it CntrlBody. Position the object in front of the skeleton and move its pivot point to the root joint.



We are going to have the ankle controls be constrained to the floorHidden plane through a geometry constraint. We will be able to turn this constraint on and off by the use of custom attributes on the CntrlBody object.

Create the custom attributes:

With the CntrlBody selected go to Modify > Add Attribute and add an interger attribute with the min at 0 and max at 1. Default is 0. Name it LGround.



Add another attribute for the RGround with the same values. Now create the geometry constraint by selecting the floorHidden then the CntrlLankle. Go to Constrain > Geometry. Test out the constraint by moving floorHidden in the Y axis. The left leg should react accordingly.



Linking the constraint with the custom attributes:

We will now have the custom attributes of the CntrlBody drive two aspects of the geometry constraint. In order to have this work properly we will not only have to access the weight but also the node state of the geometry constraint. We can accomplish this through a set driven key.

Go to Animate > Set Driven Key > Set > Options. Load the LGround attribute from the CntrlBody as the driver. In the Outliner or Hypergraph select the geometry constraint. Load that as the driver. This is what you should see: