Root motion gets accumulated while physics simulation

Hi,

I have a basic walk fwd loop that uses root motion.

When I walk fwd and go into ragdoll (simulate physics), it works fine, but all the root motion still gets extracted and accumulated until the animation sequence reaches its end. While being in ragdoll it doesn’t do any harm, but when I go out of ragdoll, all this accumulated motion gets added at once to the capsule, so the chracter instantly jumps forward.

Looking at the c++ character movement component class, the PerformMovement function exists early if character is in physics simulation. This makes sense to me. But why then is root motion still extracted while in physics simulation? Is this intended behaviour? I can’t think of a possible use case for that. But if it is intentional, is there a way to disregard the root motion information that was extracted while being in physics simulation?

Cheers,
Florian

Any ideas? Someone?

Hey florianbepunkt,

Any chance you could send me an example of your setup? I’m having trouble reproducing the issue on my end. You can send it privately if you prefer by PMing me a download link on the forums.

-.

I’m afraid I don’t have this setup anymore, sorry.

Not sure if this was a bug…what caused my issue: Character went into ragdoll, but the animation state that was active at this time was still playing (playing a walk fwd loop with root motion). This root motion from the still playing walk loop was accuulated and added at once, when I was going out of ragdoll/simulation, so my capsule component was moved to a new position after going out of ragdoll/simulation. I solved this by stopping my walk animation when I go into ragdoll.

Hey florianbepunkt,

Because I’ve been unable to get this with my setup (I think we’re doing our ragdoll/recovering in completely different ways) and it seems like something that is resolved with a change in your AnimBP, I’m going to mark this as resolved.

-.