Tutorial request: Advanced combo animation system improvement - Unreal Engine 4 + Unreal Engine 5

Поделиться
HTML-код
  • Опубликовано: 8 сен 2024

Комментарии • 83

  • @antwainmarlowe3832
    @antwainmarlowe3832 2 года назад +4

    For anyone looking to make a NUNS style combat system this is the PERFECT Tutorial to do just that! Absolutely amazing guide. Thanks again man! 🙌🏾

  • @maddened3746
    @maddened3746 Год назад +2

    this is just great dude ..... the only thing that i felt missing with the previous system was this... and now it's covered and works great with my system ..much much thanks dude ....

  • @WAR_1933
    @WAR_1933 2 года назад +3

    This is a great topic to cover thank you

  • @JarivanBatista
    @JarivanBatista Год назад +1

    amazing!

  • @cantTouch948
    @cantTouch948 Год назад +1

    Thanks bro

  • @natecoet3291
    @natecoet3291 2 года назад +1

    This was very good,thanks again

  • @XAVES
    @XAVES Год назад +1

    Thank you!

  • @LegitLord2000
    @LegitLord2000 2 года назад +1

    I could be wrong, since I can’t watch it just yet, but I think this is what I been looking for, for the past 2 weeks lol. Everyone who does tutorials for setting up the paragon attacks always start from scratch and have all this extra stuff like, the blueprint is already there I just need to know how to set up all the attacks and stuff 😂 And usually they’re from 3-4 years ago too

    • @LeafBranchGames
      @LeafBranchGames  2 года назад +2

      This should be a far more flexible and scalable combo system that is in the paragon system. But this video is just improving on the system, the original sytem video you can find in the description. It is a bit longer because we have to setup a framework first.

    • @LegitLord2000
      @LegitLord2000 2 года назад

      @@LeafBranchGames Thank u Sensei LeafBranch 🙇‍♂️

    • @LeafBranchGames
      @LeafBranchGames  2 года назад

      @@LegitLord2000 You are welcome.

  • @moiseman
    @moiseman Год назад +2

    So with this cool setup there's a slight problem imo, when the input is triggered it'll instantly skip to the next animation, as long as it's within the ComboNotifyState window, but you probably want each animation of the combo to play smoothly at the same rate regardless as to when the attack input is pressed within the notify state window.
    So for all the people who want to do that, there's a simple fix, all you have to do is set up a boolean "has attacked" or "inputpressed" that is only true during the notify state events and let the end of the notify state trigger plays the animation if it's true. (do that before reseting the combo name obviously)
    Amazing videos though
    👍

  • @ussdev1988
    @ussdev1988 2 года назад +1

    Thank u :)

  • @YakAttack252
    @YakAttack252 2 года назад +3

    Perfect improvement to the 1st video on combo attacks. Was thinking if a tweak is possible where instead of the same default light/heavy attack, you use an array of attacks that can be randomly selected as the start of the combo, then it follows back into the sequence of animations in the mintage?

    • @LeafBranchGames
      @LeafBranchGames  2 года назад +2

      Sure, that is definitely possible You would essentially have it the same way as it is now, with the difference that the first attack is randomly taken from an array like you say. Then the chosen attack itself will have its defined moves in the combo chain like normal.

    • @YakAttack252
      @YakAttack252 2 года назад +4

      @@LeafBranchGames Yes indeed this was very easy to implement due to how advanced and flexible your combo system is. I just had to create a Name variable which i then changed into an array. then i added each named attack (i.e Light01, Light02 etc) as the array elements then replaced the defaultlightattack/defaultheavyattack node in the eventsetdefaultcombo chain. So now the combo's 1st attack starts with a different attack each time making it less predictable and more dynamic. Got yourself a subscriber and i am looking forward to watching more of the videos. keep up the good work.

    • @LeafBranchGames
      @LeafBranchGames  2 года назад

      @@YakAttack252 Cool to hear it worked out so well for you. Thank you for your support. :)

    • @Maelgrim35
      @Maelgrim35 6 месяцев назад

      @@YakAttack252 yes but how did you set up the animation in the montage to be random if we are setting it manuallly and adding notifies and such, thanks

  • @ParthPatel-dm7yk
    @ParthPatel-dm7yk 2 года назад +1

    My character keeps moving while the play montage is taking place, How do I create a system where the character stops as soon as the playmontage is presses and resumes the movement once the combo attacks are finished? Everything else about your video works perfectly fine, thankyou so much for creating it. Looking forward to hear from you

    • @LeafBranchGames
      @LeafBranchGames  2 года назад +1

      If you want to be able to swing attacks while moving, then you can blend upper and lower body differently, like in this tutorial: ruclips.net/video/y7iLItzwGTM/видео.html
      If you don't want to move you can disable the movement for the duration of the played montage on the controller.

    • @hakkutodev
      @hakkutodev 2 года назад

      excuse me, i'm new to the tutorial, i'm still stuck in this issue, how can i set the duration of movement disable depending of these different animations duration in the montage? Thank you for the great tutorial

    • @LeafBranchGames
      @LeafBranchGames  2 года назад

      @@hakkutodev The events that the montage has ended are places you can use to enable movement again.

  • @craneharran9662
    @craneharran9662 2 года назад +1

    Hey man, great and useful video, the only one that could help me!
    I just wanted to ask a question, is it normal that if i only click the combo button once, it keeps repeating automatically the first slash and doesn't stop?
    I mean, if i don't mesh buttons and just press once, instead of only doing the first slash, he repeat it endlessly..and does the same with every slash.
    Hope to have been clear and hearing you soon, thanks anyway!

    • @LeafBranchGames
      @LeafBranchGames  2 года назад

      Thank you, glad to hear you like it. No that is not normal. I would suggest you debug that and see where the erratic behavior is rooted. If you don't know how to debug, I have a beginner tutorial teaching some basics here: ruclips.net/video/zN7XOSlxAJA/видео.html
      It is really important yo know debugging when trying to find errors.

  • @SuperMontana2008
    @SuperMontana2008 2 года назад +1

    can you add spells to this, like the witcher stun for example?

  • @SignificantSin
    @SignificantSin 2 года назад +1

    how would you make it buffer the input, instead of cancelling the animation straight into the next attack, to make it so if you input in the window it will just do the next attack after the window finishes?

    • @LeafBranchGames
      @LeafBranchGames  2 года назад +1

      Sounds like you want to save inputs temporarily, then wait for the end window event to trigger and then process any input you have stored before clearing it - and have that execute the next montage playing.

  • @RoninPandaZ
    @RoninPandaZ 2 года назад +1

    Hello, thanks for the amazing video! Quick question with your combo system is there a way to make it so that after a specific amount of time if a button is pressed it will go into a different animation? For example, if you do a light attack 3x back to back immediately, you get one combo but if you do it two times and delay the last light attack, you get a different combo.
    Also, how would you handle air combos/special attacks with this system, and to add more combos and routes to this combat system, I'm assuming I would just add more animations to the Montage and name them according to the button?
    (Wanted to use your combat system for my fighting game, so just asking all the questions I can now)

    • @LeafBranchGames
      @LeafBranchGames  2 года назад +1

      You just need to add more anim state transitions. So if you want to go from attack A to attack B if they press early, have a state for that, and if you want it to instead go to C just put another state in the combo that goes to C during that period. It is exactly the same as what the system is doing right now, but instead of one transition state you have a few of them in sequence. Depending upon when the button is pressed the active state will determine what the next combo is.

    • @RoninPandaZ
      @RoninPandaZ 2 года назад

      @@LeafBranchGames
      Ah ok I think I understand, thank you for responding. So I would just need to add a state and place it at a delayed time in the montage to use it for my purpose, but then how would air combos work with this system?

    • @LeafBranchGames
      @LeafBranchGames  2 года назад

      @@RoninPandaZ What is the issue?

    • @RoninPandaZ
      @RoninPandaZ 2 года назад

      @@LeafBranchGames
      My issue is that for air combos would we have to use a branch to check if the character is in the air, then proceed from there into a different route where we call an in air combo montage, which launches the player and the enemy?

    • @LeafBranchGames
      @LeafBranchGames  2 года назад +1

      @@RoninPandaZ Your air combo montage would only be holding valid transitions that are contextual. Your launch montage would only be able to transition into to an in air combo. Your in air combo would only be able to transition into other related montages. Your allowed combo path you setup with your transition states. If a player doesn't launch into the air, then then have transitioned into a different montage which will have different paths than in air.

  • @antwainmarlowe3832
    @antwainmarlowe3832 2 года назад +1

    Hey, quick question. Is there a way to make it ignore an input? Like let’s say the combo goes Light01 > Light02 > Light03. But instead they press Light > Heavy. Is there a way to then cancel out the combo and ignore any further inputs until the most recent animation finishes?

    • @LeafBranchGames
      @LeafBranchGames  2 года назад +1

      You can. Not sure it would be very clean. But you can do it in several ways. Have a state to keep track of, or a boolean and reference towards that to see if you want to even consider any new inputs before it resets to default again.

    • @antwainmarlowe3832
      @antwainmarlowe3832 2 года назад

      @@LeafBranchGames thank you! I'll give that a try and see what happens

    • @LeafBranchGames
      @LeafBranchGames  2 года назад

      @@antwainmarlowe3832 Good luck

  • @NlCEWorkShop
    @NlCEWorkShop 2 года назад +1

    Hello kind sir, I’m currently implementing this in my multiplayer game, and am trying to do the logic in character bp but couldn't get it to work, when I debug with print string it seems the light combo var is being set to light02 correctly and it feeds in to the play montage node, but the client character just doesn't want to play light02(even when print string says light combo var is light02). Server Character goes from light01 to light05 no problem, oh and I have the play montage, set default, next combo and combo variable all set to multicast.

    • @NlCEWorkShop
      @NlCEWorkShop 2 года назад

      And the reason why I'm trying to move the logic to character bp is that when I setup everything in animbp, it seems the server char animation always twitches and glithes(skipping frames) when viewing from client, works fine when it's the other way around or client to client though... Any workaround or best practice you recommend?

    • @LeafBranchGames
      @LeafBranchGames  2 года назад

      @@NlCEWorkShop The only thing I can do for you in this case is direct you to a great resource that goes through how multiplayer works: ruclips.net/video/TEojA3VBXG8/видео.html
      I tend to avoid troubleshooting multiplayer specific problems because there are so many more aspects of complexity. Sorry.

    • @NlCEWorkShop
      @NlCEWorkShop 2 года назад

      @@LeafBranchGames It's totally fine, i thought it would be too complex to troubleshoot too, still, your tutorials are really inspiring, maybe instead you could think about making a tutorial on how to replicate this combo system? Thanks again for your time, have a great day!

    • @LeafBranchGames
      @LeafBranchGames  2 года назад +1

      @@NlCEWorkShop I will put it on my todo list. Thank you for the kind words. Glad to hear you are being inspired. :)

  • @kylegilmore9278
    @kylegilmore9278 Год назад +1

    I have four different types of attacks with this system: light, heavy, lightleg, and heavyleg. Heavy01 is the first animation in the montage. When I press Light01 it will play Light01. But when I press HeavyLeg01 and LightLeg01 it will play Heavy01 first then play the first animation for the respected attacks. It’s very strange and I’m not sure what’s wrong with it. Please help.

    • @LeafBranchGames
      @LeafBranchGames  Год назад

      The easiest way to find problems is to understand what is happening. This is done with debugging. If you are unfamiliar with debugging I teach the basics here: ruclips.net/video/zN7XOSlxAJA/видео.html
      It is a crucial part of software development.

    • @TheMrTaipan
      @TheMrTaipan Год назад

      Same problem, tried for the past few hours to figure it out. I'm trying to play one of two meter burn attacks and it just plays the first animation placed in the montage then it will play the special attacks after. Might just make a separate montage entirely, and somehow get them to still combo out of the light and heavy attacks.

  • @prasannak1999
    @prasannak1999 Год назад

    Now with an Enhanced Input System we had combo trigger will this be helpful for improving this system further ?

    • @LeafBranchGames
      @LeafBranchGames  Год назад

      From what I can tell, it won't add anything useful. But I will think about it and return to the topic if I can find a good use.

  • @jtscott8807
    @jtscott8807 2 года назад

    Cool! Is there a way the character can rotate while attacking? Kind of like move around?

    • @LeafBranchGames
      @LeafBranchGames  2 года назад

      Sure. If you have for example a targeting system implemented you can lerp towards your target during or between the animations if you want.

  • @mentaltreason
    @mentaltreason 2 года назад

    How would I be able to implement, actions like hold and double tap to a combo

    • @LeafBranchGames
      @LeafBranchGames  2 года назад +1

      You may want to look at my enhanced input tutorials, you have a lot of functionality with triggers and modifiers there.

  • @pocdavactube3475
    @pocdavactube3475 2 года назад

    Do you think you could create a tutorial about charged attacks?

  • @chuichui8162
    @chuichui8162 Год назад

    Thank You for the tutorials. I did everything exactly like you but somehow it prints "false" only when starting the game. It does print "true" for every attack but never goes back to "false". What could be the problem?

    • @LeafBranchGames
      @LeafBranchGames  Год назад +1

      Then you have unfortunately missed something in the video. I would suggest either going through the video to make sure everything is identical or debugging the code to find the root of the issue.

    • @chuichui8162
      @chuichui8162 Год назад

      @@LeafBranchGames Thank You very much for answering! I will start from the beginning but this time with UE 4.27 and pay extra attention.

    • @LeafBranchGames
      @LeafBranchGames  Год назад

      @@chuichui8162 Good luck!

  • @twigz7003
    @twigz7003 2 года назад

    Is it possible to rotate your character in between the transitions? i.e. light01 - light02 change direction to account for enemy movement... My character continues going the initial direction even if I turn the camera or use the movement keys.

    • @LeafBranchGames
      @LeafBranchGames  2 года назад

      Sure, you can add some rotation change between transitions. Or you could implement rotation during transition if you want to.

    • @redocykuron
      @redocykuron 2 года назад

      @@LeafBranchGames yeah, but how can we do that?

    • @LeafBranchGames
      @LeafBranchGames  2 года назад +1

      @@redocykuron You could for example when you get a input to do a new attack either just rotate it directly to look in the correct direction. The direction could be either your camera direction or a targeted enemy if you have a targetting system. Or you could lerp between your current rotation and the target rotation if you want it to be smoother.

  • @Duo_Septimdra
    @Duo_Septimdra 2 года назад

    So how do I make the combo reset when you don't continue attacking immediately?

    • @LeafBranchGames
      @LeafBranchGames  2 года назад

      What do you mean?

    • @Duo_Septimdra
      @Duo_Septimdra 2 года назад

      @@LeafBranchGames Sorry I didnt get a notif, but I mean when I use this, it transitions to the next attack the next time I press the attack button no matter what. How can I make it go back to Light01 instead of advancing?

    • @LeafBranchGames
      @LeafBranchGames  2 года назад

      @@Duo_Septimdra If I understand you correctly, that is not how it works in the demonstration, right? So that just means you missed some part of the logic. Go through the video again and make sure you do everything the same - then it should work fine.

    • @Duo_Septimdra
      @Duo_Septimdra 2 года назад

      @@LeafBranchGames I will go through it again and make sure I have everything right.

    • @Duo_Septimdra
      @Duo_Septimdra Год назад

      @@LeafBranchGames I came back to the project and I did not miss any logic. The solution was to shorten the notify state so it doesn't go to the end of the section, which resets the combo correctly

  • @michaelderosier3505
    @michaelderosier3505 Год назад +1

    Great Tutorial!