NotesProcedural locomotion for Three.js
The gait, measured against real people
I compared the gait with CMU motion capture and tuned it curve by curve.
Until now, whether the gait looked right depended on looking at it. Now it is measured: I analyse it the same way as real motion capture from the CMU database, at the same relative speed, and compare curve by curve.
Several changes came out of that comparison:
- Cadence grows with the square root of speed, and running starts at 1.7 m/s and is complete around 2.3 m/s.
- The swinging foot follows the mocap's shape: it leaves with the push-off velocity, reaches its peak early and glides into contact.
- The heel rises to about 55° over the toe joint, and the toes bend and stay planted.
- The arms swing more backwards than forwards, and more the faster it goes.
I also added optional twist bones in thighs, shins, upper arms and forearms, and a naturalness test that fails if the gait drifts from the reference.