How to make a custom camera

INTRODUCTION
Hello, i see TONS of games do this. (Mostly top page) like this is so common and if somone is decent at cameras should be able. (to be honest its probably the basics.)
the only issue is im not decent at cameras so i dont know.

ISSUE
how do i make my character have shift lock but letting them move there mouse?

so when the player holds right click or on there screen to move camera then do what shift lock does but when they arent give access to mouse. and without using shift lock (if possible) and if shift lock is recommended then without showing there in shift lock

EXAMPLE


Source: Booga Booga Hybrid

4 Likes

I made this script on my old project just put it in local script in StarterPlayerScripts

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local plr = Players.LocalPlayer

local char = plr.Character or plr.CharacterAdded:Wait()
local hmr = char:WaitForChild("HumanoidRootPart")
local Camera = workspace.CurrentCamera

RunService:BindToRenderStep("CharacterRotate", Enum.RenderPriority.Camera.Value +1, function()
	local lookVector = Vector3.new(Camera.CFrame.LookVector.X,0, Camera.CFrame.LookVector.Z)
	
	hmr.CFrame = CFrame.new(hmr.CFrame.p, hmr.CFrame.p + lookVector)
end)

char.Humanoid.Died:Connect(function()
	RunService:UnbindFromRenderStep("CharacterRotate")
end)

plr.CharacterAdded:Connect(function() --Reset Script when character respawn to prevent script from using old reference
	script.Disabled = true
	task.wait()
	script.Disabled = false
end)
6 Likes

thanks man your a real one it looks good

2 Likes