Weird camera jittering w/ custom camera following script

I’m trying to recreate the old 2008-2011 camera lag (the camera lags slightly behind the player) and have run into an issue. The camera tracks and object, which is tracking the player’s head position using a BodyPosition. The problem is the fact that zooming in shows the player slightly jittering.


Does anyone know how to correct this? Thanks in advance!

Here’s the script if it’s of any use:

local lockCamera = false
local distance = 0
local height = 5

local torso = script.Parent.Head
local center = Instance.new("Part")
center.Name = script.Parent.Name .. " Center"
center.Transparency = 1
center.CanCollide = false
center.Size = Vector3.new(1,1,1)
center.Position = torso.Position
center.CFrame = CFrame.new(Vector3.new(0,0,0),Vector3.new(0,0,-1))
center.Parent = game.Workspace
center.CanTouch = false
local bp = Instance.new("BodyPosition")
bp.position = center.Position
bp.maxForce = Vector3.new(10000000000000000000000000000000000000000000000000, 10000000000000000000000000000000000000000000000000, 10000000000000000000000000000000000000000000000000)
bp.Parent = center
bp.D = 1500
bp.P = 50000
local bg = Instance.new("BodyGyro")
bg.maxTorque = Vector3.new(9e+00005, 9e+00005, 9e+00005)
bp.P = (100000)
bg.cframe = center.CFrame
bg.Parent = center
local cam = game.Workspace.CurrentCamera
cam.CameraSubject = center
cam.CameraType = Enum.CameraType.Custom
center.TopSurface = "Smooth"
center.BottomSurface = "Smooth"

while torso.Parent do
	wait()
	center.BodyPosition.position = torso.Position
	if lockCamera then
		cam.CoordinateFrame = CFrame.new(Vector3.new(center.Position.x + distance,center.Position.y + height,center.Position.z))
	end
end

center:Remove()

I fixed it using the RunService. It’s much more unnoticeable now.