Notifications
Motion Magic (MxM) Motion Matching Animation System for Unity (WIP)
Showcase
2.2 K
77
Motion Magic (MxM) is an work in progress animation system for Unity Engine that utilises the 'Motion Matching' technique of animation instead of traditional state based animation. Motion Matching does not require a complex state machine, there's no need to clean up mocap data and animation clips do not need to be cut. It's fast, simple and provides smooth and realistic animations.
Motion matching works on the simple concept that if an animation pose has a similar pose to the current pose and it's trajectory aligns with the desired trajectory of the character, then it is a good choice for an animation frame to jump to. MxM jumps all over the place through all animation data at any time in order to achieve the best possible result.
While there are other animation techniques that allow high quality animation, they are often very rigid with slow response to user input. Motion matching makes little compromise, providing high quality organic animation coupled together with a fast response to user input.
Motion Matching also has the added benefit of being extremely easy to add to a game because it does not require mocap data to be cleaned up and it does not require the building of a state machine. All the work is done for you with Motion Magic.

Kenneth Claassen
Self Employed - Programmer
3
Comments
Kenneth Claassen
14 days ago
Self Employed - Programmer
Gavalakis VaggelisIf you decide to continue working on this, which I definetely think you should regardless of Kinematica being announced, you might want to consider using the Playables API instead of Animator state machines to avoid "hacking" like you mentioned.
Wow I can't believe I didn't find the Playables API while I was researching. This would have been super useful to know about. Whether I'll keep working on it, still probably not at this point. The motivation is at an all time low.
0
Kenneth Claassen
14 days ago
Self Employed - Programmer
Victor LajideHow did you store your motion field or did you just brute force check every single animation clip?
It's pretty brute force as it is. Basically a list of poses spaced at even time intervals throughout all animation clips. Each pose containing the data for specific pose matching aspects and their trajectories. The plan was to get the matching algorithm working right first and then take care of optimisation afterwards.
0
VL
Victor Lajide
19 days ago
How did you store your motion field or did you just brute force check every single animation clip?
0
GV
If you decide to continue working on this, which I definetely think you should regardless of Kinematica being announced, you might want to consider using the Playables API instead of Animator state machines to avoid "hacking" like you mentioned.
1
Kenneth Claassen
a month ago
Self Employed - Programmer
David Lieder@Kenneth Claassen Hi, is this project still happening? It was featured today on the Unity website.
Long story short I don't believe there is a benefit to continue this project as I likely won't have a viable product before kinematica comes to Unity. Also kinematika will perform better as it won't be 'hacking' into the existing animation system like I have to to get this work.
0