Motion Matching - My Thoughts [UE5]

preview_player
Показать описание
Hey babe, wake up! Motion Matching just dropped! This is a little rambler about Motion Matching in Unreal Engine 5, as well as my thoughts on the 500 FREE animations and the feasibility of Motion Matching in an Indie game.

----------------------------
Buy the Prismatiscape Interaction Plugin for $34.99!

-----------------------------

----------------------------
Computer Specs:
Ryzen 3900x 12-core CPU
MSI Geforce RTX 2080 Super
64GB Corsair RAM
One of those fancy nvme m.2 SSD's

Programs of choice:
Unreal Engine - (Game Dev)
Blender - (Animation and Modelling)
OBS - (Video/screen capture)
Davinci Resolve - (Video editing)
Adobe Photoshop - (Graphics and Texturing)
ProTools 11 - (Compositions and mixing)
OldSchool Runescape - (The best game)

Filmed using:
Sony A7s2 body
Sony 24-70mm f/2.8 GM lens
Yonguo YN360 LED's for colour
Yongnuo YN760 chip LED w/ Godox softbox for key

My lovely cats names are Boycat, Girlcat and Ladycat :)
Рекомендации по теме
Комментарии
Автор

I just feel like I have to comment this video.

Hi, I’m an indie developer for quite some years now. Me and my small team are working on a game for some time now but we just recently re-started the whole process just to bring some new fresh air to the game.

This motion matching system should bring most of the “fresh air”, since it really brings the locomotion and quality of your character’s movement to a completely new level.

So I implemented the databases, animations, trajectory and everything and at the beginning it looked fantastic. I felt like god, to see my character behave AAA-ish.

But as more things I wanted to add, the more complicated it became.

The best example are the footstep sounds.
As you know, you must add notifies to all the spots where the feet touches the ground in an animation. Well.. if you just add the notifies in the “move forward” animation, it will not work at all. Because the choosers table (a table that selects the best animations out of hundreds in the current situation) selects another animation all the time. This meant, that we had to add the notifies to ALL the 100+ walk animations. Walk sidewards fwd right, walk sidewards fwd left etc etc. And doing that with more than 100 animations costs time. But we did it.

Than, we implemented our weapon system. There comes the other problem. Somehow, left hand IK did not work for this kind of animation system so we just changed the left hand position within the animation for aiming. BUT, with motion matching, there are at least 50 different aiming animations. Also there, we had to adjust the hand for every single animation.

Then next, we wanted to add an offset for aiming. It did not work properly because of the motion matching system. And since all of this is pretty new, documentation for fixes or issue-solving is pretty “slim”. We could not fix it yet.

And at the beginning, if our character interacts with something and should play a simple animation with the node “play anim montage” or just “play anim” it did not work and the character flew around. Because somehow, the motion matching pose flow could not be interrupted (we managed to fix it somehow).

We are planning to integrate a lot of other more complex things.

And now, we saw that we focussed too much on that motion matching thing. Which is why we will start all over again to get a new “fresh wind” but this time without the motion matching.

For me personally, I think this is not something small studios should put their focus on.
We will keep the trajectory and chooser-table-system in the game, since we think it’s a pretty good alternative to the usual blendspace method. But we will just add 5-10 animations for every movement and be happy with that.

And I think other indie devs should do the same. The game will be great, but not because of the animations. Sure, it’s important to focus on animation, but it’s more important to focus on a smooth end experience and a clean backend structure, which is not given with the motion matching system right now.

But I’m sure it will be better one day.

aurustarsia
Автор

So one thing about motion matching is it doesn't need 500+ anims to work. You want to think of it as a framework you build upon vs producing a huge volume of anims. Basically you don't need 50 blend anims between run forward and both L and R directions etc. You can use traditional techniques to fill in the gaps. Epic had a stream where they had 7 base animation sequences in the system and it looked pretty decent.

Another advantage is the states that power it can be easily replicated. Things like IK/FK are expensive to replicate because the IK drivers are traditionally based upon world position, so you have to lerp between server ticks the position of the drivers; with this system the baked animations are present on both clients and so you only need to replicate the state changes to reproduce the results on clients.

So there is a huge advantage there.

I agree with you on the Only Up ALSv4 comparison. We will see a multiplayer parkour racer in less then 6 months that is just all male characters in street cloths using 100% this anim library. I think overall though its a really powerful system that will benefit people going for a more Tomb Raider esq style movement system for the main character without needing massive anim scripting work or advanced knowledge of how to do it.

Fighter
Автор

Motion Matching seems good for midsize/large companies where you’ll have one person/team dedicated to animation, but on a solo end it would be a death sentence in terms of development time

thatfish
Автор

As a solo dev I'm planning on scenes with a couple hundred characters on screen and had no idea about the performance issues, so thanks for highlighting that!

Ryanowning
Автор

Excellent information and opinion. I agree with you entirely. I think that we'll see a lot of newer indie devs, or people with specific single-player projects, who use and package with this. I think for those of us who are making multiplayer games/are already into our projects, probably not for us. The idea is nice! But I mean, I do all of my animations from scratch in Blender because of optimization for my game with multiplayer.

Reason being, just like you've mentioned, for each of my weapons, or at least genres, I need new animations. So I have crouch, walk, jog and run/sprint. Doesn't sound like a lot until you take into count forward, backward, strafe left, strafe right, diagonal left fwd, diagonal right fwd, diagonal left bwd, diagonal right bwd. Then take into count my aim offsets for the head/torso to follow the mouse in those states (additive). Now take into fact the items I animate the player holding: one handed weapon, one handed weapon with offhand, one handed weapon blocking and blocking with offhand, then two handed weapons, two handed weapons blocking, then bows, then crossbows.


So just for my one handed weapons I have forward, backward, strafe left, strafe right, diagonal left, diagonal right, and those all in crouch, walk, jog, run/sprint. So 8x4=32. 32 animations for my one handed weapon. Hmmm, what about unarmed, with offhand, blocking, two handed, blocking, bow, crossbow...? I have 224 animations, roughly.
Finally you add other states like jumping and swimming, as well as emotes, like sitting, waving, sleeping... You can get all of your animations for a humanoid rig up to 500 sure, but they will be more optimized and run better in a multiplayer game.

If you were to take these 500 animations and then add weapons, etc. you're talking about thousands of animations.

Crazy. I can't imagine using this. Does look beautiful though.
Good luck with an open world map with structures, foliage, water, niagara effects, npc's and their pathing, weather, music, and keeping a good frame rate. Yikes!

Sorry for the rant. Don't even get me started on AI assets.

samohickey
Автор

dense data sets are kinda the nature of the beast with motion matching. more often times, it's benefits (insane fidelity and workflow simplification) outweigh the shortcomings (learning curve, some inflexibility, performance with many characters, etc.). Additive layers are probably the solution for different "styles" (assuming one doesn't want to recapture all 500 anims) but you can get a ton of mileage out of additive animation these days. Overall I think bringing motion matching to the masses will only be a good thing moving forward (no pun intended)

TheShinyHaxorusD
Автор

They are adding nanite for skeletal meshes in 5.5 so I'm curious to see how it will work in terms of performance.

RwanLink
Автор

My thought exactly was that. “Imma just take the animations thank you”.

niteowl
Автор

I used motion matching animations in a blendspace (like you did in the video) for strafe movement (walk, run, sprint) and it looks great, im glad fot the free animations that im going to use it, but most of the variations are nonsense for a videogame, i see the project more like a technical prowess that a really useful gamedev tool

pisquickgta
Автор

I mean, if you hadn't been following it, the guy that created ALS is working on this project. General updates will be with major releases, so don't expect a lot to change between now and 5.5

Axeinus
Автор

It just feels like another tool epic is creating to make larger teams more likely to move over while also increasing the outside appearance of asset flips which will help the image of unreal engine long term, but I feel like it's just going to turn into another buggy experimental plug-in that never gets updated and is ultimately forgotten about by epic.

arxci
Автор

As impressive as motion matching is, I don't see it being too useful unless you're heavily utilizing mocap (which Epic did). I researched motion matching a bit ago and used Lyra's locomotion animations (about 20) to test it out, the character had obvious stuttering because there was simply not enough data. If using traditional workflows, I think that creating enough animations to have the movement look natural with motion matching is not worth the time sink.

Animeke-san
Автор

Thanks! This was helpful. I didn't have the time to dig into this project but wanted to know what you revealed here. I had my suspicions so I just shelved the testing. I knew it was immature tech that would need time to be made more optimal, but this answered most of the rest of my decisions on when/where to use it. For me, at least for now, this is at least a year away from being of use to my purposes.

It's nice flash, but as you said most solo devs won't find it useful outside of very specific game types.

targeestreet
Автор

To be honest, I'm not a fan of the side running 3:06 to left or right ... it looks so unnatural, it only fits in a tennis game. :)
Many games use the 8way run (not sure what's the correct term of the movement that was invented for Crash Bandicoot), that makes the motion matching almost useless.

paluxyl.
Автор

A natural downside is, you need a tons of animations. If you are a solodev like me, I cant provide 100 animations for all states maybe...5. So I either take these and dont change any of them or I dont use the system at all.

deralufe
Автор

Motion matching is a good tool for a very specific niche.
(and obsolete with the animations through AI that are already present although they are not yet refined.)
I still prefer to combine mine with additive and semi-procedural animations.
achieving practically the same results but with 12 animations instead of 500.
And the best thing is that since it is procedural it reacts to any surface, while with motion matching I would need another 500 more.

But, it's free! There really can't be much to complain about.

claudiosalvatico
Автор

I think the performance isseus are not from the motion matching technology itself. In one dev-talk the developers talked about how they had to optimize the whole system to be possible to get it into fortnite without to much performance impacts. Also they talked about the challenge how they where able to integrate it into existing characters with defined motion. It was a really prioritised goal and I think they developed a good work around.

Also I think in future there will be a more cooperation with "motorica". So maybe in future you only have to define movement styles and get all the needed animation for motion matching out of a motorica plug-in. I think there is big potential in future also and especially for solo devs.

MrMrPinguin
Автор

Would be really cool to hear your thoughts in a follow up video. Lots of time passed, its been improved, people use it with overlays. Theres lots of tutorials for it now. Having heard that this is more of a framework rather than super detailed animations for each possibility makes it hopeful. And it runs just with few animations too?

theoneandonly
Автор

Implementing custom animations and states into a setup like this would be like jamming your fingers into active industrial machinery to add extra pieces.

clorent
Автор

I feel like you probably wouldn't want motion matching on NPC's and you'd still get all the benefits of the motion matching on the character the player is looking at the most without too much of a performance hit.

MichaelKocha
join shbcf.ru