I had previously made a ragdoll model in 2016, but there were a number of engine-level shortcomings that made it flawed:
- There were no twist limits for BallSocketConstraints, so shoulders would happily turn all the way around where your inner armpit was on the outside of the character
- There was no Humanoid.BreakJointsOnDeath property, which made it impossible to support things like preserving welded armor/etc on ragdolls, and made it difficult to support accessories/tools
- There was no NoCollisionConstraint, so without creating a bunch of collision groups (potentially game-breaking if a game is already near the max) there was no way to prevent large R15 hitboxes from overconstraining ragdolls
Now that these are no longer an issue, I’ve been able to drastically improve upon where I originally started. The new ragdoll implementation has more realistic constraint limitations, avoids overconstraining, seamlessly preserves any accessories/tools/armor you have equipped, and works with arbitrary characters (e.g. a spider) that don’t conform to the R15 hierarchy.
Works with larger packages:
Works with packages that have excessive clipping:
Zero-G ragdolls!
Complete compatibility with physics
You can test out the ragdolls live in this place (K to kill yourself, or R to toggle ragdoll):