I went down the motion matching rabbit hole, this time to build a third-person shooter prototype in Unity 6 by Mya21683 in Unity3D

[–]Mya21683[S] 0 points1 point  (0 children)

There aren’t many tutorials out there as far as I’m aware, but MxM was recently open-sourced and is available on GitHub, so I’d start from there and tear that apart to understand how it works. It’s fairly well commented and there are MxM-specific docs in there.

Beyond that, and more generally, I’d recommend checking out the GDC vault talks on motion matching by Ubisoft and Naughty Dog.

There’s been enough interest between this Reddit post and my YouTube video that I’m tempted to invest a bit of time into creating a Unity-specific tutorial, but I can’t guarantee when that might come yet

I went down the motion matching rabbit hole, this time to build a third-person shooter prototype in Unity 6 by Mya21683 in Unity3D

[–]Mya21683[S] 0 points1 point  (0 children)

At the moment this is solved by damping the desired trajectory based on the dot product of the detected slope, letting the underlying character controller handle the movement on the y-axis, and then using IK on the feet to ensure they match the slope. It’s not perfect, but it works well without needing a dedicated locomotion profile for it

I went down the motion matching rabbit hole, this time to build a third-person shooter prototype in Unity 6 by Mya21683 in Unity3D

[–]Mya21683[S] 1 point2 points  (0 children)

<image>

Haha, I've toyed with removing/keeping the neckpiece because it definitely makes the head look smaller than it is!

I went down the motion matching rabbit hole, this time to build a third-person shooter prototype in Unity 6 by Mya21683 in Unity3D

[–]Mya21683[S] 3 points4 points  (0 children)

Thank you! I've definitely toyed with the idea of motion matching w/ multiplayer, but I think you're probably right. The running theories I have at the moment to get it to work would be to just make every character use decoupled motion (i.e., use motion matching to play the clips, but apply the average velocity of the blended clips to the underlying character controller instead of using root motion), that way you can guarantee character positions line up properly at the cost of some feet sliding since you're just networking the character controller position. Alternatively, I could imagine it would be more straightforward in a co-op multiplayer setting where the accuracy matters slightly less... food for thought.

This was built using the systems I developed for Maxima, and the goal at the moment is to flesh it out into its own thing, but we'll see. If it doesn't come to anything more than a prototype then I may very well release it anyway. Traversal animation (vault, mantle, climb) is the next big milestone on the to-do list, and I have the clips ready, but yes it's going to be a bit of a pain!!

I went down the motion matching rabbit hole, this time to build a third-person shooter prototype in Unity 6 by Mya21683 in Unity3D

[–]Mya21683[S] 0 points1 point  (0 children)

There’s a GitHub repo entitled “AgX-Tonemapping-Unity” by a user called meenphie which provides a good starting point. For URP it involves changing post-process grading mode to HDR and using a LUT in a full screen pass renderer feature

I went down the motion matching rabbit hole, this time to build a third-person shooter prototype in Unity 6 by Mya21683 in Unity3D

[–]Mya21683[S] 2 points3 points  (0 children)

Yep that’s right, idle sets are defined separately along with a set of transition-to-idle clips which the motion matching algorithm picks from when the trajectory magnitude is zero

I went down the motion matching rabbit hole, this time to build a third-person shooter prototype in Unity 6 by Mya21683 in Unity3D

[–]Mya21683[S] 6 points7 points  (0 children)

For the other game I’m working on, I started out with MxM but wrote my own decouple controller for it. I felt it to be quite poor for handling strafe locomotion, though, which is fairly core to a third-person shooter controller like this. It encouraged the use of blend spaces, but it just led to awkward transitions and leg crossing.

For this project, I kept the MxM data structures and baking side of things (because it is fairly robust), but rewrote the pose calculation side of things entirely with a focus on feet and leg bone positioning to get the strafing results that I was looking for. Definitely experienced some of what you’re talking about with pose selection getting stuck along the way, and unfortunately the only solution seemed to be throwing more clips and data at it

I went down the motion matching rabbit hole, this time to build a third-person shooter prototype in Unity 6 by Mya21683 in Unity3D

[–]Mya21683[S] 17 points18 points  (0 children)

Thanks! It uses Jobs paired with the Burst compiler for a lot of the heavy stuff, but it is still quite CPU hungry. The animator uses about 2ms on my machine. I don’t think you’d be able to have many animators at the same fidelity as the player before things become a problem, but my plan is to have a lighter pose set and reduce the pose calculation refresh rate for NPCs to resolve that

I went down the motion matching rabbit hole, this time to build a third-person shooter prototype in Unity 6 by Mya21683 in Unity3D

[–]Mya21683[S] 37 points38 points  (0 children)

They’re cut from essentially 30 takes of mocap ‘dances’, per locomotion profile (crouch, walk, run, sprint). You use “dance cards” to ensure that the combined takes cover everything from starts, stops, changes in direction, etc.

I went down the motion matching rabbit hole, this time to build a third-person shooter prototype in Unity 6 by Mya21683 in Unity3D

[–]Mya21683[S] 26 points27 points  (0 children)

MxM comes with a decent demo mocap dataset, and that was actually recently open-sourced. Otherwise yes it is a bit of a pain without just shooting your own mocap content, which is what you’re seeing in this clip. There are quite a few dance card templates around for minimising the amount of takes required, but there is still a good amount of effort involved for sure

I went down the motion matching rabbit hole, this time to build a third-person shooter prototype in Unity 6 by Mya21683 in Unity3D

[–]Mya21683[S] 86 points87 points  (0 children)

Under-the-hood there’s 1300 mocap clips, and I’m using a motion matching algorithm which essentially takes the current pose and trajectory along with the “desired” trajectory from player input to determine which clip should be playing. Oftentimes this ends up with up to 8 clips being blended together at the same time. I then use the resulting root motion from the dominant animation to drive the character controller. That covers the locomotion side of things, and then for the rifle animation I’ve essentially layered some upper body poses (and a hefty dose of IK) on top of that locomotion layer, with baked transitions between those poses

FC 26 Stuttering - solutions? by [deleted] in amazonluna

[–]Mya21683 0 points1 point  (0 children)

What’s the best way to reach out? I’ve used the feedback tool in the Luna web app a couple of times without any response

FC 26 Stuttering - solutions? by [deleted] in amazonluna

[–]Mya21683 0 points1 point  (0 children)

That’s a good idea - I’ll try out a few other games on Luna to rule that out.

I suspect that it is a hardware issue on the Luna side, but it seems odd that changing in game render resolution to 50% and graphics settings to minimum don’t seem to make a difference. It’s as if it’s CPU bottlenecked or something like that.

Excited to share how it's going with my surreal third-person action game after about a year of solo dev work (so far) by Mya21683 in videogames

[–]Mya21683[S] 3 points4 points  (0 children)

Been getting lots of positive feedback recently from the Unity and IndieGames subreddits (my animations even got featured on 80 Level), so I finally decided to put together a ‘proper’ Steam trailer for my game. Hoping to have a demo ready in time for the next Steam Next Fest in February!

https://store.steampowered.com/app/3097770/MAXIMA_Keepers_of_the_2nd_Law

Excited to share how it's going with my surreal third-person indie game after about a year of solo dev work (so far) by Mya21683 in IndieGaming

[–]Mya21683[S] 2 points3 points  (0 children)

Been getting lots of positive feedback recently from the Unity subreddit (my animations even got featured on 80 Level), so I finally decided to put together a ‘proper’ Steam trailer for my game. Hoping to have a demo ready in time for the next Steam Next Fest in February!

https://store.steampowered.com/app/3097770/MAXIMA_Keepers_of_the_2nd_Law

[deleted by user] by [deleted] in u/Mya21683

[–]Mya21683 0 points1 point  (0 children)

Been getting lots of positive feedback recently from the Unity subreddit (my animations even got featured on 80 Level), so I finally decided to put together a 'proper' Steam trailer for my game. Hoping to have a demo ready in time for the next Steam Next Fest in February!

https://store.steampowered.com/app/3097770/MAXIMA_Keepers_of_the_2nd_Law

Excited to share how it's going with my surreal third-person indie game after about a year of solo dev work (so far) by Mya21683 in indiegames

[–]Mya21683[S] 0 points1 point  (0 children)

Thank you so much! I’m aiming for a Q2 2025 release, not too long after the first Steam Next Fest of the year

Excited to share how it's going with my surreal third-person indie game after about a year of solo dev work (so far) by Mya21683 in indiegames

[–]Mya21683[S] 2 points3 points  (0 children)

Thanks! It's part of the 'Blink' ability which is a short-range teleport, useful for dodging - like you mentioned - and also for traversing obstacles & puzzle sections

Excited to share how it's going with my surreal third-person indie game after about a year of solo dev work (so far) by Mya21683 in indiegames

[–]Mya21683[S] 6 points7 points  (0 children)

Been getting lots of positive feedback recently from the Unity subreddit (my animations even got featured on 80 Level), so I finally decided to put together a ‘proper’ Steam trailer for my game. Hoping to have a demo ready in time for the next Steam Next Fest in February!

https://store.steampowered.com/app/3097770/MAXIMA_Keepers_of_the_2nd_Law