Skip to content
Guilherme Sousa edited this page Sep 16, 2024 · 3 revisions

Welcome to the godot-motion-matching wiki!

⚠️ This Wiki is, as you can see, a work in progress, and will be updated with this repo.

Repo structure summary

  • MMController: The main node representing your character. It handles most of what you need to have motion matched animations:
    • Handles the movement logic of the player.
    • Generates trajectories of future positions, including collisions and environmental checks.
    • Makes queries used to select an animation and play time.
    • Applies root motion to the Skeleton3D being animated
    • Sychronizes its transform with that of its Skeleton3D using a MMSychronizer.
    • Runs motion matching queries on a MMAnimationLibrary
  • MMAnimationLibrary: a Resource that holds not only a list of animations, but also all the extracted features data for every frame, as well as their statistics data. You can use this to run motion matching queries on a dataset.
  • MMFeature: an Resource that describes data used to match movement to a specific animation frame. You can find implementation examples src/features.
  • MMSychronizer : Synchronizes the position and rotation of the MMController with its Skeleton3D. Without this, root motion from animations will be the only thing controlling the movement of your Skeleton3D, which can stray away from your MMController. This plugin provides a couple of different implementations of these synchronizers.
Clone this wiki locally