Description

We skip CalcVelocity for CharacterMovement while HasAnimRootMotion, and we do ExtractedRootMotion.MakeUpToFullWeight() anyway.  This caused problem that when we blend out a rootmotion anim, it will always make the velocity down to 0 since until then, we handle the actual input CalcVelocity and before that, the weight to 0 caused the rootmotion anim to get a 0 velocity. 

I think we should remain the actual total weight of all currently playing RootMotion animsequences, and then we can enable CalcVelocity in CharacterMovement when we HasAnimRootMotion and the accumulated weight is small then 1.0.  Then we can lerp with weight*AnimRootMotionVelocity+Veclocity*(1-weight).

Steps to Reproduce

Any Rootmotion Anim blend back to locomotion will cause the charactermovement velocity down to 0 before it can actually go back to according velocity respect the actual input.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-73049 in the post.

6
Login to Vote

Backlogged
CreatedApr 19, 2019
UpdatedJun 16, 2023