When creating walkcycles, you can set an NLA strip to cycle an Action over a path based on a preset distance value (the "Stride" spinner in the N-KEY NLA properties panel). This cycling happens based on a linear interpolation, with constant speed. The problem is that not all cycles have a constant speed. Hopping, jumping or even a well-tweaked walk cycle can have the character progressing at varying speeds during a single iteration of the cycle.

To ensure a perfect non-sliding contact between the feet and ground, you can now set a Bone in an Armature to define the stride. This "Stride Bone" then becomes a sort-of ruler, a conveyor belt, on which the character walks. In conjunction with the NLA "Use Path" option, it forces the Stride Bone to remain motionless on the path during each cycle, by moving the whole armature forward, thereby cancelling out the motion of the designated Stride Bone. This means that the animation keys for a Stride Bone have to be the opposite of the desired path direction (the Stride Bone of a forward moving character must be keyed to move backwards within the walkcycle action). Only the X,Y or Z Ipo curve of Stride Bone is used to calculate the stride, depending on the user's choice of axis in the stride options on the NLA properties panel.

Setting up a stride

Setting up an efficient stride can be confusing at first... because the Stride Bone will do exactly the opposite of what you actually see while editing it! Try to visualize the Stride Bone as a conveyor belt, or the floor, across which your character moves.

• The distance between the first and last key position of the Stride Bone defines the full cycle the Action will cover over the Path.
• If you want a specific Bone to not move on the Path (i.e. stick to the floor), you have to make it move in conjuction with the Stride Bone.
• Keep in mind that bones that appear to be stationary in the Action editor will move in the opposite direction of the Stride Bone, according to the Path speed!
• Use the "Disable Path" option in the NLA window Properties panel to quickly switch between keying the stride bone and seeing the result.

Examples:

Using no Stride Bone, but a fixed stride distance:

The Action with Stride Bone, but path disabled:

The stride on the path.

Test .blend:

Notes:

Note that Action keys for Bones work locally, based on the Bone's orientation as set in EditMode. Therefore, an Y translation always goes in the Bone's direction.

Set the Stride Bone in the Editing Buttons, Bone Panel. You can change the name or set the axis in the NLA Window Properties Panel.