I don't mean framerate drops, It's more like the player is teleporty and moves much more slow than the player should. I can't find any method that would fix this (For example, simple changing the rotation will break joints, and CFraming already creates the 'lag') so I wanted to ask if anyone knew a better way to do this.
My code:
game:GetService("RunService").RenderStepped:connect(function() if angleY > zoomMax then angleY = zoomMax elseif angleY < -zoomMax then angleY = -zoomMax end local dir = Vector3.new(m.hit.p.x,0,m.hit.p.z) local x = 5 * math.cos(math.rad(angleX)) local z = 5 * math.sin(math.rad(angleX)) local y = 1 * math.tan(math.rad(angleY)) local camPosition = Vector3.new(x, y, z) camPosition = camPosition + chr.Torso.Core.Position cam.CoordinateFrame = CFrame.new(camPosition, chr.Torso.Core.Position)*CFrame.new(2,4,7) chr.Torso.Mbox.CFrame = CFrame.new(chr.Torso.Mbox.CFrame.p,dir)*CFrame.Angles(0,math.rad(-90),0) --This is the broken line, chr.Torso.Mbox is the collision box for my custom-ish player (It's welded to the real, invisible player.) end) end)