Environment-aware Motion Matching
Jose Luis Ponton, Sheldon Andrews, Carlos Andujar, Nuria Pelechano
TL;DR
Environment-aware Motion Matching integrates an environment-driven, two-stage search with a simple collision proxy to produce real-time, full-body animation that naturally adapts pose and trajectory in crowded and obstacle-rich scenes. By separating query features (pose/trajectory) from environment features (collision penalties) and using a log-barrier penalization, the method achieves robust obstacle avoidance while maintaining motion quality. Key contributions include a 2D ellipse-based body representation, a two-tier feature search with temporal coherence optimizations, and seamless integration into crowd simulations using a single actor mocap database. The approach yields lightweight memory requirements, no training, and straightforward adaptability to new animation styles, making it well-suited for games, VR/AR, and large-scale crowds.
Abstract
Interactive applications demand believable characters that respond naturally to dynamic environments. Traditional character animation techniques often struggle to handle arbitrary situations, leading to a growing trend of dynamically selecting motion-captured animations based on predefined features. While Motion Matching has proven effective for locomotion by aligning to target trajectories, animating environment interactions and crowd behaviors remains challenging due to the need to consider surrounding elements. Existing approaches often involve manual setup or lack the naturalism of motion capture. Furthermore, in crowd animation, body animation is frequently treated as a separate process from trajectory planning, leading to inconsistencies between body pose and root motion. To address these limitations, we present Environment-aware Motion Matching, a novel real-time system for full-body character animation that dynamically adapts to obstacles and other agents, emphasizing the bidirectional relationship between pose and trajectory. In a preprocessing step, we extract shape, pose, and trajectory features from a motion capture database. At runtime, we perform an efficient search that matches user input and current pose while penalizing collisions with a dynamic environment. Our method allows characters to naturally adjust their pose and trajectory to navigate crowded scenes.
