local w=game:GetService("\080\108\097\121\101\114\115")local I=game:GetService("\086\082\083\101\114\118\105\099\101")local y=require(script.Parent)local p=Vector3.new(0,1,0)local x=Vector3.new(1,0,1)local X=Vector2.new(0,0)local B=.25 local m=Vector3.new local l=CFrame.new local K=math.min local V=math.max local H=math.atan2 local J=math.rad local N=math.abs local function Q(w,I,y)if y<I then y=I end return math.clamp(w,I,y)end local function i(w)return w==w and(w~=1/0 and w~=-1/0)end local function R(w)return i(w.x)and(i(w.y)and i(w.z))end
-- End of OrbitalCamera additions
local PlayersService = game:GetService("Players")
local VRService = game:GetService("VRService")

local RootCameraCreator = require(script.Parent)

local UP_VECTOR = Vector3.new(0, 1, 0)
local XZ_VECTOR = Vector3.new(1, 0, 1)
local ZERO_VECTOR2 = Vector2.new(0, 0)

local VR_PITCH_FRACTION = 0.25

local Vector3_new = Vector3.new
local CFrame_new = CFrame.new
local math_min = math.min
local math_max = math.max
local math_atan2 = math.atan2
local math_rad = math.rad
local math_abs = math.abs

local function clamp(value, minValue, maxValue)
	if maxValue < minValue then
		maxValue = minValue
	end
	return math.clamp(value, minValue, maxValue)
end

local function IsFinite(num)
	return num == num and num ~= 1 / 0 and num ~= -1 / 0
end

local function IsFiniteVector3(vec3)
	return IsFinite(vec3.x) and IsFinite(vec3.y) and IsFinite(vec3.z)
end
