LGM's Learning to Walk Tutorial

Learning to Walk

By Nathan Dunlap (LGM)

Welcome to my "Learning to Walk" tutorial. Here, I will try to teach some basic animation techniques through a walk example. Be forwarned, though, that walks are the among the most difficult things to animate. I cannot guarantee you will have a completely satisfactory walk at the end of this tutorial. The purpose of this tutorial is to make you more comfortable with animation in general using a walk as an example of animation.

Be aware of 3 things:

  • 1. There are many ways to animate, and consequently many ways to animate a walk. This is a way that I have found works very well and results in nice animation.
  • 2. This isn't a walk-cycle tutorial. It's how to animate a character walking from point A to point B without cyclic animation or the NLA editor. I have found this to be the easiest way to animate a character walking. It involves a lot more duplicating, but it's easier to have the character react to his surroundings and to keep his feet solid without any sliding.
  • 3. This tutorial assumes a basic knowledge of and a familiarity with Blender. There are some really basic commands which I have put in, while I assume you know how to do the others.
  • We will be using Jason Pierce's Ludwig model for this tutorial. Download it now. It is a very, very nice rig.

    (One more note, in case you're having trouble figuring out which image goes with which words, each image corresponds to the paragraph(s) above it.)

    All right. Open the blendfile and you will be presented with this screen:

    Daunting, yes? Yes. Much too many words on the right hand side. After you have read through them you will change the SCR value to "Animation."

    Now we'll need a floor to use as a guide for his feet. We don't want his feet to pass through the floor.

    Add a plane.

    Size it up and place it under his feet, just touching the bottoms of them. Zoom in, if you want, to make it more precise.

    Change the IPO window to the Action Editor. This allows us to see the channels and keyframes for his bones.

    Now we're going to turn off the IK handles for his arms. IK should only be used when you want his hand to be stationary compared to his body (leaning against a wall, levering himself up from the floor, etc.). To do this, select Forearm.L and look in the constraints panel at the bottom of the screen. Turn the influence value down to zero. Do the same for the other Forearm. Next, select Hand.R and turn the values on those constraints (copy location and copy rotation) down to zero.

    Select one bone and press the i-key. This brings up a menu with the options: Loc, Rot, Size, LocRot, LocRotSize, and Avail. We will be using LocRot. Clicking on LocRot inserts inserts a key on that frame telling blender that this bone will be in this location rotated so on this frame. For more details on how keyframing works refer to the beginner animation section of the Blender 3D Noob to Pro Wiki.

    Find and select the following 15 bones: Foot_Root.L, Foot_Root.R, Torso, UpperBody, Shoulder.L, Shoulder.R, Head, Bisep.R, Forearm.R, Hand.R, Bisep.L, Forearm.L, Hand.L, Ball_Heel_Rotation.L, Ball_Heel_Rotation.R, press the i-key and click on LocRot. This will create channels for each bone. You needn't select all the bones at once. For beginners it is easier to find each bone one at a time and insert the LocRot keyframe each time.

    Down in the bottom, left-hand corner of the 3D window you'll see a number (1) in parenthesis. That is the frame number that you're currently on. The next word is the name of the armature that you're currently working with (ludwigArmature), and the next word (Bisep.L) is the name of the bone you have currently selected.

    Select Foot_Root.L and Foot_Root.R and hit "Page Down." This allows you to order the bone channels in any way you like.

    I do it feet at the bottom and work my way up to the head.

    Now we start. Take Foot_Root.R and slide it forward. I used the ctrl key to lock it to the grid. You don't have to, it's just a foible I have. Take Foot_Root.L and move it back. Now rotate Ball_Heel_Rotation.L and Ball_Heel_Rotation.R on their local x-axis (r+x+x) until you've got an image like this:

    Now rotate Bisep.R, Forearm.R and Hand.R until they hang down naturally. Do the same for the left side.

    Next (page2) ->