Download

Montage Jump To Section does not work during blend out. Is this expected behavior?

Hello, fellow humans. Thanks for the time.

I’m writing a combat system. Normally, I’d do this in C++, but I decided to go the UE4 route and use montages instead. Unfortunately they do not function as I expected.

I have found the source of the errors and they are related to my assumptions on how montages behave, not my logic.

We have a SetAttackProperties notify that’s placed at the start of a section. Then, a GrabInputStart and a GrabInputEnd define a time frame to grab input(they inherit from AnimNotify, not AnimNotifyState because I do not need the Tick() every update; my assumption is that they are fired immediately and linearly, and it seems to work). Next, a ComboBranch notify fires an event to change the section depending on player input or lack thereof. If the branch doesn’t jump to a different section, we have a Reset notify placed close to or at the end of the section to reset the combo.

Pretty simple logic, but the branch doesn’t work when the section is blending out(and possibly during blend in as well, but I haven’t tested it). The event does fire, but Montage Jump To Section doesn’t seem to work during blend out. It works when Blend Time is set to 0. Is this expected behavior? How do I jump to a different section during blend out then? Keep in mind the Branch notify is flagged as a Branch Point.

I told you my logic above so you can tell me if there’s any problem with my assumptions. I assume events fire linearly and, for some of them at least, immediately(Branch, GrabInputStart, GrabInputEnd). I know they can be cached or executed right away.

The branch seems to be the only problem. How is the proper way to jump to a different section during blend out? Is that possible?

Thank you for your time reading this.

For people who may find this in the future and may be interested in a reply, here’s my conclusion so far.

Originally I thought of separating attack animations and combining them through a C++ combo system, but I went the montage route because it felt like proper UE4 workflow. It also allowed me to fully isolate combos into a single unit easily.

After studying one of the example characters, the combo system they use is a version of that original idea. One montage for each attack, combined through Blueprint code using a simple switch statement to decide which montage to play next. The two obvious limitations is the inability to transfer combos between characters and the fact it does not deal with more complex inputs. I’m also not sure whether using a montage for each animation in a combo is overkill. It feels excessive.

I’ll go with the segmented animation solution within the context of a less limited system, because to get section jumping to work I need to essentially disable blending. It doesn’t seem to jump to a different section when blending out, and I still don’t know if this is expected behavior or if I’m doing something wrong.