- Home /
Making "Character Joint" go limp?
I'm working with a unity-created ragdoll. When a condition is met (in this case, death) I run this
Rigidbody[] rigids = GetComponentsInChildren<Rigidbody>();
for(int i=0; i<rigids.Length; ++i)
{
rigids[i].GetComponent<Rigidbody>().isKinematic = false;
}
to basically "activate" my joints and make them be effected by gravity. I can't get my joints to move freely the way I want them to.
Here is the thigh joint as an example:
When all the rigidbodies are set to kinematic, the joint appears to be snapping to the "High Twist Limit" and then slowly easing back (altough not all the way, maybe this has to do with friction between the collider and the floor while the character is on the ground?).
What I want is for the entire character to go completely limp. I want the joins to stay connected and only move within certain constrains but otherwise all of the work should be done by gravity.
I've re-read the character joint documentation, and to the best of my knowledge these values should be doing what I want them to but they don't. What am I not seeing here? Surely a ragdoll where all the joints just lock up isn't the intended function? The other values give some more control over the movement but they still don't prevent the snapping and locking. Please help :(