function CameraUtils.Round(m,D)local j=10^D return math.floor(m*j+.5)/j end function CameraUtils.IsFinite(m)return m==m and(m~=math.huge and m~=-math.huge)end function CameraUtils.IsFiniteVector3(m)return CameraUtils.IsFinite(m.X)and(CameraUtils.IsFinite(m.Y)and CameraUtils.IsFinite(m.Z))end
-- From TransparencyController
function CameraUtils.Round(num, places)
	local decimalPivot = 10 ^ places
	return math.floor(num * decimalPivot + 0.5) / decimalPivot
end

function CameraUtils.IsFinite(val)
	return val == val and val ~= math.huge and val ~= -math.huge
end

function CameraUtils.IsFiniteVector3(vec3)
	return CameraUtils.IsFinite(vec3.X) and CameraUtils.IsFinite(vec3.Y) and CameraUtils.IsFinite(vec3.Z)
end
