I’m making a melee combat combo system using an anim montage with different sections for each attack. However, I realized that animations between sections do not blend, so transitioning between combos is quite ugly.
Is there a way to solve this with my current setup? Or do I have to use multiple anim montages for each attack instead?
Yes, I was thinking about it. In my opinion the multiple anim montages is the best solution in yours situation if you want to blend between them.
In my fight system i used state machine, in this I’m loosing the notifications directly from anim sequence, but I’m able to blend between animations and control the flow.
Probably you’ve already solved this… But here is my solution after breaking my head for 2 weeks about it: you have to put your main locomotion in a use cached pose node and dragging a default slot from it. After that use a layered blend per bone node and link your locomotion use cached pose node to the base pose in the layered blend per bone node. Copy and paste the locomotion use cached pose node and drag out a default slot and link to blend pose 0 in the layered blend per bone node. Add a pin in the layered blend per bone node copy and paste locomotion use cached pose and
default slot and link that to blend pose 1. From the layered blend per bone node drag out your default animation slot , drag out your second default animation slot from the first one and link to the final animation pose. That’s it!. It’s very simple to do. Hope this is understandable and it works for you.
Sorry to resurrect an old post, but I found a more “event driven” solution to this that I thought might help someone else out who might have this issue. What I did was create an AnimNotify that took in an anim montage parameter (exposed to spawn) that you could place in the animation you wanted to transition out of. In the anim notify, I wrote code to have it take the anim montage you set in the parameter, then play that one, overriding the current animation. This felt hacky, and I was worried it would crash the engine, but to my surprise it worked and looked great if you can line up the last frame played by the old montage with the first of the new one somewhat close.
It’s a shame that there is no blending between montage sections. I could not be bothered to dig in and see the reason for the lack of such functionality. I suppose the guys at Epic did have something in mind. Anyway, it should at least be an optional feature. I guess we can extend the animation montage on our own in the end but that probably won’t be trivial. I came up with a solution close to yours which motivated me to leave a comment. Took me a while to figure out a solution and in the end, I ended up using Animation Notifies as well. Cheers.
Let’s say you have a sword swinging animation and received a request to interrupt the attack. You wish to skip ahead to the “Recoil” section at the end of the swinging attack animation. If you use “Montage Jump to Next Section” you cannot blend between where the animation is currently at and the recoil at the end; there is a visual hiccup. In simple cases, you can weirdly do a “Montage Play” (with “Stop All Montages” checked) followed by a “Montage Jump to Section” (in this case the section is “Recoil”). The result is the animation blending between where it currently is to the “Recoil” section. It uses the “Blend In” setting found in the actual montage asset you are playing. In my case it is set to 0.25.
If you had more than one montage playing then you would not want to “Stop All Montages”. You would need a more clever system than this.
Maybe you searching for “Blend Poses by int”. With the Int variable you change the animation and you can blend between attacks. This is what I made for my weapon status but you can use it for your attacks