WeldConstraint restricts character movement

Hello! I’m aiming to create a rotating ring underneath the player. The ring correctly rotates and is welded to the player, but the welding seems to be causing the player to lose the ability to jump correctly, as well as cause the player to be stuck in a falling loop when Vector3 is introduced.

I’ve tried anchoring it, unanchoring it, and messing around with the CanCollide and CanTouch properties, but the glitch still consists

Visual example of the issue:

Feel free to view the code used below, and thank you for your help in advance!

local RunService = game:GetService("RunService")
local Speed = 4
local Ring = game.ReplicatedStorage.PlayerAccessories.Ring

game.Players.PlayerAdded:Connect(function(Player)
	Player.CharacterAdded:Connect(function(Character)
		local RingClone = Ring:Clone()
		RingClone.Parent = Character
		
		local Weld = Instance.new("WeldConstraint")
		Weld.Parent = RingClone
		Weld.Part0 = RingClone
		Weld.Part1 = Character:WaitForChild("HumanoidRootPart")
		RingClone.Position = Character:WaitForChild("HumanoidRootPart").Position
		
		RunService.Heartbeat:Connect(function()
			RingClone.Orientation = Vector3.new(0, tick() %Speed * 360/Speed, 0)
		end)
	end)
end)

Update: Tried using CFrame, using CFrame.new, and changing the Weld0, Weld1, and Weld.Parent properties, still the same issue. Done a few web searches and have found nothing of interest. The falling issue no longer occurs, though?

i think you should make the welded part as massless

1 Like

That solved the issue right away.