Glitchy Camera When Tweening HumanoidRootPart

I’m making a locker with animations, and I noticed that sometimes when I tweened the humanoid root part of the player the camera started shaking. I read a couple other posts about it, and most of them said something about anchoring the HRP, which I did. Anyway here’s my messy script, but I don’t think that’s the problem. Thanks for the help.

function locker.PlayerEnter(player, model)
	local char = player.Character
	if not char then return end
	
	local enterAnim = char:FindFirstChild("Humanoid"):LoadAnimation(script.EnterAnimation)
	local hidingAnim = char:FindFirstChild("Humanoid"):LoadAnimation(script.HidingAnimation)
	
	model.hasPlayer.Value = player
	game:GetService("TweenService"):Create(model.Hinge, TweenInfo.new(.5, Enum.EasingStyle.Sine), {CFrame = model.Hinge.CFrame*CFrame.Angles(0, math.rad(110), 0)}):Play()
	model.Door.Open:Play()
	char.HumanoidRootPart.Anchored = true
	char.HumanoidRootPart.CFrame = model.EnterPosition.CFrame
	enterAnim:Play()
	wait(.5)
	game:GetService("TweenService"):Create(char.HumanoidRootPart, TweenInfo.new(.3), {CFrame = CFrame.new(model.HidePosition.Position)}):Play()
	game:GetService("TweenService"):Create(model.Hinge, TweenInfo.new(.5, Enum.EasingStyle.Sine), {CFrame = model.Hinge.CFrame*CFrame.Angles(0, math.rad(-110), 0)}):Play()
	game.ReplicatedStorage.Events.MoveCam:FireClient(player, model.CameraPositionHide.CFrame, 0, "Hiding")
	wait(.5)
	hidingAnim:Play()
	model.Door.Close:Play()

end

function locker.PlayerLeave(player, model)
	local char = player.Character
	if not char then return end
	
	local enterAnim = char:FindFirstChild("Humanoid"):LoadAnimation(script.EnterAnimation)
	local hidingAnim = char:FindFirstChild("Humanoid"):LoadAnimation(script.HidingAnimation)
	
	hidingAnim:Play()
	hidingAnim:Stop()
	enterAnim:Play()
	game:GetService("TweenService"):Create(model.Hinge, TweenInfo.new(.5, Enum.EasingStyle.Sine), {CFrame = model.Hinge.CFrame*CFrame.Angles(0, math.rad(110), 0)}):Play()
	model.Door.Open:Play()
	game:GetService("TweenService"):Create(char.HumanoidRootPart, TweenInfo.new(.3), {CFrame = CFrame.new(model.ExitPosition.Position)}):Play()
	wait(.5)
	char.HumanoidRootPart.Anchored = false
	game:GetService("TweenService"):Create(model.Hinge, TweenInfo.new(.5, Enum.EasingStyle.Sine), {CFrame = model.Hinge.CFrame*CFrame.Angles(0, math.rad(-110), 0)}):Play()
	wait(.5)
	model.Door.Close:Play()
	model.hasPlayer.Value = nil
end
1 Like