Download

Looking for advice on a combo system

Hello all,

I am new to UE4 with the ambition of one day making a game that has a melee combo system similar to that seen in games like Dynasty Warriors, and some elements of Shadow of Mordor/Assasins Creed.

Mainly, I want the ability to chain together weak and strong attacks through different combo tree with a very fluid feel.
I would like to set this tree up in C++ via a custom linked list.

I learned how to fire animations from C++ for a montage, but It is my understanding that montages do not blend.

A very long term goal would be to let the player pick and choose different “attacks” (animations) to be assigned in their combo tree through some UI.

So I am seeking some advice on how someone advanced would set this up?

I have a few ideas:

Perhaps the intended animations themselves just need to be set up to match and be fluid when created? Then firing these from a montage would work?
– this is less ideal because I would like it if the player could mix and match these later on, which may look awkard without blending.

Somehow using many blend spaces and cached positions?

Thanks for your help.

I don’t know how animation in UE works in-depth, and it sounds doable, yet relying on montage might be too much of a limiting factor if it doesn’t support blending. Really what I think you’re looking for in functionality is being able to string together any moves into a combo without the animation becoming messed up. So the animation of any built combo needs to have a flow from one move to another. The one aspect that’s necessary for that, from my understanding, is interpolation. Which is where an end part of an animation would interpolate to the next animation (combo move 2, 3…etc) without the character’s model suddenly changing position as though they were teleporting in place into a different position to do the next move. Interpolation would transition from say a high kick to an uppercut punch by the character letting their feet land and then going into a crouched position to start the uppercut. It’s probably best you do research in the area of UE4 sequencing of animations and interpolating / blending between framesets. It’d help when you get replies to this thread from experienced developers.

Thanks for your reply,

indeed sad I havent gotten any replies from anyone with experience doing something like this,

However your clues have led to me:
https://docs.unrealengine.com/en-US/…ing/index.html

Which i dont quite understand. Theres alot going on here

And also:https://youtube.com/watch?v=DsgnAtvzZHg
Which I am unsure how I would include this into blending two animations. But see how its applicable.

Found this:https://youtube.com/watch?v=jePa_oJfLmc
While its rather fast, it looks like hes got the animations separated out into individual montages,
perhaps montages auto blend behind the scenes with one another?

Also found this one:

If you are willing to wait i can show you my combo system although is not using normal blueprints but the concept can be easily translated to bp add me on discord dandezign#8238

I’m not sure where you heard montages don’t blend, but I’ve been using them for combo sequences and they blend pretty nicely. You can tweak the blend in and blend out values of the animation you’re using. In my project I’m able to switch between 2 different combo systems rather seamlessly. =)

Sent!

Well, I am aware that montages will blend based off a variable such as speed, but if I am in C++ and do:
AnimInstance->Montage_Play(CombatMontage, 1.45f);
AnimInstance->Montage_JumpToSection(FName(“Attack_1”), CombatMontage);
AnimInstance->Montage_Play(CombatMontage, 1.45f);
AnimInstance->Montage_JumpToSection(FName(“Attack_2”), CombatMontage);

Thats just jumping through, im not sure how I would get the next one to blend, its just telling the montage to play the next anim
(these wouldnt be called exactly like this, they would be waiting on user input etc, but its for illustration)

You still have to edit the montages in the animation editor even if you’re calling it in C++ rather than blueprints so you’ll want to make sure you tweak those blend in/out values to your liking. It may take some playing around but you should arrive at values that cause your animations to blend rather nicely together.

But how do you blend them together in the montage?
All they are are tracks back to back against one another with break points for where this animation ends and where one begins?