Blender Tutorial

Blender Stride Tutorial
 
 
Skill Level:          Beginner to Intermediate (Tutorial assumes user knows the basic functions of Blender ).

Blender Version: 2.42

Tutorial Version: September 23, 2007     ( Officially Obsolete - refer to Note below )

Resources: stride_bone_00.blend



NOTE: With the release of Blender 2.43, the bulk of the information in this tutorial (with perhaps the exception of the discussion of Bassam's aka Slikdigit foot setup, the Tips, and Part 2. "Setting up the Walk Cycle Poses" section.) is obsolete.

Since this tutorial is linked from a number of sources, I've decided to leave it up for a while in order to redirect people to more current information.


The links to check are as follows:

Blender 2.43 Release Notes - Walk Cycle
Blender Artist Animation Forum Discussion Thread
Blender Artist Animation Forum Discussion Thread





Introduction.

In this tutorial, we'll take a look at the most basic Stride Bone setup in stride_bone_00.blend . I also recommend that you examine the more advanced setup, stride_bone.blend, which is included in a set of 2.42 demo files named 'test242.zip' from the Blender web site : test242.zip .
(Note: the 'stride_bone.blend' file is located in the 'animation' subdirectory when you uncompress the zip file).

This tutorial is meant to supplement the already existing Blender documentation which can be found at: Blender Foundation Advanced Stride Support Documentation
I assume that you have already read this document (even if you didn't fully understand it). Hopefully, this tutorial will provide some additional practical experience using the Stride Path feature.

Enhancements added to the Stride Bone in Blender version 2.42 are described in the 'Stride mixing in NLA' section of: Blender 2.42 Character Animation Tools Update
Also, you can find some additional release notes regarding the Stride feature at: Blender 2.42 Release Notes


So what changes have been made to the Stride feature?

In earlier Blender versions, you had to manually count the number of Blender Units, (abbreviated as BU from this point forward), for the distance traversed by your character in a single walk cycle (also, taking into account any changes to the grid scale) and then plug this number into the 'Stride' numeric button. Other than tweaking this Stride value, there wasn't much else you could do to control how the NLA strip played out.

In Blender 2.40, the Stride bone feature was added (which is part of the character's armature). The Stride bone's location is adjusted during the various walk cycle poses to correspond to the rearward movement of your character's foot/feet (while the character is walking in place) to create an action which, when the character is finally put into motion, will eliminate the feet sliding during the walk cycle animation.

In Blender 2.42, (from the 2.42 release notes): you can combine multiple actions, with a different walking speed, on a single path.


So what exactly is the Stride Bone feature and why would you want to use it?

The Stride Bone feature allows you to avoid the "slipping feet" phenomenon when your character walks along a straight, or slightly curved path. If you examine the stride_lin.avi at the Blender web site, you will notice that the character's foot/feet don't remain firmly planted as they come into contact with the ground. Instead, they slip back and forth as though the character is wearing teflon shoes and is walking on ice. You can see what the problem is - in this case, the entire armature, including the feet, is being moved forward as a single unit. So as your character continues moving forward, the feet move/slide forward as well. There is no "seperation" between the armature and the feet. The Stride Bone feature overcomes this problem by allowing you to match the Stride bone's location to that of your character's feet to eliminate any offset occurring when the feet come into contact with the ground . Note that there is no "physical link" between the foot and the Stride bone (Although, you could use it in this manner with an 'Copy Location' constraint in combination with an Influence IPO). Blender achieves this by "expanding or contracting" the timing of the action contained in the NLA strip relative to the character's armature movement along the path (when 'Stride Path' is enabled). Essentially, you can think of it in simplified terms (though not completely true, as was just explained), as adjusting the character's armature movement along the path to compensate so that the foot bone will remain stationary.




A Simple Example.

So let's get busy and open up stride_bone_00.blend in Blender 2.42 .

Hmm, ok; so what are we looking at?

You'll notice a simple setup in the 3DWindow, which consists of an armature called 'Armature'. This in turn, is composed of two bones; namely, 'Char_Bone' and 'Stride_Bone'. Select (Right Mouse Button, RMB) the curve, 'Curve'; you will notice that the armature is parented to the curve; ie, if you move the curve, the armature moves with it. OK, cancel the move operation, and re-select the armature.
(Note that you no longer need to use Ctrl_Tab to switch out of pose mode to select other objects, and when the armature is re-selected, it is still in pose mode; which makes animating much easier).


Now I direct your attention to the right side of the 3DWindow. You'll notice that it consists of three windows (from top to bottom): a NLA Editor window, an Action window, and an IPO Curve Editor window.


The first thing to note is that the bone currently selected, 'Stride_Bone' is defined as the Stride bone. You can tell this by its name being entered in the last text box 'Stride Bone:' below the Stride Support options listed in the NLA Editor window's 'Transform Properties' panel. Also, if you switch to the Edit Buttons Window [F9], you see the 'Stride Root' button activated in the 'Armature Bones' panel. Activating the button here, saves you having to type in the name of the Stride bone in the NLA Editor's Transform Properties panel. The final visual indicator, is that the Stride bone, 'Stride_Bone' is shaded a dark blue color in the 3D window when in pose mode.


Figure 1. Stride Bone.


Next, you'll notice that the armature 'Armature', contains a single action called 'Action' in the NLA Editor window. Also, by looking above in the Action Editor window, you see that keyframes have been inserted for the two bones, and they extend from frames 1 to 31.

You can examine the IPO curves for 'Char_Bone' and 'Stride_Bone' in the IPO Curve Window (Refer to Figure 2 below). For 'Char_Bone', its LocY IPO curve is flat from frames 1 to 11, rises up smoothly from frame 11 to 21, and then slopes smoothly down again from frames 21 to 31. Also, note that the Extend mode for 'Char_Bone' IPO curve has been set to 'Cyclic'. The LocY IPO curve for 'Stride_Bone' is linear from frames 1 to 31. 'Stride_Bone' IPO curve's extend mode is simply defaulted to 'Constant'.


Now, let's examine how the bones are oriented to gain a better idea of how they should move. Note how 'Stride_Bone' is oriented. It has been 'flipped' backwards so that a positive Y offset should cause it to move to the right. This is because the Stride bone is always oriented opposite to the intended movement, since it acts like a conveyer belt on a tread mill, moving in the reverse direction of which your character is moving. If (Stride_Bone)'s Y axis were reversed, you would need to have a negatively sloped LocY IPO curve for the Stride Path feature to work properly.


'Char_Bone' consists of a single LocY IPO curve, which means that, were it under no other influences, it would simply rise "up and down" from frames 11 to 31. However, it is also influenced by the fact that it is parented to the path; thus it will be moved horizontally along the path for the path's duration of 100 frames. It's movement is also influenced by the fact that the 'Stride Path' feature is activated (Refer to Figure 1). Disable the 'Stride Path' option and run the animation. As you can see, 'Char_Bone' performs it's animation based on the LocY IPO curve and the fact that it is parented to the path. (Note: 'Char_Bone' only performs one cycle of the LocY IPO curve as defined by the 31 frame NLA Action strip in the NLA Editor Window). You should also notice that 'Char_Bone' changes it's shading from a light blue color (when it is 'Keyed') to gray after frame 31 when there are no keyframes or action applied to it. Re-activate the 'Stride Path' feature.


Figure 2. Char_Bone and Stride_Bone IPO Curves.






Tips.

Tip 1 (Frame Slider Hot keys):
Right_Arrow: Advances the frame slider 1 frame.
Left_Arrow: Reverses the frame slider by 1 frame.
Up_Arrow: Advances the frame slider 10 frames. (Default value - adjustable)
Down_Arrow: Reverses the frame slider 10 frames. (Default value - adjustable)
Shift_Left_Arrow: Returns the frame slider to the Start Frame.
Shift_Right_Arrow: Advances the frame slider to the End Frame.


Tip 1. Frame Slider.


Tip 2 (Adjusting Frame Slider 'Steps' Setting):
Blender now gives you the option of changing the 'Steps' Frame Slider value.
The control is located in the Scene Buttons window [F10] :: Anim/Playback (Press [F10] a second time) 'Anim' panel.


Tip 2. Frame Slider Steps Adjustment.



Tip 3 (Calculate Paths):
Blender draws a black line indicating the "path" followed by the tip of the selected bone(s) in Pose mode by pressing [w] > Calculate Paths. (The little white dots indicate inserted keys).


Tip 3. Calculate Paths.



Tip 4 (NLA Editor Control):
There is a little button icon (shown hi_lited in orange below) to the left of the Armature/object name which allows you to toggle the output to the 3DWindow based either on the active Action (the one hi-lited by the solid black circle when you have multiple Actions) or the total combined result of all Actions/NLA strips defined for the Armature.
More details on changes which were made to Actions and the NLA Editor in Blender 2.40 may be found at: Blender Foundation Action and NLA Editor Documentation .


Tip 4. Action/NLA Toggle.





The Basic Building Blocks: StrideBone Loc IPO Curve.



First, let's see what the results look like for adjusting the Stride_Bone 's LocY IPO curve's value at frame 31 to 0.5, 1, and 2.
(Note: The curve path is exactly 10 BU ).


As you can see below in Figure 3b, at a setting of 1, exactly 1 cycle is produced per BU. As the value is increased, the "walk" cycle frequency decreases. For Figure 3c at a setting of 2, we have 5 cycles.
Notice how, when we use a linear curve for the Stride Bone's LocY IPO curve, no matter what value it was adjusted to or the resultant number of cycles, the keyframes which occur at a transition of 10 frames always fall on exactly 1 BU of distance along the path.
(Note: for all of the images below, the path's Speed IPO curve was set to linear, and it's start/end points were adjusted to frame 1 and 101).


Figure 3a. Stride Bone IPO Curve (value = 0.5).




Figure 3b. Stride Bone IPO Curve (value = 1).




Figure 3c. Stride Bone IPO Curve (value = 2).




Next, let's look at how the shape of the Stride Bone LocY IPO curve affects the "walk" cycle(s).
As you can see below in Figures 4a to 4c, the shape of the Stride Bone IPO Curve acts as a sort of "time shifter", adjusting when in time the motion is performed. A little bit like a Time IPO curve. The Stride Bone IPO Curve in Figure 4a emphasizes the initial part of the action (the flat part of the curve) and "squashes" the raised curve part into a brief instant at the end of the cycle. As the Stride Bone IPO Curve approaches a linear shape, the output curve approaches the initial curve shape for the cycle. Finally, in Figure 4c, the effect is basically the opposite of that for Figure 4a. Of course these examples are a very drastic demonstration of the effect that the Stride Bone IPO Curve has on the final result, and normally tweaking the Stride Bone's IPO curve would be much more subtle.


Figure 4a. Stride Bone IPO Curve.




Figure 4b. Stride Bone IPO Curve.




Figure 4c. Stride Bone IPO Curve.



The Basic Building Blocks: Path Speed IPO Curve.


Now, let's see how the Path's Speed IPO Curve influences the cycle. Select the path and in the IPO Curve Window header, select 'Path' from the IPO Type drop down selector.
As you can see below in Figure 5, the Path's Speed IPO curve is linear. Also, the curve begins at frame 1 and the last frame is at 101 . With the path Speed IPO curve set to linear, each cycle period is of 20 frames duration. (Plus 1 frame offset depending on if you are referencing the Calculated Path or when the Stride Bone "snaps" forward - ie. when the path Speed IPO curve start/end frame are 0 and 100 respectively, then you will see the Stride Bone move forward at a 20 frame change).

Figures 5 Linear Path Speed IPO Curve.




Next, let's investigate what effect varying the slope of the Path Speed curve has.
Ctrl_LMB somewhere around frame 50, and adjust the Speed IPO curve to look something like that shown below in Figure 6a, ie. a shallow slope for the first half, followed by a steeper slope.

The first thing you notice is that the first cycle is very slow and then speeds up as the the slope of the Path's Speed IPO curve increases. As you can see below in Figure 6a, the animation is at frame 58, and 'Char_Bone' has not even completed one cycle yet.

Another important thing to note is that the number of cycles hasn't changed - there is still five cycles, only the speed with which each portion of the "walk" cycle is performed has changed.

Finally, you may have noticed that I forgot to return the Stride Bone LocY IPO curve to it's previous state; which is why the resultant curve still has that "saw-tooth" shape as shown above in Figure 4c from the previous step. Though in this case it was rather serendipitous, in that if you look closely below in Figure 6a, you can see a dashed line that visually represents how the Stride Path's speed ('Calculated Path') lags and leads behind/ahead of the Curve Path's speed for each cycle.

Note: For the dashed line (which displays the parenting relationship between the Armature Object and the Curve Path) to be displayed, you need to (with the Char_Bone selected first in Pose Mode), Shift_Select the Curve Path for the parenting relationship line to be displayed. On my system, it is not visible if you just RMB Select the Curve Path. (Might not be the case in your situation, depending on your video card).

When the Stride Bone LocY IPO curve is set to linear, you don't see this effect in Figure 6b, since the 'Char_Bone' is moving more vertically instead of horizontally; though you can see more clearly how all the key frames have been compressed into the right side of the calculated path.


Figure 6a. Adjusting the Path Speed IPO Curve.




Figure 6b. Adjusting the Path Speed IPO Curve.



The last adjustment that we can make to the Path's Speed IPO curve is shifting the end point vertically.
First, return the Path length and the Path Speed IPO curve to their previous state, (either by using Undo Ctrl_z or by manually editing them).


Increasing the last Path Speed IPO curve handle from 1 to 2, increases the speed of the "walk" cycle animation. In Figure 7a below, the complete "walk" cycle animation is completed in only 50 frames transition. After 50 frames, it has essentially "run out of runway" and the "walk" cycle is finished since it can't exceed the path length.
Decreasing the last Path Speed IPO curve handle from 1 to 0.5, decreases the speed of the "walk" cycle animation. In Figure 7b below, the complete "walk" cycle animation only manages to cover half the 10 BU length of the path and takes a 100 frames transition.


Figure 7a. Stride.




Figure 7b. Stride.



The Basic Building Blocks: Path.


So what if we're making a walk cycle animation and we decide that we would like to have our character get a little more exercise by having the character perform twice as many cycles. This is very easy to adjust. Just [Tab] into edit mode for the path, select the right-most point on the path and then snap the cursor to the selected point. Change scale mode to scale with respect to (wrt) cursor by pressing [ . ] , select all control points and scale by a factor of two. In the IPO Curve Window for the path, delete the center point that we added in the last step and change the other two points to vector handles [v]. Then select the last point on the curve and drag it to the right 100 frames to frame number 201. Finally, in the Display buttons window, advance the 'End Frame' parameter to 202, (It needs to be one more, because we are dealing with the number of transitions versus the number of frames). Then select the 'Char_Bone' and 'Calculate Paths'.

You will see that the number of cycles have doubled from 5 to 10, but the period of each walk cycle has remained the same.


Figure 8a. Doubling the Walk Cycle.




Note that you could simply extend the Path length (in Edit Mode) without adjusting the Path Speed IPO Curve duration (Blender will automatically adjust); however, if you extend the path length too much, the motion path will begin to degrade. (Refer to Figure 8b, where the Path Curve has been scaled by a factor of 3 (in Edit mode), but the Path Speed IPO Curve was not adjusted).


Figure 8b. Motion Path Degradation.



That concludes the basic parameters that we can adjust when using the Stride Path feature.



Varying the Pace of the Walk Cycle.


As mentioned earlier in the Introduction section, Blender 2.42 added the ability to add cycles of varying speed to a single path, so let's take a look at how that works.

The first thing we need is another Action. So in the Action Editor, click on the little up/down arrow icon (just left of where it displays 'Action') and select 'ADD NEW' from the popup menu. This adds a new Action called 'Action.001' (Notice how Blender basically just makes a "copy" of the original action). Next step is to select the new action 'Action.001' in the NLA Editor by clicking on it - You should see the black-filled circle now next to 'Action.001', indicating that it is now the active Action. Convert it to an NLA strip by placing your mouse cursor over the 'Action.001' label and then press [c].

For Action.001, set the 'Stride Path' button and switch the axis to 'Y' in the NLA Editor's 'Transform Properties' panel.
Move the Action.001 NLA strip to the right about 40 frames.
Select the Stride_Bone and set the second keyframe at Frame 31 from a vertical setting of 2 to 1. Reselect Char_Bone and press [w] > 'Calculate Path'.
You'll note that the middle cycles are not quite centered, so to adjust that, increase the offset to about 6.


Image 9. Adding Cycles of Varying Speed.







A Practical Example.


Now, let's put all of our knowledge from the previous section to use. This example will be like three tutorials in one. In the first part, we'll set up a fairly advanced foot rig based upon Bassam's presentation at the 2005 Blender Conference: Artist Tutorials Animation by Bassam . (Text version of Bassam's presentation available here: bassam_footrig_2005.txt ). In the second part, we'll set up a basic walk cycle. Finally, in the third part, we'll set up the Stride Bone and show how to implement it to avoid the sliding feet problem using the 'Stride Path' feature


Part 1: Foot Rig.



For those who would prefer to skip this part, here's the foot rig blend file: foot_rig_01.blend

Special Notes:
Parenting Bones is always done in Edit Mode.
Adding Constraints to Bones is always done in Pose Mode.



Figure 2_1. Result.





Figure 2_2. Result.



Figure 2_3. Reversing Anke.L Bone.


In Edit mode: In Pose mode:

Figure 2_4. Left Leg Setup.



Next, we need to create the right leg side.


Note: An alternative method to manually adding the constraints again, would be to copy them. Select the Bone to add the Constraint to: 'Lower_Leg.R' and then Shift_Select the bone to copy the Constraint from: 'Lower_Leg.L' and press Ctrl_C (Copy Pose Attributes) > 'Constraints'. Then you need to edit the suffix part of the Target in the Constraints Panel from 'IK_Foot.L' to 'IK_Foot.R'.


Figure 2_5. Complete Foot Rig.




Part 2: Setting the Walk Cycle Poses.



To make it easier to properly pose the rig, it helps to have a character to make it easier to see the results of the bone modifications.
So here is a basic setup with the character already skinned: walkcycle_02.blend

For those who would prefer to fast forward to Part 3: 'Implementing the Stride Bone Feature.', here's an already posed version: walkcycle_03.blend


Now we will make a very simple 25 Frame, 4 poses walk cycle based somewhat on the Blender 2.3 Guide setup by Claudio 'Malefico' Andaur:

Frame 1  - Contact (Right foot leading, Left foot back)
Frame 4  - Recoil
Frame 7  - Passing
Frame 10  - High Point
Frame 13 - Contact (Flipped R and L)
Frame 16 - Recoil  (Flipped R and L)
Frame 19 - Passing (Flipped R and L)
Frame 22 - High Point (Flipped R and L)
Frame 25 - Contact (Copy of Frame 1)


The only bones that we need to insert keyframes for in each of these poses are : Foot.L and .R (Loc IPO), Ankle.L and R; and Toes.L and R (Rot IPO), and the Hip_Bone (Loc IPO to control the rise and fall motion of the character). To make it easier to select the bones for posing, hide the Upper_Foot.L and R, and the Lower_Foot.L and R bones.

Tip: When inserting KeyFrames for the poses, it is a good idea to also keep an IPO Curve or Action Editor Window open as a visual indicator, so that you have some visual feedback and don't accidentally forget to actually insert the pose. Another option would be to open a TimeLine Window and use the 'Record' feature to automatically insert the KeyFrames for you when ever you perform a modification to the bone.


Note: Blender 2.42 added 'Visual' transformation options in the Insert Key menu. I decided not to update the images below because it would be alot of work ;) and I would need to resize the image smaller to accomodate the larger menu making it harder to see the details.


Contact Pose.



Ensure that the frame slider is at frame 1 and switch to Side view. Start by moving the Foot bones to obtain something similiar to Figure 2_6. Also, tweak the rotation for Ankle & Toes.L and .R as necessary. It appears that I may have placed the Hip_Bone a little high during the rigging stage, so we'll need to lower the Hip_Bone slightly. In the "Contact" pose, the 'height' of the hips should fall inbetween the lowest point - the "Recoil" pose and the highest point - the "High Point" pose. (Normally, in the Contact pose, the hips should be made higher, but in this case we need to lower it in order to obtain the inverted 'Y' shape of the legs by moving the feet a bit further apart, and still maintain a slight bend in the knee).
Select the following bones: Foot.L and .R, and the Hip_Bone and insert [i] > Loc keyframes for them. Select Ankle & Toes.L and .R and insert Rot keyframes.


Figure 2_6. Setting the initial Contact Pose.


Next, advance the frame slider to frame 25, and with all the Keyed bones selected press [i] > Avail. This will simply add keys to the already existing ('Avail'able) IPO curves types that we previously added KeyFrames to. This saves us from having to individually select each set of bones to add Loc IPOs for the Foot & Hip bones, and then Rot IPOs for the Ankle & Toes bones.


Figure 2_7. Setting the final Contact Pose.



With all of the control bones shown below in Figure 2_8 still selected, press the 'Copy Pose to Buffer' icon located in the 3DWindow header.


Figure 2_8. Buffering the Contact Pose.



Adjust the Frame Slider to Frame 13.
Press the 'Paste Mirrored Pose from Buffer' icon located in the 3DWindow header.

Note: The 'Paste Mirrored Pose from Buffer' icon simply pastes the flipped pose to the 3DWindow, you still need to actually save the pose by performing an 'Insert Key' > Avail operation.


Figure 2_9. Paste the Flipped Pose.




Recoil Pose.


Next, we'll add the Recoil Pose. Adjust the Frame Slider to Frame 4, and make the necessary adjustments to the selected bones shown below in Figure 2_10. With all the bones still selected, press [i] 'Insert Key' > Avail. Press the 'Copy Pose to Buffer' icon to save the Recoil Pose in the buffer.


Figure 2_10. Recoil Pose.



Advance the Frame Slider to Frame 16. Press the 'Paste Mirrored Pose from Buffer' icon, and then save the pose with 'Insert Key' > Avail .


Figure 2_11. Recoil (Mirrored) Pose.




Passing Pose.


Next, we'll add the Passing Pose. Adjust the Frame Slider to Frame 7, and make the necessary adjustments to the selected bones shown below in Figure 2_12. With all the bones still selected, press [i] 'Insert Key' > Avail. Press the 'Copy Pose to Buffer' icon to save the Passing Pose in the buffer.


Figure 2_12. Passing Pose.



Advance the Frame Slider to Frame 19. Press the 'Paste Mirrored Pose from Buffer' icon, and then save the pose with 'Insert Key' > Avail .


Figure 2_13. Passing (Mirrored) Pose.




High Point Pose.


Now to add the High Point Pose. Adjust the Frame Slider to Frame 10, and make the necessary adjustments to the selected bones shown below in Figure 2_14. Be carefull not to raise the Hip_Bone too high, which would cause the leg to straighten out too much (there should always be a slight bend in the leg for a more natural look). With all the bones still selected, press [i] 'Insert Key' > Avail. Press the 'Copy Pose to Buffer' icon to save the High Point Pose in the buffer.


Figure 2_14. High Point Pose.


Advance the Frame Slider to Frame 22. Press the 'Paste Mirrored Pose from Buffer' icon, and then save the pose with 'Insert Key' > Avail .


Figure 2_15. High Point (Mirrored) Pose.




If you run the Walk Cycle animation, it looks fairly good, but we can perhaps refine the motion by editing the IPO curves for each bone to remove any "rough spots". Open up an IPO Curve Editor, and tweak the IPO curves for the bones (if necessary) so that they're more "smooth" by carefully scrubbing through the animation and watching how the bones move.
Tip: You can press the little lock icon in the IPO Curve Window header, so that you can watch the effect of your adjustment in the 3DWindow.
The only issue that I noticed, was in the LocY IPO curve for the Foot bones. There is a "bump" in the curve at Frame 13. However, since I want to keep the height of the foot at Frame 13, it is better to adjust the surrounding KeyFrames to smoothen out the curve. Remember not to shift the KeyFrame horizontally when you move it - restrict it to Y-axis only. Also, repeat this for the opposite foot bone.


Figure 2_16. Refining the Walk Cycle IPO Curves.




Part 3: Implementing the Stride Bone Feature.

Note: The Empty alignment technique described in this part is by Claudio 'Malefico' Andaur.


Now that we've completed inserting some poses for a walk cycle, we're ready to implement Stride Path.

Note that to obtain a "complete" character animation, you still need to add poses for the arm, as well as the rest of the upper body (including secondary motions). Or, if you prefer, you could just use the following blend file: walkcycle_03.blend   (Only the arm poses were added to walkcycle_03.blend).

If you haven't already done so, split the 3DWindow horizontally giving us about a quarter of the screen on the right side. Then split the right side window twice to produce three windows on the right. Change the Window types to an NLA, Action, and IPO Editor windows.


Ensure that the Frame Slider is set to frame 1, and then in Pose mode, select 'Foot.R', and snap the 3DCursor to the 'Foot.R' bone.
Press [Tab] to enter Edit mode for the armature. Switch to 'Octahedron' Display Option mode to make it easier to visually identify the bone's root and tip. In Front View mode, add a bone. Select the added bone and move it 1 BU to the right so that it lies on the Z axis. Select just the tip of the added bone and then switch to Side view mode, and move the 'Bone' tip such that it is 1 BU to the left of the Bone root. (The bone should be oriented horizontally and "pointing" to the front of the foot rig). Place your mouse pointer over top of the 'Bone' that we just added and press [ l ] to link select it. Move the bone down slightly (about 0.2 to 0.5 BU below the Y axis) to make it easier to view. Rename 'Bone' to 'Stride_Bone'.


Figure 2_17. Adding the Stride Bone.




Press [Tab] to switch back to Pose mode and with 'Stride_Bone' selected, press 'Stride Root' in the Edit Buttons Window > Armature Bones panel. The 'Stride_Bone' should turn a dark blue color.


Since we have already positioned the 'Stride_Bone' such that its root aligns with the root of 'Foot.R' at Frame 1 in the last step, all we need to do now is insert a Loc Key.


Figure 2_18. Inserting Loc Key for Stride Bone.




For the next 2 poses, the 'Recoil' pose (Frame 4) and the 'Passing' pose (Frame 7), the right foot remains flat on the ground; so we simply need to align the root of the 'Stride_Bone' so that it lines up horizontally with the root of the 'Foot.R' bone (ie. just move the Stride_Bone by pressing [g], [y] ) and then insert a Loc Key for each pose.

Tip: To make it easier to align the 'Stride_Bone' to the 'Foot.R' bone, add an Empty object and then snap the Empty to the bone which you are using as a reference ('Foot.R' in this instance) and place the Empty slightly below the 'Stride_Bone' for each frame that you are inserting a Loc Key for 'Stride_Bone'.



Figure 2_19. Adding Stride Bone Loc Keys for the Recoil and Passing Poses.


When we come to the 'High Point' pose at frame 10, there is a small issue to deal with: the heel of the right foot is no longer in contact with the ground. Thus, it makes no sense to try and keep that portion of the foot stationary on the ground. (Plus the fact that it is rotating up would mean that you would introduce a slight offset if you did try to use it as a reference "object").

However, the toes of the right foot are still making contact with the ground at the 'High Point' pose, so we will instead use 'Toes.R' as the reference bone.

First though, we need to know where the 'Toes.R' bone was prior to the pose in which we are inserting a Key.
So, at the 'Passing' pose (Frame 7), select the 'Toes.R' bone and snap the Empty object to the 'Toes.R' bone. Shift_Select the 'Stride_Bone' and parent the Empty to > Bone.

Advance to the 'High Point' pose (Frame 10), and move the 'Stride_Bone' to the right so that the Empty lines up once again with the root of the 'Toes.R' bone. Insert a Loc key for the 'Stride_Bone'.


Figure 2_19c. Adding Stride Bone Loc Key for the High Point Pose.




For the "Reverse Contact" pose at Frame 13, the right toe bone is still in contact with the ground, so we can simply repeat the last step of sliding the 'Stride_Bone' to the right until the Empty lines up with the 'Toes.R' bone and insert another Loc Key for 'Stride_Bone'.

When we get to Frame 16, we run into a bit of a problem. At this stage, the character's feet are transferring function and we need to switch the focus of the Stride_Bone from Foot.R to Foot.L because the latter is now the one making contact with the ground. To accomodate the switch, return to the last valid frame (Frame 13), select 'Foot.L' and snap the 3DCursor to 'Foot.L'. Add another Empty. Next, parent Empty.001 to the 'Stride_Bone'. Advance to Frame 16. As we did previously for the right toe bone, slide the Stride_Bone to the right until Empty.001 is lined up with the root of 'Foot.L' and then insert another Loc Key for 'Stride_Bone'.


Figure 2_19d. Adding Stride Bone Loc Key for Reverse Recoil Pose (Frame 16).




For the "Reverse Passing" pose (Frame 19), the left foot bone is still in contact with the ground, so we can simply repeat the last step.
For the last two poses, you will need to add another Empty at the last valid pose, and then move the 'Stride_Bone' to align the Empty to the Left toe bone root in each case.


Once you have all the Keys entered for Stride_Bone and checked to ensure that the Walk Cycle runs fine, you can delete the Empty helper objects.
Also, in the Action Editor Window header, LMB click on the drop down selector (where it says 'Action') and give the action an appropriate name such as 'WalkCycle'.


Figure 2_20. Stride_Bone IPO Curve.




In the 3DWindow, press Ctrl_Tab to switch to object mode for the Armature and snap the 3Dcursor to the Armature object. In Top view, add a Curve > Path. In Edit mode, rotate the path so that it is aligned with the front of the Armature and move it such that one end of the path is at the Armature's center point. Scale it (wrt the cursor) by a factor of 7.5 .


Figure 2_21. Adding the Walking Path Curve.




In Object mode, parent the Armature to the path.

Note: Depending on how you rotated the path when you aligned it to the Armature, it is possible that the Path direction is reversed. Usually, you can see this right away by a dashed line extending from the Armature to the opposite end of the Path. To correct this, enter Edit mode for the Path, select all of the points and press [w] Specials > Switch direction. When you [Tab] back to Object mode, you will see the Armature offset to the right. Select the Armature and press Ctrl_o > Clear Origin.


Figure 2_22. Parenting Armature to Path.




Select the Armature and switch to Pose mode Ctrl_[Tab]. Ensure that your mouse pointer is located over the band of KeyFrames to the right of the action label 'WalkCycle' in the NLA Editor Window, and then press [c] to convert them to a NLA strip.


Figure 2_23. Adding a NLA Strip.




Set the Transform Properties panel parameters shown hi_lited below in orange.


Figure 2_24. Stride Path.




To view how the ankle of the foot is moving, (remember that 'Calculate Paths' displays the tip of the bone) select Foot.R and press [w] > 'Calculate Paths'.


Figure 2_25. Foot Motion.






Summary


Perhaps the Stride update in Blender 2.40 isn't the fully automated "create a walk cycle with the push of one button" panacea that you envisioned that it might be. Though in almost every respect, it adds a number of parameters (summarized below) that leaves the power in the hands of the user to tailor make the walk cycle and alleviate the problem of foot slippage.


Stride Bone

Path Speed IPO Curve Path