Hello! My pet is shaking and so its kind of annoying and you cant see the name well. Is this normal? and is there any way i could make it more stable?
Gif:Pet Gif this is the script inside the pet:

local players=game:GetService('Players')
	
game.Players.PlayerAdded:Connect(function(player)

	local pet = script.Parent
	local newpet=pet:Clone()
	newpet.Parent=game.Workspace
	pet=newpet
	local char = game.Workspace:WaitForChild(tostring(player))
	local players = (game:FindService("Players") or game:GetService("Players"))
	local player = players:GetPlayerFromCharacter(char)	
	pet:SetNetworkOwner(player)
			
	while true do
			
		local char = game.Workspace:WaitForChild(tostring(player))
		local hum = char:FindFirstChild("Humanoid")
			local torso = char:FindFirstChild("HumanoidRootPart")
			
		wait()
			
		if pet ~= nil and hum ~= nil and torso ~= nil then
			if hum.Health >= 0 then
				local cf = torso.CFrame * CFrame.new(3,2,3)
				pet.BodyPosition.Position = Vector3.new(cf.x,cf.y,cf.z)
				pet.BodyGyro.CFrame = torso.CFrame * CFrame.new(3,0,-3)
			else
				break
					end	
		end
end
end)