Motion Matching
Choosing animation frames from a database to match movement
Also known as: Motion matching Unreal · Pose Search · Motion matching Unity · Locomotion database · Data-driven animation
Definition
Motion matching is an animation technique in which the engine searches a large database of motion capture or authored animation, every frame, for the pose that best matches the character's current motion and where the player wants to go, and plays from there. Instead of hand-built state machines and blend spaces, the result is very fluid movement with fewer transitions, because many small variations are in the data. Unreal Engine 5 provides it through Pose Search, and it is used in many modern games.
In production
It needs a well-organized database of locomotion clips, with a wide range of speeds, turns, starts and stops, and good tagging, and tuning its cost, such as the number of poses searched. Artists prepare and clean the data, and gameplay and animation teams tune the weights. It works best for responsive locomotion with lots of motion capture, and can combine with traditional state machines for other actions.
Tools that use Motion Matching
See also
Motion Capture
Recording real-actor motion
Blend Space and Blend Tree
Mixing animations by a parameter such as speed
Animation State Machine
Graph of animation states and transitions
Animation Graph
Node-based runtime animation evaluation
Root Motion
Movement driven by the animation, not the controller
Animation Blending
Interpolate poses between clips