How to blend ragdoll with animation?

I’m trying to make a character’s death realistic.

I have a death animation and I’d like to play it a second after triggering the ragdoll.


1- when a character gets hit by a bullet, I apply the impulse on the location where the bullet was hit. (works)

2- after a second, I’d like to un-trigger the ragdoll and play the death animation.

I don’t know how to match my animation skeleton with the skeleton of the character after disabling the ragdoll.

Hey there!

That has the potential to make for some jarring animation blends. Are you sure you don’t want to trigger the death animation, then shortly after trigger the ragdoll? As far as I’m aware that’s how most handle ragdoll deaths with specific animations.

Hey there, I’ve tried to trigger the ragdoll after playing the death animation(montage). But there is a jarring when the ragdoll is triggered (It seems like bones are trying to match with the ragdoll or something?)

Can you show a video of what you’re seeing? The ragdoll effect shouldn’t do anything that isn’t dynamic. It won’t try to conform to the previous animation, it should just, well, ragdoll.

I’ve recorded a slow motion version of the issue.
I play the animation from the start and I activate the ragdoll after few fraction of seconds.
You can see that the posture of the mesh suddenly changes.

Hmm yeah that’s bizarre. Have you tried tweaking the time in which you trigger the effect? Does that produce similar effects, or diminish it in any way?

same effects are triggered even if I change the blend time out(this effect triggers when ragdoll is activated). Found out that, if I remove all the colliders from the ragdoll, the jittering effect dissapears

Removing collision outright, or disabling it? You could toggle it off right before setting the ragdoll effect if that doesn’t present the issue.

I found the solution.

When the ragdoll is triggered, the contraint angles were too small, preventing the smooth transition from the animation to ragdoll.

Glad to hear you found a solution. And thanks for sharing so others who may have this issue can see it if they happen across this post. =)