How can I get smooth transitions between sequences in animation montages?

Hi,

how can I get smooth transitions between sequences of unrelated (may have different end/start frames) combat animations (from Mixamo) in an AnimMontage?

My goal is to implement a combat system in which you can trigger sequences in an AnimMontage depending on user input and randomization. This should be based on AnimNotify/AnimNotifyStates.

I know there are plenty of tutorials out there, but none of them gives a final answer to this question.

Thanks in advance for your help!

Hi @DevKaiUnreal!

So to understand more clearly, you want a clear blend between different animations? Are you trying to control different bones? Or are you merely attempting to move from “combo” sequence to “combo” sequence.

There is animation blend spaces, but I’m not quite sure how exactly you are wanting these transitions to go. Here are the docs on blend spaces:

Unreal Engine Documentation: Blend Spaces

Any additional information you can provide will be a big help in solving your problem.

1 Like

Hey @Quetzalcodename,

Or are you merely attempting to move from “combo” sequence to “combo” sequence.

This, but smooth. I know that there are blend spaces which depend on parameters such as speed or z-rotation. However, I want only blends in time (fades / crossfades) between the combo sequences.

Any additional information you can provide will be a big help in solving your problem.

ezgif-3-3b14ed083b

Like here, but with more sequences played in two ways: randomized and selective. I know that I can implement this through Play Anim Montage with the corresponding Start Section Name. But I don’t know how to make the transitions look smooth. Basically I can think of two solutions:

  1. Do I have to make each animation start/end with the same pose? If so, how can I achive this?
  2. Or is there a way to blend sequences automatically, similar to blend spaces? Blend In/Blend Out seems to do nothing. :confused:

Thanks for your help!

Hey @DevKaiUnreal!

Okay, now I understand more what you are going for. Did you know you can blend animations directly in your AnimGraph? This would allow you to create your dynamic transitions between all of your different animations and blend based on your current position in your animation!

Here is the Unreal Documentation as well as a great Non-Epic third party video explaining how to implement them:

Unreal Engine Documentation: Blend Nodes
&
Blend Poses By - AnimGraph in Unreal Engine 5 Tutorial!

I hope the above solution solves the problem you are facing!

1 Like

Thanks for the links! The documentation for this is indeed quite good, but I already know that this is possible. I read about it in this very similar thread: Why is my montage not blending?.

However, those blending nodes are based on bool/int/enums i.e. logic/event driven. I wanted to blend in between sections of montages, similar to crossfades in audio sequencers, smooth transitions in DJ sets etc.

I mean under the hood they obviously implemented the functionality for blend nodes, why not for montages? I actually only see 2 options for me:

  1. Editing indiviual animations so that they end the same frame as they start. Tedious, but I could concatenate them in montages and use montages for what they are good for (Notifiers, Section selection etc.).
  2. Use the Blend node approach and give up on montages.

Sadly I probably have to go for option 2 even though I’d have to implement blend nodes with each animation for individual ACharacters which is kind of ugly design I’d say. I’d love to just be able to swap out an AnimMontage for each ACharacter instead. :confused:

2 Likes