For the multiple attacks, I would define an array of montages (I usually put it on the character actor) that can be configured. Then you just pick the montage from that array in whatever way you desire (sequential, random, whatever else you like). This allows you to add/remove attack montages without having to touch the blueprints, the selection can be as simple or complicated as you like. It negates the need for the spaghetti and is more configurable imho. But there are many approaches :)
You can slice it any way you like, the traditional animBP uses an index picker and series of boolean, you can increment the indice, you could create an array but then you might lose track of which indice you're on, either desynchronising your attack sequence, or just forcing you to grab it again Alternatively you can use an enumerator; which is an approach I'm learning now. You could also use unprotected_map or just std:map to create a hash table which should be much faster when that calling an array, especially with few entries. You can also trigger more events off the blueprint than you can off the animBP - putting it all in the abp doesn't seem very OO.
you are so fast and fill so much precise information this is perfect, not cluttered at all, straight to every point, felt like not even a second was wasted and it was 17 minutes!!!
Loved this video, I've watched a number of other animation videos for UE5, and this one has by far been the best! Very informative and straightforward but lots of good info.
I know if you want to clean up your nodes a bit, you can put all of the animation montages into an array. From the array you can call random. This node will give a random item in the array and pass that into your play animation montages node.
At 15:15 you asked about a better way to route all those nodes back to the reset node. You should be able to use a "Sequence" node which lets you set some ordered paths. You'll see "Then0", "Then1", and it continues to build up. Once the path is done it will start the next path. You would just set your Then1 to point to the Reset path input.
to get rid of the spaghetti you can promote to an array variable where the anim montage is chosen. Put in that variable all the montages and take a random index from it to feed into the play anim montage node!!
9:44: Question; Is there a way to define a Boolean to determine whether to do layered blend Per bone? I have blueprint variables, as well as state enumerations, to determine and set whether my character is walking, running, or standing. When walking or running, this layered blend per bone is good whether I’m using a montage, or an array of randomly selected montages. But when I’m stationary, I’d like to still utilize the animation of my characters, legs from the original animation, so that the attack looks more natural than it does, when it is blended between its idol pose and it’s attack animation.
This video is very good. I have the solution you asked for near the end. Make a custom event called “Attack”. Follow that with a “DoOnce”. From the DoOnce, connect PlayAnimMontage, just as you did, followed by a delay (connecting the return value from the Montage node to the duration pin), and then the execution output of the delay to the reset of the DoOnce. So, no difference so far, except for that it’s a custom event. Next, make a new variable, of type AnimMontage Object Reference. Make it an ARRAY (important). Drag it into your event graph. With it selected, make as many array elements as needed, equal to the number of attack montages you want to use. Next, populate the array elements with each montage you want to use. Now take the node representing that variable, pull off the return value and choose Get (a copy) and connect the output of that to “Montage to Play” on the Play Anim Montage node. To randomize them, pull off of the input pin of the Get (a copy) node, and select “Random Integer In Range”. Remember, it’s zero-indexed. So the first index should remain zero, and the highest index should be an integer that is one less than the total number of montages in the array. This will randomize the montages. Make sure all the necessary execution pins are hooked up, and comment the whole thing out. Finally, simply call this event (by name) from whatever input you’re using. You probably want to trigger that using the Enhanced Input System, which is super-easy to learn. Thanks for the great video!
Ironically I think that the resetting animation part that you fix could be a great game mechanic. I think it would be cool to allow you to reset the animation at the push of a different button like right click. Could be a great attack faking move specifically good for pvp games
Great tutorial, i really appreciate that you also mentioned what the nodes do and some of their variables, alot ot tutorials are just copy this and do it this way, good job :)
Loved this tutorial. Was extremely helpful. Did you ever make a video on damage for the attack? I couldn't find it on your channel. Would appreciate it if you did.
Please keep going with this! Mobs to damage, switchable weapons, also can you link the video you were talking about the one before this one. This was the only helpful tutorial that I found for blending animations with movement my attack combos are so fluid now without getting stuck inbetween attacks no weird glitches thank you so much! I've never subbed so fast!
If you come across an issue where it keeps stopping to play the animation, even with bone name correct, check to see if the animation that you made the Animation Montage out of, has root motion enabled, make a copy, disable it and create a new montage with that.
I've come across some horrific spaghetti in my time due to working with LabVIEW (An interfacing/programming system that uses a blueprint style). In general to avoid spaghetti in ue5 I would declare a set of variables and update them so they can be referenced in each frame iteration to do what you want more easily. For example, instead of using the "Do Once", id set up an "IsQuickAttacking" boolean which is set to True before performing the animation, and false after the delay. This stops the mouse click from performing any animations until the previous animation has finished, but you can also keep a track on what the character is doing for other stuff too. + As others are saying you could also use arrays to pick the animations
best tutorial spent so long trying to get combat and this finally worked for me thank you but i have a problem now that i set the spine one my double jump looks super werid
Create a custom event "Reset_Animation_Gate" and feed it into the reset input of your Do Once node. Then call it after every delay node. That should save you some Spaghetti ;)
Can you guys please make a tutorial on how to pick up a weapon and have that switch your anim state from no weapon to weapon equipped animations. That would be amazing.
You can fix the spaghetti at the end by just adding a custom event that connects to the reset pin and call it every time you finish the animation and delay
Thanks for the tutorial! I have a question. If I create an enum for overlay states and add sword and axe pose. Now if I add blend poses for sword idle how can I add the attack pose to that? Do I need to create an extra pose like sword attacking? I couldn't figure out how to combine the attacking and sword idle animations.
great tutorial but how can i add multiple animation for all kind of weapons for example i want swaying sword while using sword but when i pick a spear i wanna using stabbing animation
Hi. In an old game called Neverwinter Nights or SW: Kotor (1 and 2) there combat animation was "interactive" meaning the attacked party would actually do a dogde/block/parry animation. Do you have an idea on how to do that here? I am thinking of creating a DnD (or just RPG) sandbox to recreate NWN in Unreal. One of the fun stuff was the combat animation especially in a 1v1 where it really looked like the parties would react to one another (especially in a miss scenario - either a dogde, parry (with a weapon) or block (with a shield)). Cheers!
Thank you. If you have an animation that needs to override the layered blend per bone node we added, how would I do that? I have a jump attack that moves the legs, right now it's looking funky without the bottom half of the animation
someone mentioned earlier Blend by Bool. I forgot the exact steps but you can find this tool used in many tutorials. You working on a project? I got a small one on the go, too.
@@InzideEntertainment yeah I'm working on a really cool dungeon crawler / tower defense game when my wife allows it. There's not enough time in the day to work on everything I'd like. I'm an app developer
Very Nice! Super well explained. My first punch is working! But my second attack dont work because its a kick, Is there a quick way to bypass this for the kick? Can i put more than one "Layer blend per bone" node for multiple types of Anim?
nice work but now im in atrouble, how can i make the animation to rotate with my first person camera so i can aim the atack hits?? any clue im very lost
I am new to animation in UE5 but shouldn't the various attack animations be defined in the State Machine rather than event graph? What is the advantage of adding those animations in the Event Graph over State Machine?
I'm struggling to understand how to play a single instance of an animation for an npc. I have two blueprints, one with a particle system and the other is the actual enemy. I am just trying to have the enemy blueprint play a half second animation when the particle blueprint activates. All the tutorials I have looked at for hours have all been about animation states, which I feel like is not the right option, or have used a key/button press to activate the animation. I have been stuck on this problem the last few days and I'm really struggling with finding a resource specific enough for me to learn more to fix my problem. I've even brought it up in the UE forums but the person responding is asking me to be more specific and I don't know how to be more specific?? please help me :
Having split the animation from the spine up works, however some of the animations need the bottom portion of the body to make the animation look correct. Having a skeleton mesh for a character did not show this problem well at the end of the video. Adding a skinned character will show the body moving in a un natural way. How would you fix this?
Argh, please tell me you actively look at your comments, ive been following your tutorials on rpg series aswell as trying to fill in blanks with other youtubers tutorials, but ive encountered a problem, my idle animation and walking animations seem like the loop trying to step off to the left, instead of keeping the legs stationary, i have tried to seperate the body parts like you have with your attack animations and couldnt figure out how to link it to the idle animation instead of the attack animation, im a new UE5 creator just trying to learn but theres some voids im getting stuck at to continue my project
How hard is it to animate a Mixamo character as an NPC, and string some animations together to make a lifelike background character? All these UA-cam videos are about making a playable character. Making a lifelike NPC character would be a goldmine!
Random Montages.. Have a Random Int in Range.. driving a Select Node.. which isnpopulated with the Montages.. outputting into the PlayMontage. No Array.. no spagetthi Code.. no hellish duplicating of PlayMontage.. For the Montage reset.. an AnimNotifier that one binds an event to to reset the DoOnce..
Is there any way to use this but have it turn off for animations you want to use the bottom half of the character for...? Seems fairly useless otherwise.
Do we really need to pay for every weapon/character?? Why arent those free like on dreams or core... it's so much money like a new game for each weapon or character
For the multiple attacks, I would define an array of montages (I usually put it on the character actor) that can be configured. Then you just pick the montage from that array in whatever way you desire (sequential, random, whatever else you like). This allows you to add/remove attack montages without having to touch the blueprints, the selection can be as simple or complicated as you like. It negates the need for the spaghetti and is more configurable imho. But there are many approaches :)
You can have multiple sections inside the montage and play a random one, you don't need an array or 200 nodes like in the video
You can slice it any way you like, the traditional animBP uses an index picker and series of boolean, you can increment the indice, you could create an array but then you might lose track of which indice you're on, either desynchronising your attack sequence, or just forcing you to grab it again
Alternatively you can use an enumerator; which is an approach I'm learning now. You could also use unprotected_map or just std:map to create a hash table which should be much faster when that calling an array, especially with few entries.
You can also trigger more events off the blueprint than you can off the animBP - putting it all in the abp doesn't seem very OO.
@@Ares9323 Man, both of these suggestions are excellent. Thanks! This is going to really clean up my spaghetti
I'd also drive the reset with a montage notify, so you can have a configurable interupt window per anim
This is great advice, was just about to mention this.
One of the easiest understandied tutorials i've ever watched.
Please do more explained tutorials like that for ue5
you are so fast and fill so much precise information this is perfect, not cluttered at all, straight to every point, felt like not even a second was wasted and it was 17 minutes!!!
Quick and informative. Felt like a good starting point for someone who was struggling with the animation system.
Loved this video, I've watched a number of other animation videos for UE5, and this one has by far been the best! Very informative and straightforward but lots of good info.
Great video! I would love to see you go more in depth into how to make this interact with enemies and the player.
I know if you want to clean up your nodes a bit, you can put all of the animation montages into an array. From the array you can call random. This node will give a random item in the array and pass that into your play animation montages node.
Awesome tutorial, please keep adding to these unreal tutorials. I wanna see damage, projectile (bow and arrow) and maybe some magic.
At 15:15 you asked about a better way to route all those nodes back to the reset node. You should be able to use a "Sequence" node which lets you set some ordered paths. You'll see "Then0", "Then1", and it continues to build up. Once the path is done it will start the next path. You would just set your Then1 to point to the Reset path input.
to get rid of the spaghetti you can promote to an array variable where the anim montage is chosen. Put in that variable all the montages and take a random index from it to feed into the play anim montage node!!
9:44: Question; Is there a way to define a Boolean to determine whether to do layered blend Per bone?
I have blueprint variables, as well as state enumerations, to determine and set whether my character is walking, running, or standing. When walking or running, this layered blend per bone is good whether I’m using a montage, or an array of randomly selected montages. But when I’m stationary, I’d like to still utilize the animation of my characters, legs from the original animation, so that the attack looks more natural than it does, when it is blended between its idol pose and it’s attack animation.
if still needed
use blend by bool after layered blend per bone
Bro this tutorial is damn EPIC !!! please dont stop doing this !
I expected much less from the title but this video felt pretty informative, thanks a bunch
You make tutorials that help me, thanks, I like to see a tutorial in witch you explain how works animation and how blend or create them from scratch
This video is very good. I have the solution you asked for near the end.
Make a custom event called “Attack”. Follow that with a “DoOnce”. From the DoOnce, connect PlayAnimMontage, just as you did, followed by a delay (connecting the return value from the Montage node to the duration pin), and then the execution output of the delay to the reset of the DoOnce.
So, no difference so far, except for that it’s a custom event.
Next, make a new variable, of type AnimMontage Object Reference. Make it an ARRAY (important).
Drag it into your event graph. With it selected, make as many array elements as needed, equal to the number of attack montages you want to use. Next, populate the array elements with each montage you want to use.
Now take the node representing that variable, pull off the return value and choose Get (a copy) and connect the output of that to “Montage to Play” on the Play Anim Montage node. To randomize them, pull off of the input pin of the Get (a copy) node, and select “Random Integer In Range”. Remember, it’s zero-indexed. So the first index should remain zero, and the highest index should be an integer that is one less than the total number of montages in the array. This will randomize the montages.
Make sure all the necessary execution pins are hooked up, and comment the whole thing out.
Finally, simply call this event (by name) from whatever input you’re using. You probably want to trigger that using the Enhanced Input System, which is super-easy to learn.
Thanks for the great video!
I understood you better than I understand spanish tutorials. Legend
I think This is best tutorial for attack animations!
Thanks Man;)
Ironically I think that the resetting animation part that you fix could be a great game mechanic. I think it would be cool to allow you to reset the animation at the push of a different button like right click. Could be a great attack faking move specifically good for pvp games
Great tutorial, i really appreciate that you also mentioned what the nodes do and some of their variables, alot ot tutorials are just copy this and do it this way, good job :)
Great video! Easy to follow and exactly what I was looking for. Thank you!
Loved this tutorial. Was extremely helpful. Did you ever make a video on damage for the attack? I couldn't find it on your channel. Would appreciate it if you did.
Please keep going with this! Mobs to damage, switchable weapons, also can you link the video you were talking about the one before this one. This was the only helpful tutorial that I found for blending animations with movement my attack combos are so fluid now without getting stuck inbetween attacks no weird glitches thank you so much! I've never subbed so fast!
Awesome! Thank you, you are a great inspiration to me!
If you come across an issue where it keeps stopping to play the animation, even with bone name correct, check to see if the animation that you made the Animation Montage out of, has root motion enabled, make a copy, disable it and create a new montage with that.
that moment when you press the button and it swings xD so satisfying
I've come across some horrific spaghetti in my time due to working with LabVIEW (An interfacing/programming system that uses a blueprint style). In general to avoid spaghetti in ue5 I would declare a set of variables and update them so they can be referenced in each frame iteration to do what you want more easily. For example, instead of using the "Do Once", id set up an "IsQuickAttacking" boolean which is set to True before performing the animation, and false after the delay. This stops the mouse click from performing any animations until the previous animation has finished, but you can also keep a track on what the character is doing for other stuff too. + As others are saying you could also use arrays to pick the animations
Amazing tutorial!
best tutorial spent so long trying to get combat and this finally worked for me thank you but i have a problem now that i set the spine one my double jump looks super werid
Thank you! You sir, are a legend.
thank you , this helped me a lot.
If I were wanting to crouch, how would I disable the spine system for a specific animation?
Thank you this is a really god tutorial like from me 👍
You guys are amazing! Looooove it! Now show us hit scan, damage values and hp integer! Peace!
Great Video. Great job.
awesome video dude, thank you so much!!!!!!
Yes! Thank you! That was very very useful!
A better way to make your graph look cleaner is to collapse as functions. It might require a bit of reworking the nodes
Dude, put the montages in an array and get the next item :)
Create a custom event "Reset_Animation_Gate" and feed it into the reset input of your Do Once node. Then call it after every delay node.
That should save you some Spaghetti ;)
When you said "call it after every delay node" what were you implying? I could not understand😅
Thank u for making this video I learnt alot today
awesome video thank you!!
thanks got it working my character has like 10 abilities and like 30 different attack animations
Can you do a dynasty warriors combat system too in UE?
Can you guys please make a tutorial on how to pick up a weapon and have that switch your anim state from no weapon to weapon equipped animations. That would be amazing.
YOU ARE THE MAN!
Nice video i hope to see more Unreal content on your channel !
Thanks bro ❤
You can fix the spaghetti at the end by just adding a custom event that connects to the reset pin and call it every time you finish the animation and delay
Thank you that was really useful
Thanks for the tutorial! I have a question. If I create an enum for overlay states and add sword and axe pose. Now if I add blend poses for sword idle how can I add the attack pose to that? Do I need to create an extra pose like sword attacking? I couldn't figure out how to combine the attacking and sword idle animations.
"(Sees skeleton.)"
"RATTLE ME BONES!"
If you are watching during unreal 5.4, its not called Spine, its called spine_01
How similar would the process be for enemy animations?
can you
help me how to add more animations to character? I want to add swiming, sling , pick up object, dying. Please! Thanks
Yeah, I dont have it set up the same way so blending has me confused rn. I have a locomotion state and main state from the default 3rd person template
Great Video!!! Than you
my animation just stutters on the spot, any idea why?
great tutorial but how can i add multiple animation for all kind of weapons for example i want swaying sword while using sword but when i pick a spear i wanna using stabbing animation
U are THE BEST! :D
THANK YOU!!! :)
Hi. In an old game called Neverwinter Nights or SW: Kotor (1 and 2) there combat animation was "interactive" meaning the attacked party would actually do a dogde/block/parry animation.
Do you have an idea on how to do that here? I am thinking of creating a DnD (or just RPG) sandbox to recreate NWN in Unreal. One of the fun stuff was the combat animation especially in a 1v1 where it really looked like the parties would react to one another (especially in a miss scenario - either a dogde, parry (with a weapon) or block (with a shield)).
Cheers!
Thank you. If you have an animation that needs to override the layered blend per bone node we added, how would I do that? I have a jump attack that moves the legs, right now it's looking funky without the bottom half of the animation
someone mentioned earlier Blend by Bool. I forgot the exact steps but you can find this tool used in many tutorials.
You working on a project? I got a small one on the go, too.
@@InzideEntertainment yeah I'm working on a really cool dungeon crawler / tower defense game when my wife allows it. There's not enough time in the day to work on everything I'd like. I'm an app developer
Very Nice! Super well explained. My first punch is working! But my second attack dont work because its a kick, Is there a quick way to bypass this for the kick? Can i put more than one "Layer blend per bone" node for multiple types of Anim?
nice work but now im in atrouble, how can i make the animation to rotate with my first person camera so i can aim the atack hits?? any clue im very lost
When i blend the walking animation with attack animation, it completely breaks my animations when attacking?
I am new to animation in UE5 but shouldn't the various attack animations be defined in the State Machine rather than event graph? What is the advantage of adding those animations in the Event Graph over State Machine?
I'm struggling to understand how to play a single instance of an animation for an npc. I have two blueprints, one with a particle system and the other is the actual enemy. I am just trying to have the enemy blueprint play a half second animation when the particle blueprint activates. All the tutorials I have looked at for hours have all been about animation states, which I feel like is not the right option, or have used a key/button press to activate the animation. I have been stuck on this problem the last few days and I'm really struggling with finding a resource specific enough for me to learn more to fix my problem. I've even brought it up in the UE forums but the person responding is asking me to be more specific and I don't know how to be more specific?? please help me :
Bro please i want to know how make cinematic video with moving character and moving things in project
if the character is standing, then the full animation should be played, not half above the pelvis, and only in the case of movement is splited
Where can we download the attack animation ?
thank youuuuu!!!
Having split the animation from the spine up works, however some of the animations need the bottom portion of the body to make the animation look correct. Having a skeleton mesh for a character did not show this problem well at the end of the video. Adding a skinned character will show the body moving in a un natural way. How would you fix this?
Hi did you figure this out? I'm having the same issue. Some attacks i have need the full bone animation and not just from the spine up.
if was so easy we all be game devs 😂 ....tip to organize your spaghetty better :try put 2 nodes on same line and drag them intoo straght lines
How do I disable movement when the character is attacking please help me
How come the curves has no bones or keys in the graph? How do you get those?
12:47 The part I'm looking for.
Hello do you sell this Attacking Enemy?
Argh, please tell me you actively look at your comments, ive been following your tutorials on rpg series aswell as trying to fill in blanks with other youtubers tutorials, but ive encountered a problem, my idle animation and walking animations seem like the loop trying to step off to the left, instead of keeping the legs stationary, i have tried to seperate the body parts like you have with your attack animations and couldnt figure out how to link it to the idle animation instead of the attack animation, im a new UE5 creator just trying to learn but theres some voids im getting stuck at to continue my project
I think blend space is important. Another person mentioned Blend by Bool. I am just picking the engine up again and forgot most of it haha, sry.
should have a link to the previous video 😢
dope😎
How hard is it to animate a Mixamo character as an NPC, and string some animations together to make a lifelike background character? All these UA-cam videos are about making a playable character.
Making a lifelike NPC character would be a goldmine!
The better way that looks nicer, is just to make a custom event to execute only reset. you know what I mean.
Nice
Create an event that call the reset, it will be simpler to read :)
Random Montages..
Have a Random Int in Range.. driving a Select Node.. which isnpopulated with the Montages.. outputting into the PlayMontage.
No Array.. no spagetthi Code.. no hellish duplicating of PlayMontage..
For the Montage reset.. an AnimNotifier that one binds an event to to reset the DoOnce..
Is there any way to use this but have it turn off for animations you want to use the bottom half of the character for...? Seems fairly useless otherwise.
please make complet turorial how to make game in UNREAL ENGINE 5 - combat system complet with make the animations
what is i have a jumping attack animation
I would put all the animations/montages into an array and then pick a random element - this way you should have way less spaghetti ;)
Informative video, but try to limit the cuts to your face to a minimum as it's distracting and takes away focus from UE
my character keeps jogging after the punch lol
ahh i thought u were actually going to teach how to make the attacks not use prev animations
Too bad, I was hoping to find a tutorial that would direct me on how to set up a spin attack.
Is so hard work
skeleton breathes on iddle :o
14:50 wtf what are you on? You make array of those animations and input them into "anim montage" pin
dont do drugs pls
Do we really need to pay for every weapon/character?? Why arent those free like on dreams or core... it's so much money like a new game for each weapon or character
Macro them
😄😁🙂🙃
👍👍👍🌹