Tony Thedea
Tony Thedea

Reputation: 53

how to change active rag doll pose

does anyone know how to change the parameters of a configurable joint in Unity to fit another pose and animation for an active rag doll character.

here is the issue in a nutshell. I've got active rag doll working. I align the character is use for animation with the ragdoll character, set up the configurable joints, etc. the only problem is, I later want to change to using another pose (initially the pose is a t-pose and I want to change it to a crouch pose and animation).

the problem is, even after aligning the animation and rag doll characters and setting the new initial localPositions and localRotations to feed to targetPosition and targetRotation, it won't work. I tried destroying the configurable joints and adding new ones, but that just makes the code wonk out. I have no idea what's up, but it seems that configurable joints accept an initial position and rotation between body parts ( when setting up active rag doll as I've done) and then it doesn't accept changes.

can anyone confirm that? has anyone seen similar results? does anyone know how to change the pose when doing active rag doll?

Upvotes: 0

Views: 722

Answers (1)

Tony Thedea
Tony Thedea

Reputation: 53

ok i figured it out. so I had a few issues, but first off, I'd like to say, in case anyone is encountering this issue, just know that it is possible to change the offsets used for setting targetPositions and targetRotations for active ragdoll when trying to use a different animation. maybe my implementation is jacked up, but the character used to animate didn't line up with the rag doll character when using active rag doll without reseting the above mentioned values. In any case, I made a couple mistakes:

  1. i was using sample animation to align the animation and ragdoll characters right before setting up active ragdoll (I wanted the pose from the animation so I used sample animation).
  2. in addition, it seemed to help when I set connectedAnchor manually ( had to turn off autoconfigurconnectedanchor of course). the value used for each connected anchor is going to be the local coordinates of the joint relative to its connectedBody (so use inversetransformpoint to get that)

I think that was it.

Upvotes: 0

Related Questions