I'm trying to replicate: http://gyazo.com/25dc73d14747ae63e81bf9443da8138e
and what I have so far is:
local Player = game:GetService("Players").LocalPlayer
local Cursor = Player:GetMouse()
local Camera = workspace.CurrentCamera
local part = workspace:WaitForChild("cam")
local yOffset = Camera.CFrame.Y
repeat wait() until Player.Character.Parent == workspace
Camera.CameraSubject = Cursor
Camera.CameraType = Enum.CameraType.Scriptable
Camera.CFrame = part.CFrame
Cursor.Move:Connect(function()
local cameraDirection = part.CFrame:toObjectSpace(Camera.CFrame).lookVector
Camera.CameraSubject = Cursor
Camera.CameraType = Enum.CameraType.Scriptable
Camera.CFrame = part.CFrame
Camera.CFrame = CFrame.new(part.Position, Cursor.Hit.p)
end)
The only problem seems to be that there's too much space I can look around, and it doesn't move smoothly.

1 comment
try changing the mousemode