Download

Bullet Trains Active Ragdolls & Animation

Hi,
I recently played the Bullet Train Demo, really great work, one thing that really stood out was the enemy animation & impacts.
I have some questions regarding those if I may, targeted at Epic devs but open to anyone with knowledge in the physics animations area:

Active Ragdoll
From what I’ve tried within ue4, using ‘Set All Bodies Below’ or ‘Set Physics Blend Weight’ nodes appear binary for achieving full-body physics or full animation, they appear to become stuck in a following loop, with the root following the physics following the root when not 0 or 1. However in Bullet Train you appear to have solved this issue, an example can be seen here, where the enemy appears to go from a shooting animation to ragdoll hitting the ceiling then falling back down blended back to a falling animation.
Would it be possible to provide an example of the blueprint / technique used to achieve these?

Impacts
These feel and play great, are bullet & object impacts part-blending between animation and ragdoll, or is there a large mocap set and some hit AI in the works? Or something else?

Thanks

b14de

Hi, sorry to bump, I’m still very interested in hearing how these were achieved.

From research into the subject, please correct where wrong, it’s apparent one way of achieving active ragdolls is by applying torque to the joints of the ragdoll to ‘push’ the limbs towards the target animation using an amount of torque each frame defined in using a PD formula, so the ragdoll is visible and always in a state of catchup to the animation, lagging behind depending on the strength of the torque. This can be done in local or world space; Local achieves nice interactions with the surround objects no matter where the target animation is, however would require some way of ‘propping up’ the ragdoll so it doesn’t fall over under its own stupidity. World space doesn’t have this problem, but may be limited to needing the target animation to be locked to or moved to the ragdoll root, possibly creating some kind of dependency loop?

Does UE4 have any of these features implemented as a starting point?

Any pointers on where a good place to start in code / how this feel was achieved in BT / the right person to contact for advice would be greatly appreciated

Thanks

b14de

You want to only activate specific bones to physically simulate. You’ll want to lerp their blend weight over specific time so it gradually becomes more physicalized taking more weight than animation. It takes some experimentation.