I started this tutorial from Digital Tutors in September and only got around to finishing it in November. It was a great introduction to getting my head around walk cycles and it was also very helpful for understanding the graph editor better. There are so many ways one little movement can be tweaked!
Digital Tutors (2010) Creating Walk Cycles in Maya: Link
This is my own attempt: Walk Cycle Based on Digital Tutors Tutorial
These are my notes from the tutorial:
2. Setting up the scene – frame rate and tangent type. Tutor starts with a frame number of 33 (length of cycle) and creates the poses on odd numbers with even spacing. The midpoint falls on 17 for a symmetrical cycle. Lock down the first and last frame to avoid popping. In the graph editor – set post and pre infinity cycles. Set view to infinity to see how these curves blend together. Make sure the arms are set to fk as this is good for walks and runs. The rotation axis may need to be set to gimbal and the rotation order may need to be changed under the attribute setting.
3. Beginning the walk cycle – Plan the poses. For the first pose – lower the character, extend the legs, pose the heels and open/rotate the hips.
Lean the chest forward for balance. Counter move the swing of the arms. Pay attention to the angles of the shoulders, elbows and wrists – and also their distance from the body.
Pose the fingers and then copy the first pose onto the last frame. To copy this pose onto the last frame – while on frame 1 select the animcharacter set, middle mouse click on frame 33 and then hit ‘s’.
4. Finishing the contact pose. Switch the values of each foot onto frame 17 (mid frame). This way we will be working with the same extension for each foot as a base. Enter the reciprocal values of hips and chest also. Transfer the reciprocal values of ‘y’ and ‘z’ between each shoulder and then copy the ‘x’ values. We then need to fix the curve of the foot movement back and forth so that it moves at a flat rate – linear tangent.
5. Adding the down position. These positions will be on frames 5 and 21. Plant one foot firmly on the ground to carry the weight and roll the other to start into the lifting position, then do vice versa for frame 21. Exaggerate the down position on frame 5 and 21 by bringing the body down. Adjust the weight in the heels by bringing the heel keyframe forwards by two frames.
6. Completing the extremes – Bring the character to it’s highest position on frames 13 and 25. Start to plant the heel on 13 and plant it fully on 9. Copy the keyframe over to the opposite side of cycle and make sure the tangent is flat. On frame 9 make sure the passing position is high but not as high as the peak position in frame 13. Use the graph editor to flow the curves together.
Copy and paste the value into frame 25 also. Check that the cycle is working with playblast and remember to knock off the last frame.
7. Refining the Upper Body
Smooth the transition between the cycle and infinite cycles.
To reduce locking of the knees from over extension – shift select the contact keys and move the character down slightly. Increase the degree of the foot roll by selecting the rotate x of the ball roll on frames 1 and 33 and moving up in the graph editor. Copy and paste this value into the other foot. Check if the heel comes far back enough and if not, adjust with the translate z in the graph editor. Adjust the curve of the foot roll between frames 25 and 33 – delete the key on frame 29, break the tangents and adjust the curve to fix any popping. Do the same on the other side.
8. Balancing the character in the front view.
Think of where the weight is being shifted as the character moves from foot to foot. Shift the weight on frames 9 and 25 to the leg that’s carrying the weight as the other leg passes. Smooth the curve between cycles.
Next consider how the foot arcs from side to side as it goes back and forth. E.g. It goes out on frame 10 as it passes and comes closer to center line as it plants. To keep the foot straight and then angled – paste the keys from frame 17 onto frame 1 and 33 i.e. The foot won’t be slanted as it moves back. Copy the reciprocal values across to the other foot.
9. Animating the subtle rotations of the feet
Rotate the feet to angle outwards by selecting the rotate y keys in the graph editor and moving them. Then rotate the whole foot slighlty on the z axis as the foot comes up and forward (frame 8 for right_foot). It then rotates the other way (outward) soon after, on frame 13. The foot needs to be planted on the contact pose so zero out the rotation.
10. Animating a toe flap for fluidity
Use the toe z control to bend the toes back as they move forward – follow-through/drag action from the force of moving forward. Then when the foot is about to plant bend the foot backwards. Fully plant a few frames later. To give this more weight move into the graph editor – break the tangents. Make the tangent of toe z fall more abruptly. Blend the fcurves between post and pre infinity cycles.
11. Adding weight to the hips
The hips fall towards the leg that is lifted and stays high on the support side. Rotate ‘z’ on the down positions. Create moving holds between 5 and 17 and the reciprocal between 21 to 33.
Break the tangents and make the curves snappier to create a feeling of weight.
12. Animating the rotations of the upper body
The body rotates back and forth on the rotate ‘x’ – back on 5 and forward on 17.
Then animate the side to side on the rotation ‘z’. The body rotates away from the forward arm. Rotate ‘z’ on frames 1 and 17 with reciprocals and enter the same values into 1 and 33 for a smooth curve.
13. Working on the chest
The chest follows through with the upper body rotation. Rotate the chest back on 5 and forward on frame 17, back on 21 and forward on 33. Offset/move the graph a few keys right and enter new keys on 1 and 33 to keep the graph within range (outside of the pre and post infinity cycles) and make sure they blend by breaking the tangents.
14. Animating the head
The head moves back on 4 (moving into down position) and forward on 9 (the passing extreme). Copy these keys to the equivalent frames on the other side and blend between the infinity cycles.
Then offset the graph for follow through action. Shift one frame to the right for delay. Add weight by making the animation/graph tangents snappier where the head falls forward.
Correct the rotation of the head so that he’s looking forward throughout the cycle. Correct the rotate ‘y’ on 17 and then paste the reciprocal into frames 1 and 33. Now add tilt from side to side on the rotate ‘z’ and follow through. Tilt the head towards where the weight is being planted. Now loosen up the neck using the translate values of the head.
15. Correcting the motion of the upper arm
We want to add the weight from the forehand and wrist onto the motion of the upper arm. This can be done by selecting ‘weighted tangent’. Then select the key and select ‘free tangent weight’. The tangent handles can now be stretched allowing you to adjust timing and spacing without adding any more keys. Break the tangent to influence one side only.
Note – you can pin curves to keep them on display. The weight of the tangent can also be edited by selecting the keyable attribute’s node from the hypershade, opening the attribute editor and edit the values in the spreadsheet found here.
16. Wrapping up the motion of the upper arm
Create an arc as the arm swings – it swings outward as the arm moves forward and it moves closer to the body as it moves back.
17. The follow through and over lapping action of the elbow
Keep in mind weight and momentum. As the arm starts to swing back the elbow will still be going up – animate in the rotate ‘y’ axis. As the upper arm swings back the weight of the lower arm will carry it forward quicker. Create drag by making the f-curve overshoot the key. The arm drags as it starts to come back up.
18. Adding follow through to the wrists
As the arm starts to pull back the wrist will rotate up and as the arm moves forward the wrist will move back (y axis). Also pay attention to the wrist rotation on the z axis as it rotates away and into the body as the arm swings forwards and backwards.
19. Finalizing the wrists
The wrist rotates inward as the arm moves forward and outward as the arm swings back.
20. Refining the shoulder movement
Add follow through from the shoulder to the arm. Delay all the shoulder key frames by about 2 frames.
21. Finalizing the walk cycle
22. Translating a walk cycle forward
Translate forward on a linear curve.
Make sure that the curve for the foot planting forward is linear to prevent the appearance of sliding.
Compare the planting pose to the translating forward and adjust until there seems to be no sliding.
23. Utilizing animation layers to add more life
You can add controls to animation layers and make the character do an action e.g. a head turn that breaks the repetition of the cycle.
24. Smoothing the character via a custom…