Welded part to character (humanoid root part) freezes character when welded part goes through tween service animation

  1. What do you want to achieve? I want the character to move freely when the new part gets generated and welded onto the HumanoidRootPart with the TweenService animation. Also, I want the part to be moved with the character too.

  2. What is the issue?

The character is freezing when the part is welded to character; I want it so the character can still freely roam around and the part is moving with the character.

  1. What solutions have you tried so far? I tried changing the Weld to WeldConstraint, Motor6D, and used Weld itself. I also tried unanchoring it and CanCollide = false too, but nothing is working.
local targetPlayers = {}
local blindCircle = BlindCircle:Clone()
local blindCircleTouched
local hrp = character.HumanoidRootPart

blindCircleTouched = blindCircle.Touched:Connect(function(hit)
	local targetPlayer
	local targetCharacter = hit.Parent
	local humanoid = targetCharacter:FindFirstChildOfClass("Humanoid")
	
	if humanoid and not targetPlayers[targetPlayer] then
		targetPlayers[targetPlayer] = true
		targetPlayer = Players:GetPlayerFromCharacter(targetCharacter)
		if targetPlayer == player then
			targetPlayers[targetPlayer] = nil
			return
		end
		WhiteScreenEvent:FireClient(targetPlayer)
	end
end)

blindCircle.Anchored = false
blindCircle.CanCollide = false
blindCircle.Size = BlindCircleStartRange
blindCircle.Transparency = 0
blindCircle.Position = hrp.Position
blindCircle.Parent = workspace

local weld = Instance.new("Weld")
weld.Part0 = hrp
weld.Part1 = blindCircle
weld.C0 = hrp.CFrame:Inverse()
weld.C1 = blindCircle.CFrame:Inverse()
weld.Parent = blindCircle
	
local blindCircleTween = TweenService:Create(blindCircle, TweenInfo.new(cooldown / 5), { Size = BlindCircleEndRange, Transparency = 1 })
blindCircleTween:Play()
blindCircleTween.Completed:Wait()

weld:Destroy()
blindCircleTouched:Disconnect()
blindCircle:Destroy()

I would use a weld contraint and set the CFrame to the HumanoidRootPartCFrame. When using a Weld Constraint, most of the time you dont need to use C0 and C1. The C0 and C1 might be your issue, but i will do some research and try to find a solution.
Also, Is your circle Anchored at the time it tweens?

The C0 and C1 is not the issue; I already used WeldConstraint but still same behavior produced.

I turned on the Massless property and now the character won’t freeze anymore.

I just want to make sure the Massless property is appropriate as the solution?

Thinking about it, your right. it was the mass as the circle is quite large. Yes, that is an appropriate solution.

1 Like