This is the final (final?) version of the walking horse.
The animation below is just a sample piece of the MPEG animation. [>] Download the 1.5Mb MPEG complete animation.
Below, there is a mini tutorial about the armature’s design. If you find any mistake (my english or any other) please send me a note and I will correct it. If you want a .blend copy of the armature send me a mail. (the site I’m using to hotlink the animation doesn’t allow other file formats)
TUTORIAL: Armature design for complex legs
The objective of this mini-tutorial is to show a design for complex leg armatures, such as the one is needed for 4 feet animals. The standard human leg armature is unusable for animals because animal legs have more than 2 bones between the back and the feet (or hoofs), so a simple ik_solver approach results in wired movements.
Let’s take a look to a horse’s walking cycle (front legs):
On the one hand, during the backward movement, the hoof moves straight because it is in touch with the floor, the leg is completely rigid, and the shoulder part has to compensate the relative movement beetwen the leg and the body.
On the other hand, during the forward movement the leg bents and the bones seem to be free so allowing the hoof to return (some inches over the floor) to its original position.
To achieve these behaviours, we need two different types of control: one that makes possible to move the whole leg without relative movement of the bones, and other one to handle the hoof and bend the intermediate bones of the leg.
This is the proposed armature:
The blue bones are the handling bones, these are the bones that can be draged (or rotated) to make the leg walk.
First, select the bone Hoof.L, and make it child of LegHadle.L
Make sure that Leg.L bone has the “IK Link to parent” button pressed
Then, put the armature in Posing-mode (Ctrl-Tab) and add the following constraints:
a) To the IK_Back, add an IK_Solver to the bone Back3
b) To the IK_Arm.L, add an IK_Solver to LegHandle.L
c) To the ForeArm.L, add an Copy Location to IK_Arm.L
d) To the IK_Cannon.L, add an IK_Solver to Hoof.L
e) To the IK_Leg.L, add an IK_Solver to LegHadle.L
Then, select the bone Hoof.L and drag it over the LegHandle.L bone. That’s it.
Now, it is the time to test our armature.
-
Dragging the bone Back3 up and down you can simulate the movement of the animal’s back. Note that the backbone follows smoothly this movement, and the chest adjusts itself to allow the leg system to be rigid.
-
Dragging the LegHadle.L right and left you can simulate the animal pace. Note that the leg remains rigid, and the hoof follows the movement without any rotation. In the walking cycle, this bone is supposed to go from the right end of the pace to the left end, and then return to the original position.
-
Dragging and rotating the Hoof.L, you can simulate the forward movement of the walking cycle. If you drag the bone up, the leg bends preserving the position of the chest.