Hi, DevForum. I’m attempting to make an active ragdoll similar to Ragdoll Universe by using AlignOrientations to match the rotation of another character’s limbs. The ragdolls in the game, despite being connected by BallSocketConstraints, are able to have disjointed limbs that aren’t connected to the torso in some animations.
(An image example above, you can see how the arms are disconnected from the character's torso and the legs are also clipping slightly into the torso, which usually isn't possible with a basic ragdoll)
I’ve tried to obtain an effect like this by creating extra attachments on the character model the ragdoll is mimicing and using CFrames to move the Attachment0 of the BallSocketConstraints, but all my attempts have resulted in a buggy mess or something that didn’t work at all.
I’m using AlignOrientations to animate the ragdoll I have in my studio place by matching its limb rotation with another rig, but I’m trying to also get the effect of disjointed limbs without getting rid of the ragdoll-like properties.
ah i see, so am i correct in saying you want to put align positions into the players body, then have a dummy moving around and you want to set those allign positions to replicate the dummys movements?
I’ve already attempted to use alignpositions to try and have disjointed limbs, but it only causes the target attachment to go to the end attachment, which is not what I’m trying to do.
Well, yes, but just with AlignOrientation (which just rotates the limb)
In the video, you can see how the non-ragdoll rig (on the left) is able to have it’s arm disconnected from it’s body, but the ragdoll (to the right) is only able to copy the orientation of the limb, and is unable to replicate the positional offset of the arm.
With some experimenting, I found out that modifying the position of the Attachment0 on the BallSocketConstraint I want to modify can change the point which the select limb rotates around, but I don’t know how I can have these attachments automatically adjust to the position of the other rig’s attachment position while staying relative to the part it is on.
The video above is just a simple example, but if an animation were to offset the select attachment on the normal rig, it would also have the same offset on the other rig in order to recreate the disjointing with certain animations.
I haven’t actually made it, but I assume the way you can do it is by copying the Motor6D’s C0/C1 positions and rotations for each part, then place those into the values of an AlignOrientation and AlignPosition (with some math to make the positions relative to the character’s current position).
I think the game uses a custom ragdoll that has all the body parts in their own collision group for preventing self-collisions, and the legs/arms are connected to a rootpart instead of the torso; That would allow the torso to overlap and disconnect from those appendages instead of folding them like your usual ragdoll would.
And for more complex animations, you can get away with it by enabling the part’s Motor6D again. I hope this information is useful to you.