The studio freecam script does not account for DeltaTime when calculating the pan and FOV from the mouse input. This means that higher framerates cause the camera to move slower.
Changing the Input.Pan and Input.Fov functions to divide by DeltaTime times the base framerate should fix the issue.
function Input.Pan(dt)
local kGamepad = Vector2.new(
thumbstickCurve(gamepad.Thumbstick2.Y),
thumbstickCurve(-gamepad.Thumbstick2.X)
)*PAN_GAMEPAD_SPEED
- local kMouse = (mouse.Delta)*PAN_MOUSE_SPEED
+ local kMouse = (mouse.Delta / (90 * dt))*PAN_MOUSE_SPEED
mouse.Delta = Vector2.new()
return kGamepad + kMouse
end
function Input.Fov(dt)
local kGamepad = (gamepad.ButtonX - gamepad.ButtonY)*FOV_GAMEPAD_SPEED
- local kMouse = (mouse.MouseWheel)*FOV_WHEEL_SPEED
+ local kMouse = (mouse.MouseWheel / (90 * dt))*FOV_WHEEL_SPEED
mouse.MouseWheel = 0
return kGamepad + kMouse
end