Biped - Humanoid Ragdoll System [RELEASED]

Hi all,

This tool has been around for about awhile, but I figured I should make a forum thread to consolidate discussion, feedback, and so on.

Main Features:

  • Configure a ragdoll for a bipedal character in a few clicks
  • Automatically locate body parts using common naming conventions or using a humanoid avatar definition
  • Automate setup of character physical properties using medical data, including collider shapes and sizes, mass distribution, and joint angular limits
  • Intuitive scene-view controls for editing colliders, joint limits, and center of mass, including symmetrical editing
  • Scene-view controls for experimenting with physical properties in play mode
  • Detailed custom inspector makes it easy to set up a character and quickly identify problems or missing data
  • Make a whole character or individual limbs go ragdoll and return to animation on-the-fly
  • With at least one prone and one supine animation, automatically stand up in-place from ragdoll
  • Ragdoll character can apply physical forces to mimic an animated rig
  • Compatible with Legacy, Generic, and Humanoid animation systems
  • Compatible with both Unity 3.5 and Unity 4.0
  • Includes example packages with animated characters
  • Automatically adds custom define symbol to project for other content creators to include dependencies

You can find the tool here. Please let me know if you have any questions, comments, problems, or requests.

Known Issues:
- If a Mecanim character is micking a target character and then goes ragdoll, the Mecanim character’s mimic target is set to the ragdoll, and the ragdoll’s mimic target is set to the original target. Please keep this in mind if adjusting mimicking after going ragdoll. You usually want to set your desired mimic target before going ragdoll.
- If a Mecanim character is mimicking something, goes ragdoll, then gets back up, its mimic weight is always reset to 1 instead of to the original value.
- In order to use intermediate blend weights with mimicking, you must either be using a humanoid Mecanim character, or you must disable animatePhysics on the Animator or Animation component. Note that disabling animatePhysics may cause other unexpected behavior, so use at your own risk.
- Unity 3.x produces strange behavior when an individual limb is ragdolled on a character mimicking another character. It should work fine if a whole character is ragdoll and mimicking another character.
- You may not get proper collision callbacks if you are blending mimicry of a ragdoll at intermediate values.
- Due to a bug in Unity’s RequireComponent mechanism, adding a Biped component to a prefab instance and then reverting the prefab instance requires that the instance be reverted twice in order to clear all changes.

This is on sale today so I picked it up.

I’ve already got most of my biped functionality implemented by my own systems - got a ragdoll rig already set up and tuned, etc - but what I’m interested in getting from Unity Biped is the get-back-up functionality.

How easy is it going to be to just use that functionality without it interfering with my existing rig setup?

Also, do the get-back-up animations actually have to get back up or is it valid to provide e.g. prone/supine idle animations? When one of my characters is floored I don’t necessarily want him to get back into a standing position - it might be valid for him to recover but continue staying down low and going for a crouched/crawling attack instead of going back into a standing posture.

Hi there! Sorry about the delay. I was actually just informed today that the forum has had some errors sending email notifications for subscribed threads, so I had never received notice of your question.

If you did not already look into this, the getup facilities are generally intended to work in conjunction with the Biped component itself, since it manages any necessary modifications/destruction of joints, colliders, etc. That said, you should theoretically be able to make it work if you are using legacy animation and properly disable all of your physical parts before calling GetUp() (basically, the Biped component takes care of disabling those if you used it for setup). Nevertheless, you may get warning or error messages if you never used the Biped’s characterization facilities. Using Mecanim though I don’t think you’d have as much luck, since there’s a lot of exotic stuff going on to manage going ragdoll and getting up.

All that said, probably the cleanest thing to do would be to set up a new version of the character using Biped’s automatic characterization, and then write an editor script to copy all necessary parameters from your previous setup to corresponding BodyPart values on the Biped. If you have an example file you wouldn’t mind sending me (containing your ragdoll already setup) then I could create a built-in tool to accomplish this task, since it sounds like it could be of general interest.

Hi,

I’m interested in the Biped Ragdoll System, because i could include almost every functionality of the system on my game, but my knowledge about it is limited. Before buy it, can you tell me how is the workflow to use it. Like how you enter and exit from ragdoll mode through script: Is it similar to calling functions()? i only work with javascript, is that a problem?

Oh, and one more thing: If you can set the amount of animation and ragdoll for each limb, is it possible apply a force(Like addForceAtPosition) on a limb that has a fifty fifty value? Lets say a bullet impact that moves the arm on hit but returns to the animation

Thanks!