Root motion anim to in place anim transition - add impulse / change root translation

I’m working a lot with root motion animations. There are quite a fewsituations, where I need to transition from a root motion anim to an in place anim.

Example: I have a character on a wall in a climbing situation and now the char jumps of from the wall. The jump off until the apex would use root motion, since in climbing these movements are quite complex and hard to reproduce with in place anims. The falling after the apex is a normal anim that uses built in physics for movement.

Right now the transitioning is a real pain, since I suddenly loose all velocity in X and Y, when the transition between the anims start, this reproduces very unatural results…the char suddenly falls straight down like a sack of potatoes. I can store the velocity of the last frame of the root motion anim and apply it to the first “full” frame of the in place anim. But this always leaves some frames with zero velocity in x and y axis (during the transition itself). There a more cases like this (basically every transition from root motion to in place that uses three axis).

I fully understand that it makes sense to give the root motion anim full control over the capsule. But since most people don’t solely use root motion or in place animation, we have these transitioning moments. For these moments it would be necessary to

(a) having the ability to use add impulse, that gets added to the root motion velocity
(b) having a way to modify the root motion translation and rotation before it is added to the capsule
(c) most important: when transitioning from root motion to non root motion animation, the velocity should not be zerod out/taken completely from the root motion anim. when in the middle of a transition it should at least come 1/2 from the root motion anim (finer control would be even better)

PS: There is an existing feature request from 2015 Improvements to AddImpulse (BP) for RootMotion - Feedback for Unreal Engine team - Unreal Engine Forums


I have the same problem. How to add impulse to character while playing root motion animation?

I have same problem too.
I want to push character to character when using root motion.
for example, One Huge mass character play root motion backstep. behind the other light mass character are pushed by huge character.
So I tried to use AddImpulse and AddForce. but failed.
Maybe when character play root motion, This character didn’t get the force by AddImpulse or etc.

I really need this feature. please.

1 Like

Need to override few methodes like ConstrainAnimRootMotionVelocity() on UCharacterMovementComponent

see UCharacterMovementComponent | Unreal Engine Documentation

1 Like

Facing same issue, how did you all resolve it?