Help with ragdoll collision

Im trying to make a system where you can pick up dead bodies. However, Ive run into a problem where the ragdoll’s impact movement and sort of weigh the character down. Ive tried everything I know to fix this, using cancollide, canquery, cantouch, all to false as well as setting massless to true. I also have a collision group set between ragdoll bodies and players.



Proof that I have all those properties set aswell as an example of how the ragdoll is affecting the physics.
Here is my Collision settings:
image

    local newweld = Instance.new("Weld")
	newweld.Part0 = player.Character.RightHand
	newweld.Part1 = script.Parent.Parent.LeftHand
	newweld.Parent = player.Character.RightHand 
	newweld.Name = "Main"
	script.Parent.Parent.UpperTorso:SetNetworkOwner(player)
	for i,v in pairs(script.Parent.Parent:GetDescendants()) do
		if v:IsA("MeshPart") or v:IsA("BasePart") and v.Name ~= "Mask" and v.Name ~= "Mask2" then
			v.CollisionGroup = "Body"
		end
	end

This is the code im using to weld the characters as well as set the collision group. Any help is appreciated

1 Like

Just bumping this topic as i still need help I cant seem to figure it out.

Attach the ragdoll to a invisible part that is not attached to the player character and keep teleporting it to the player.
Make sure the player is the network owner of the ragdoll, then you can do all of this on the client and keep it simple.

Alternatively, you can just apply force to the ragdoll to keep pushing it towards the player that’s supposed to hold/drag it around if it gets too far away.

I used the alternate method, setting network ownership and then I used AlignPosition to constantly position the ragdoll. Also for anyone else thats using this make sure AlignPosition.RigidityEnabled is set to true. Thank you!

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.