Separate Animation Blending Time for Root Motion from the actual animation

Basically I want my animation transitions to look smooth while applying the full effect of root motion. The animation being blended out is blending out the root motion also.

I don’t think these systems should be tied together, animation is aesthetic, root motion is functionality even if it comes from the same place.

1 Like

Bump. I think this is very important even if it’s not something widely understood (for lack of a better word).

It is possible to get an update on this feature request?

In 4.16 blending in/out of a root motion animation still stops the root motion from moving/rotating the character for the entire length of the original animation.
Example: If the root motion rotates the character 180 degrees - In game the character may only rotate 170 degrees because of the blending between animation states.

I don’t believe it’s even on their radar.

If you need a specific rotation like 180 degrees why not disable blending and make sure the animation end of the root motion animation and the start of the next animation match up perfectly?

Are you sure the issue you are seeing is not caused because the animation is exiting earlier?

What is your exit transition? e.g. TimeRemaining < .1

Nope. Occurs when not even using an anim graph. Also confirmed on answerhub when I posted it there by Epic’s devs: Root motion affected by animation blending time - Character & Animation - Epic Developer Community Forums

I think, it would be good if the root bone could be blended separately with its own transistion settings. This way gameplay and graphical decisions can be handled in its own way.

On a different note, old versions of the engine had the option to apply only the location and/or rotation change of the root bone to the character movement in each animation sequence. It would be great if this feature could return.

Absolutely, gameplay and visuals should always be kept separate. That’s essentially the ‘feature request’ I’m asking for with this thread.

Hope we can get an Epic response but feature requests tend to need a lot of vocal support and this isn’t something that a lot of people would encounter even though it’s very much needed, rather they may not even know what’s happening let alone come and search for a thread on the forums.

Honestly root motion could be revisited for the sake of networking too.

Hey everyone

Yeah I can see how that would be a problem :frowning: Internally root motion is probably one of the least used areas of the animation system and so pain points like this can go unnoticed.

Can I ask what root motion setup you are using? Is it “root motion from everything” or “root motion from montages only”? I don’t believe RMFMO does blending so I am assuming RMFE but I’d like to clarify.

I have a partial change already to bring this back so it will return soon.

Hey!
Using “root motion from everything” or “root motion from montages only” blend the root motion out the same. It is dependent on the animation transition duration in the Anim-Graph.
Adding the ability to blend root motion differently in the Anim-Graph would be a huge asset to any project using root motion!

I have looked into this a bit further and I can see two “solutions”

  1. Add a flag to nodes (or assets or both) that states root motion contribution will not be weighted. If you then have an animation where you need exactly all of the root motion then you can flag it.
  2. We change the blend logic so that we only apply the weighting if we have more than one root motion contribution. If we have exactly one then we use it in its entirety. In this setup if you had two animations contributing root motion (say a run forward and a strafe left) they would contribute the right amount of root motion each, but if you had just one (say a turn 180) you would get all 180 degrees of rotation. I prefer this solution as it seems the cleanest to me (it would be nice not to add even more magic flags to the engine).

I’m not sure which solution would be best for your use cases however so would like some feedback!

Thanks,
Martin

This does seem like the better solution, however I don’t think either solution will provide the desired control we need.

It would be nice to have additional blend settings in the AnimBlueprint where we can customize the RootMotion blend per state transition.
Specifically these settings: Capture.PNG

If we would could duplicate these settings, but for root motion that would be great!
These settings could also apply to Montages.

I would also greatly appreciate having this feature. It would be good to have an additional set of blend settings for root motion blending.

You could try setting the blend duration to zero, this will make the root motion blend immediately to the other animation.

This does work, but the character mesh jumps from one animation to the next (does not look good).

I really think the only real way to solve this issue is to separate the blend settings between:
Blend Settings for Mesh Animation & Blend Settings for Root Motion

Hello everyone. I have solved this problem and sent Pull Request https://github.com/EpicGames/UnrealEngine/pull/3835. With my changes you can select Root Motion Mode for Pose (Source or Destination) inside custom blend:
blend mode.PNG

Getting a 404 error, bad link or was it taken down?

Maybe you doesn’t have access to ue4 repository? Unreal Engine 4 on GitHub - Unreal Engine

Ah I hadn’t signed in, getting a 404 for that reason is silly, Github.