All work

Motion matching

From source clips to responsive movement

Motion Studio connects imported animation, retargeting and motion matching in one workspace. I am building a native system that selects motion from pose and trajectory data, then brings that choice back to a controllable character. Preparing the clips is as important as the search: incorrect root travel, incomplete skeleton data or a discontinuous take can make an otherwise reasonable match fail. The recording shows the controller with its diagnostic trajectories enabled. Requested movement, the selected animation's path, input velocity and actual physics velocity can be compared directly. That makes it easier to see whether a problem comes from the motion data, the trajectory request or the character's physical response. The earlier stills document the preparation and inspection tools behind that playback.

Motion matching · requested and actual movement

Green shows the requested trajectory; red shows the playing animation's trajectory. Cyan is input velocity and gold is actual physics velocity, both drawn over a 0.5-second horizon.

01 / 02

Process

Prepare a useful motion dataset

Animation Modules organise composites, tags and idle sets. Pre-Process Data defines the trajectory and pose settings used to build Anim Data in the background. I split stitched takes at teleporting joins instead of asking the search to treat those jumps as continuous locomotion. Cleaning the input makes the later diagnostic views much more useful.

Retarget beyond the visible skin

Imported skin palettes can omit joints needed for motion analysis. The preprocessing path therefore retains the complete target skeleton and root travel, while visible playback uses the correct palettes for each mesh. That distinction also matters for characters whose eyes, jaw and body arrive as separate skinned parts.

Technical breakdown

Native pose and trajectory search

The native C++ implementation follows MxM's design concepts, without using MxM or Unity code. It includes pose and trajectory costs, tags, favour settings, next-pose tolerance, inertialized transitions, a spring trajectory generator and angular error warping. Canonical humanoid poses allow characterized targets to share prepared motion data.

Layer expression over locomotion

Masked overlays add facial, head, upper-body, hand or custom motion over the base locomotion, with independent clocks, weights and fades. Evaluating those layers on the complete target topology keeps small facial parts attached while the body moves. The goal is to make expressive layers editable without rebuilding the locomotion dataset.

The recording is silent and autoplays muted. Source characters and motion clips retain their original authorship. Debug overlays expose the current behaviour; they are not a controlled performance or foot-contact benchmark.

NextFounder Engine