Understanding Walk Cycle Constraints

Walking motions in both freeform and footstep animations should follow the rules of certain IK constraints. In both freeform and footstep animation, a footstep interval is the start and end of a sequence of IK constraints in world space, with IK Blend set to be greater than 0.0. A biped foot in the Move state should have body space turned on with an IK Blend of 0.0. By using these IK constraints, you can convert between the two animation methods seamlessly.

In a freeform walking animation, typically you need two key types for the legs:

• If the foot is planted on the ground, the key must have IK Blend=1.0 with Object Space and Join To Prev Key turned on.
• If the foot is in the air between footsteps, then IK Blend=0.0 with Body Space turned on, and Join To Prev Key turned off.

In the course of creating a walk or run cycle, you need to alternate these IK constraints for the feet. If the foot is sliding on the ground, then the IK constraints are IK Blend=1.0 in Object Space with Join To Prev Key tuned off. All of these IK parameters can be found on the Key Info rollout.

To speed up the process of applying these IK constraints, the Key Info rollout has three additional set key buttons: Set Planted Key, Set Sliding Key, and Set Free Key. By clicking one of these buttons, all the necessary IK constraints are applied automatically. For example, by clicking Set Planted Key, all of the IK constraints necessary are applied at once; IK Blend=1.0 with object space and Join To Prev Key turned on.

Walking Keys

Let's examine the IK constraints for one footstep. The footstep rolls on the heel of the foot, then rotates down flat on the ground, then raises up on the ball of the foot, rotates at the end of the toes, and finally lifts off of the ground.

Touch state: pivot planted at heel at frame 14

The foot is touching the ground at the heel. In the Key Info rollout, Set Planted Key is clicked to set IK Blend=1.0 with object space and Join To Prev Key turned on. A pivot is selected on the heel of the foot.

Pivot point shifts to ball of foot at frame 16.

The next keyframe is also a planted key, as the foot is flat on the ground. In the Key Info rollout, Set Planted Key is clicked. The pivot on the ball of the foot is selected.

Planted key set to lock pivot at frame 17

This key has the pivot on the ball of the foot as well. Click Set Planted Key. Two consecutive keys with the pivot at the ball of the foot are necessary to rotate the foot about the ball of the foot.

Heel lifts, toe remains flat at frame 18

After rotating the foot about the pivot at the ball of the foot, you set another planted key with the pivot on the toe.

Foot rotates off pivot at end of toe at frame 19.

Here is another planted key with a pivot at the end of the toe; the foot rotates about the tip of the toe.

Free Key allows foot to travel off the ground at frame 20.

Here, Click Set Free Key to set a free key, the foot is off of the ground.

The cycle is repeated to create a walk or run cycle in a freeform animation. The pivot points are selected by turning on Select Pivot on the IK Key Info rollout, selecting a pivot in the viewports, turning off Select Pivot and then rotating the foot in the viewports.

When Join To Prev is turned on, as it is with all planted footstep keys, the foot pivots at the previous key's pivot point. If you find that the foot is not rotating around the visible pivot, remember that it is using the previous key's pivot. In such a case, you must set two consecutive keys with the pivot at the same location: then the foot will rotate around the displayed pivot.

If you adhere to these rules in creating footsteps in a freeform animation, then you can use Convert in the Biped rollout to easily change from a freeform animation to a footstep animation. Note that IK constraints in a footstep animation are applied exactly the same way as in a freeform animation. If you examine a footstep animation, you will notice that the foot IK constraints follow the same rules as for a freeform animation. Footsteps are simply gizmos that define a foot's coordinate system. A foot can slide and move relative to the footstep. Also, if you delete or add a key in a footstep animation, the footstep duration is changed.