Making a ragdoll with Motor6Ds

I’ve been wondering how you would go about making a ragdoll with motor6Ds
i know with most ragdolls you would want to use BallSocketConstraints but im going for a basic sort of style that looks like a hinge, ive tried using hinges but they didn’t work out, so ive been wondering how you would go about making it with motor6Ds

i’ve assumed you would need to find a way to try and get the motor6D to point down (or as far down as it can go) but nothing ive tried has worked

(Sorry if this is the wrong category im still quite new to the dev forum)

here is my current script (im testing it on a rig at the moment so its quite basic):

while task.wait() do
	for i,v in script.Parent.Torso:GetChildren() do
		if v:IsA("Motor6D") then
			v.C0 = CFrame.new(v.C0.UpVector):Inverse()
		end
	end
end

but i just end up with this:

i don’t understand Motor6Ds too well so i don’t know whats causing it or if its even possible
i haven’t got any error though

i should probably add: im not asking for a full script, just an explanation on how i would go about doing so if its possible

i think it would be very hard if not impossible to use motor6D for a ragdoll

but maybe try BallSocketConstraint with LimitsEnabled idk