Procedural Animation Tool
A Godot tool for procedural creature locomotion, with IK foot placement, terrain-aware movement and secondary motion instead of large hand-made animation libraries.
Video
Video coming soon
Presentation
Gallery
Overview
Hand-made locomotion for lots of creatures is very repetitive. Animation trees and state machines rely on large animation libraries, and foot placement and body movement need extra work to look convincing on uneven terrain.
This tool aims to make that far less repetitive and complex, with built-in IK foot placement, terrain-aware movement, and secondary motion such as turning and leaning.
The workflow: import a rigged model into Godot and the tool identifies its skeleton and bone relationships. You choose a body type, bipedal or quadrupedal (with categories such as horses, cats and dogs), then a gait, such as walk, run or sprint for a biped. Artists can adjust stride length, speed, joint behaviour and rotations. These also help convey emotion: less arm and leg swing with a forward torso lean reads as tired.
What I did
So far I've focused on research and analysis of natural locomotion and secondary motion. Studying horses, I noticed the ankles and wrists follow the same curve on every swing, which makes them programmable, and the shoulders and hips rotate against the pelvis. When sprinting, both feet leave the ground for a moment.
Horses switch between distinct gaits (walk, trot, canter and gallop), each with its own footfall rhythm, rather than simply speeding up a walk, so the tool has to model each one. The spine matters too: the tool covers the hips, spine and shoulders, not just the legs, and a galloping horse stretches its neck forward mid-stride.
I also compared other techniques, including motion matching, animation blend trees and procedural IK in other engines, and studied GDC talks such as the one on motion matching in The Last of Us, which relies on thousands of animations.
I'm aiming to have a base version working in about a month, then I'll keep building on it.
What I learned
[What I learned: one or two honest takeaways.]