Motion Matching is an animation technique that allows you to easily setup character movement animations from large amounts of unlabeled animation data, without requiring any blend trees or state machines.
This extension is fully integrated into Godot's AnimationTree
system, and can be used in tandem with more traditional animation techniques.
Motion Matching uses a set of animations contained in an animation library to build a pose database, which contains features that describe different animation frames in different ways. At runtime, these features are periodically compared against what the character is doing, and the animation that best matches those features is played.
The only requirement for all this to work is to have animations with both root motion, and a root bone at the foot level.
You can find more on how to set all this up on the wiki here!
I want to thank all the contributors that made this project possible!
Fire GeorgeS Remi Roberts Kalnins
- Road to Next Gen Animation - GDC Talk
- Simon Clavet's implementation video
- Orange Duck's Blog
- Remi's Motion Matching implementation
- Demo data taken from O3DE Motion Matching Implementation
A motion matching implementation in Godot 4.4, implemented following Dan Holden's article.