Walking in Graphs
Table of contents:
1. Pelvic movements
2. Foot movements
Gait cycle is the time between successive foot contacts of the same limbs. Thus, one gait cycle begins when the reference foot contacts the ground and ends with subsequent floor contact of the same foot.
Step length is the distance between the heel contact point of one foot and that of the other foot.
Stride length is the distance between the successive heel contact points of the same foot. Normally, stride length = 2 x step length.
Cadence is the rate at which a person walk, expressed in steps per minute. The average cadence is 100 - 115 steps/min. Thus, if you let your character take 10 steps in 156 to 180 frames (using 30 frames/sec), the character's cadence is within a normal range.
1. Pelvic movements
Recurring pelvic movements. Vertical and lateral displacements of pelvis, pelvic rotation, and pelvic tilt are recurring movements of the pelvis. The graphs of the attributes that realize the cyclic pelvic movements (in our case, Local Control's Translate Y, Translate X, Rotate Y, and Rotate Z) should look like sine or cosine curves.
|Recurring pelvic moment||Local Control's attribute to key|
|Vertical displacement of pelvis||Translate Y|
|Lateral displacement of pelvis||Translate X|
|Pelvic rotation||Rotate Y|
|Pelvic tilt||Rotate Z|
Relationships among the recurring pelvic movements. Look at the graph (screen capture) and diagrams below and see the relationships among the recurring pelvic movements.
Important relationships among the recurring pelvic movements are summarized in the table below.
|Back Twist vs. Rotate Y:|
|Phase shift between Rotate Y / Back Twist and Translate X / Rotate Z:|
2. Foot movements
Foot translation. When the foot is in a swing phase (i.e., Translate Z is changing its value), the foot is moving above the ground (i.e., Translate Y > 0); When the foot is in a stance (support) phase (i.e., Translate Z is not changing its value), the foot is staying on the ground (i.e., Translate Y = 0).
Preventing feet from sliding
When a foot is in a stance phase, the location of the foot should not be changing. If a character is walking along the z-axis and if the character's right foot is in a stance phase, the curve of Translate Z of rightFootControl should be completely flat.When a foot is in a swing phase, the location of the foot should be changing. If a character is walking along the positive z-axis and if the character's right foot is in a swing phase, the curve of Translate Z of rightFootControl should increase with ease-in and ease out.
Pay attention to the tangents in the screen capture above. They are flat. They allow the curve in the support phases to be flat and give ease-in and ease-out to the swing phases. The durations of support (stance) phases should be slightly longer than swing phases throughout a neutral walk animation.
Double support phase vs. Single support phaseHuman walk has a double support phase in which the body weight is supported by both legs. See the screen capture below. It shows the z-translations of the right and left footControls together. The durations of stance phases are longer than swing phases throughout a neutral walk animation. The stance/swing ratio is 3:2 on average. As the walking speed increases, the swing phase gets longer and the stance phase gets shorter. In running the stance/swing ratio reverses and double support phases disappear.
See the diagram below. When a foot is in a swing phase the other should be in a single support phase. When a foot is in a stance phase, it goes through a double support phase, a single support phase, and another double support phase.
Creating double support phases
When keyframing a human walk, it would be a little bit complicated to key the foot positions if you tried to create equal step lengths, equal gait cycles, and double support phases at the same time. Start keying foot positions (Translate Z of FootControls) with no double support phases so that stance phases and swing phases have the same number of frames (Phase 1 in Workflow). And then create double support phases by making stance phases longer and swing phases shorter (Phase 2 in Workflow).
Z translation of the feet without double support phases. (Step 1 in Workflow)
Z translation of the feet with double support phases added. (Step 2 in Workflow)
Once you key stance and swing phases of equal lengths for both feet (Phase 1 in Workflow), there is an easy way to add double support phases (Phase 2 in Workflow):
Selecting and moving the supprt phases' starting keys.
Selecting and moving the support phases' ending keys.
Note: The left box of "Stats" shows the frame number of a key while the right box shows the attribute value of a kay, while . You can change the attribute values(s) and frame number(s) of key(s) by typing in numbers in the boxes.
Plantarflexion of foot and compliance of foot
When the foot is transiting from a stance phase to a swing phase, it pushes off the ground while rotating around the toes.
Use Ball Rot and Toe Rot X of Foot Control, but not Rotate X of Foot Control. If Rotate X were used, the foot would rotate around the ankle, not the toes, causing the foot to slide.
Ball Rot allows the toes to flex. The toes extend as soon as they leave the ground, although they keep pointing downward until near the end of the swing phase in which the foot prepares for the dorsiflexion. That's the reason why there are different timings for Ball Rot and Toe Rot X.
Dorsiflexion of foot
When the foot is transiting from a swing phase to a stance phase, it catches the weight of the falling body while rotating around the heel.
Use Heel Rot X of Foot Control, but not Rotate X of Foot Control. If Rotate X were used, the foot would rotate around the ankle, not the heel, causing the foot to slide.
Timing for dorsiflexion and plantarflexion
In a swing phase, the toes keep pointing downward until near the end of the swing phase in which the foot prepares for the dorsiflexion.