Root motion affected by animation blending time

Oversight or bug, take your pick.

Animation blend time shouldn’t affect root motion, the later being functionality and the former being aesthetic. The result is that you are forced to choose between horrible looking blending or broken root motion.

There is no scenario where this is desirable or working as intended.

Hi ,

Could you provide an example of what you’re talking about? How are you using root motion?

Sure, for my platformer there is ledge grabbing, where he hangs off the edge of a wall. Then there is a climb animation with root motion, it pushes him upwards → forwards → downwards to plant his feet on the ground when it completes.

If I have any blend out time, the root motion at the end is blended out causing him to not be pulled down at the end and the result is him flying upwards similar to a jump.

I’ve also pulled the root motion back so it moves him earlier than it should in the animation, giving 1.67 seconds after the root motion completes to use as blend out time, it’s a temporary and ugly solution and I really need 2-2.25 seconds to make the transition look good, but can’t because of this problem and would rather have the root motion complete with the animation as well.

Hey ,

I’ve got an email out to some of our engineers. I was able to reproduce this in Crocopede’s Ledge Climbing System project when adding a blend out to his montages. I’m basically talking to the engineers to see if this is an engine bug or if there is a content fix.

The weird thing is that in this example project, I was only adding a 0.25 blend out, but the root movement ends much earlier in the animation (kind of like your workaround). However in this project, it still breaks it.

,

Just wanted to give you a heads up that I’ll be looking into this.

Thanks,
Jon N.

Thanks both of you, looking forward to your findings

,

It was confirmed from some of the other engineers that root motion should not be affected by blend out time, so your intuition is correct.

However, there is a bit of a quirk with this. When the Out Blend Time is hit, it effectively kills the animation. This means that depending on how you’re triggering your events for switching state, etc., you could be receiving those events earlier than you think.

Additionally, you can also help the blending a bit by changing the blend type for your AnimInstance to “Root Motion from Everything” instead of “Root Motion from Montages Only”. This option can be found by examining the Anim Graph of a given AnimBP.

Thanks,
Jon N.

I have the same problem.

How should I switch states to resolve it?

By now my montage is played on Mouse Button an play looped Section.
When I release Mouse Button montage jump to non-looped Section.

In animation graph it is in default state in state machine. Here is the printscreen of this state:
http://prntscr.com/fatnrg