This is just a question.

In case you don’t know, motion matching is the term for animating characters… basically in a way that smoothly blends minor and even major animations into each other, such that characters are animated much closer to life.

It is most notable in scenarios where a character rotates their axis of movement dramatically, or speeds up or stops suddenly. Instead of the more old school instant rotation or sudden transition from running to stationary, you get a dynamic and procedural animation. Perhaps most notably, feet and legs actually take steps, instead of gliding, during transitions.

It is not the same as inverse kinematics. That basically just matches feet and legs to the geometry they are standing on, for stairs or inclines. (You can use it with arms for things like adjusting arms during arm anims to better match individual weapons or other things, etc.)

Unity, Unreal and O3DE all have freely available motion matching plugins, and I know Unreal and O3DE have freely available prepackaged humanoid animation libraries. Unity probably does as well, though more expansive anim sets cost some money.

So… question is: Is motion matching even possible in Godot? Is there some plugin hidden in GitHub or somewhere that does this?

From what I’ve been able to figure out… the YMAA project… apparently? claimed to be working on this, but their repo has not been updated in months, their current release does not even have half the features they show off on their youtube channel, and they appear to now be making a machinima or something so who knows.

That is all I have really been able to find. A few other github devs and youtube channels have extremely rudimentary procedural animation in demos, but either they have not listed their code anywhere or its been abandoned for months or years, sometimes since before Godot 4.

So yeah, anyone know if there is a Godot Motion Matching plugin?

    • sp3ctr4lOP
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      7 months ago

      Nope.

      See my other comment for more detail.

      Again, summarized, motion matching is a system that builds off of an animation tree with procedurally generated transitions and blends which create a far, far more realistic fidelity of animation quality then standard anim trees allow.

        • sp3ctr4lOP
          link
          fedilink
          arrow-up
          2
          ·
          7 months ago

          Yes, blend trees are the very first step of how one would implement motion matching.

          Problem is that fine tuning the algorithms that govern all that is pretty darned complex and time consuming.

          Also, afaik, blend trees alone are not sufficient to allow godot to do motion matching, as there are outstanding requests for it on godot’s git.

          • Gamma@beehaw.org
            link
            fedilink
            English
            arrow-up
            2
            ·
            7 months ago

            That would make sense, I’m sorry about the lacking features! They sound super useful