vr roblox script pastebin -- DONT EDIT NOTHING IN THE SCRIPT IF YOU DONT KNOW WHAT YOU DOING! -- This script is for iiFireGamingOfDoom. wait(2) local InputService=game:GetService("UserInputService") local Camera=game.Workspace.CurrentCamera local Player=game.Players.LocalPlayer local Character=Player.Character local Head=Character.Head local Torso=Character.Torso local RootPart=Character.HumanoidRootPart local RootJoint=RootPart.RootJoint vr roblox script pastebin How to get it? vr roblox script pastebin local Neck=Torso.Neck Camera.FieldOfView=90 Camera.CameraType="Scriptable" InputService.MouseBehavior = Enum.MouseBehavior.LockCenter local v3=Vector3.new local cf=CFrame.new local components=cf().components vr roblox script pastebin How to dowload it? vr roblox script pastebin local inverse=cf().inverse local fromAxisAngle=CFrame.fromAxisAngle local atan,atan2=math.atan,math.atan2 local acos=math.acos local function toAxisAngleFromVector(v) local z=v.z return z*z<0.99999 and v3(v.y,-v.x,0).unit*acos(-z) or v3() end vr roblox script pastebin How to get it for free? vr roblox script pastebin local function AxisAngleLookOrientation(c,v,t)--CFrame,Vector,Tween local c=c-c.p local rv=(inverse(c)*v).unit local rz=rv.z return rz*rz<0.99999 and c*fromAxisAngle(v3(rv.y,-rv.x,0),acos(-rz)*(t or 1)) or c end local function AxisAngleLookNew(v,t)--CFrame,Vector,Tween local rv=v.unit local rz=rv.z vr roblox script pastebin How to get it for free? vr roblox script pastebin return rz*rz<0.99999 and fromAxisAngle(v3(rv.y,-rv.x,0),acos(-rz)*(t or 1)) or cf() end local function AxisAngleLook(c,v,t)--CFrame,Vector,Tween local rv=(inverse(c)*v).unit local rz=rv.z return rz*rz<0.99999 and c*fromAxisAngle(v3(rv.y,-rv.x,0),acos(-rz)*(t or 1)) or c end vr roblox script pastebin How to get it? vr roblox script pastebin local Sensitivity=0.005 local CameraDirection=Vector3.new(0,0,1) local function EulerAnglesYX(l) local x,z=l.x,l.z return atan(l.y/(x*x+z*z)^0.5),-atan2(x,-z) vr roblox script pastebin How to dowload it? vr roblox script pastebin end local function AnglesXY(l) local z=l.z return atan2(l.y,-z),-atan2(l.x,-z) end local function MouseMoved(Input) if Input.UserInputType==Enum.UserInputType.MouseMovement then local dx,dy=Input.Delta.x*Sensitivity,Input.Delta.y*Sensitivity vr roblox script pastebin How to use it? vr roblox script pastebin local m2=dx*dx+dy*dy if m2>0 then CameraDirection=(AxisAngleLookOrientation(RootPart.CFrame,CameraDirection)*fromAxisAngle(v3(-dy,-dx,0),m2^0.5)).lookVector end local RootOrientation=RootPart.CFrame-RootPart.Position local RelativeDirection=RootOrientation:inverse()*CameraDirection local AngX,AngY=AnglesXY(RelativeDirection)--RootOrientation:inverse()* if AngX<-1.57*11/12 then local y,z,c,s=RelativeDirection.y,RelativeDirection.z,math.cos(-1.57*11/12-AngX),-math.sin(-1.57*11/12-AngX) z,y=z*c-y*s,z*s+y*c vr roblox script pastebin How to use it? vr roblox script pastebin CameraDirection=RootOrientation*v3(RelativeDirection.x<0 and -(1-y*y-z*z)^0.5 or (1-y*y-z*z)^0.5,y,z) elseif AngX>1.57*11/12 then local y,z,c,s=RelativeDirection.y,RelativeDirection.z,math.cos(1.57*11/12-AngX),-math.sin(1.57*11/12-AngX) z,y=z*c-y*s,z*s+y*c CameraDirection=RootOrientation*v3(RelativeDirection.x<0 and -(1-y*y-z*z)^0.5 or (1-y*y-z*z)^0.5,y,z) end end end local Mouse=Player:GetMouse() vr roblox script pastebin How to use it? vr roblox script pastebin local Zoom=-0.5 Mouse.KeyDown:connect(function(k) if k=="e" then Zoom=-0.5 elseif k=="q" then Zoom=-0.5 end end) vr roblox script pastebin How to dowload it? vr roblox script pastebin InputService.InputChanged:connect(MouseMoved) Neck.C1=cf() local _ local DirectionBound=3.14159/3 local CurrentAngY=0 local function CameraUpdate() vr roblox script pastebin PasteShr vr roblox script pastebin Camera.CameraType="Scriptable" local cx,cz=CameraDirection.x,CameraDirection.z local rvx,rvz=RootPart.Velocity.x,RootPart.Velocity.z if rvx*rvx+rvz*rvz>4 and cx*rvx+cz*rvz<-0.5*(cx*cx+cz*cz)^0.5*(rvx*rvx+rvz*rvz)^0.5 then DirectionBound=math.min(DirectionBound*0.9,math.abs(CurrentAngY*0.9)) else DirectionBound=DirectionBound*0.1+3.14159/3*0.9 end local AngX,AngY=EulerAnglesYX((RootPart.CFrame-RootPart.Position):inverse()*CameraDirection) if AngY>DirectionBound then vr roblox script pastebin How to get it? vr roblox script pastebin RootPart.CFrame=RootPart.CFrame*CFrame.Angles(0,AngY-DirectionBound,0) elseif AngY<-DirectionBound then RootPart.CFrame=RootPart.CFrame*CFrame.Angles(0,AngY+DirectionBound,0) end _,CurrentAngY=EulerAnglesYX((RootPart.CFrame-RootPart.Position):inverse()*CameraDirection) local CameraOrientation=AxisAngleLookNew((RootPart.CFrame-RootPart.Position):inverse()*CameraDirection,1) Neck.C0=CFrame.new(0,1,0)*CameraOrientation*CFrame.new(0,0.5,0) local PreCam=AxisAngleLook(RootPart.CFrame*cf(0,1,0),RootPart.CFrame*v3(0,1,0)+CameraDirection)*CFrame.new(0,0.825,0) if Zoom==8 then local Part,Position=Workspace:findPartOnRay(Ray.new(PreCam.p,PreCam.lookVector*-8),Character) vr roblox script pastebin How to get it for free? vr roblox script pastebin Camera.CoordinateFrame=PreCam*CFrame.new(0,0,(Position-PreCam.p).magnitude) else Camera.CoordinateFrame=PreCam*CFrame.new(0,0,Zoom) end end game:GetService("RunService").RenderStepped:connect(CameraUpdate) vr roblox script pastebin