Hello! So I’m trying to make it where when in first person you can only look a certain radius to the left or right. Here is a vid of what I mean.
Sorry if that doesn’t make much sense.
I’ve look through the camera module and I can’t seem to find where I can edit this.
Every renderstep you can just clamp the cframe values of the camera. There are tutorials on Understanding CFrames.
1 Like
Hello! Thanks for the reply. I tried this:
local Connection = RunService.Heartbeat:Connect(function()
local X, Y, Z = Cam.CFrame:ToOrientation()
local Lim = math.clamp(math.deg(X), -240, 240)
Cam.CFrame = CFrame.new(Cam.CFrame.Position) * CFrame.fromOrientation(math.rad(Lim), Y, Z)
end)
But it doesn’t seem to be doing anything.
Sorry for the trouble.
Perhaps it will be useful
wait(0)
local Player = game.Players.LocalPlayer
local Character = Player.Character
local RootPart = Character.HumanoidRootPart
local MaxCamAngX= 45 -- 80 is default
local MaxCamAngY= 60
game["Run Service"].RenderStepped:Connect(function()
local MinAngX = RootPart.Orientation.Y-MaxCamAngX
local MaxAngX = RootPart.Orientation.Y+MaxCamAngX
local MinAngY = RootPart.Orientation.Y-MaxCamAngY
local MaxAngY = RootPart.Orientation.Y+MaxCamAngY
local X, Y, Z = workspace.CurrentCamera.CFrame:ToOrientation()
local LimX = math.clamp(math.deg(X), MinAngX, MaxAngX)
local LimY = math.clamp(math.deg(Y), MinAngY, MaxAngY)
workspace.CurrentCamera.CFrame = CFrame.new(workspace.CurrentCamera.CFrame.Position) * CFrame.fromOrientation(math.rad(LimX), math.rad(LimY), Z)
end)
1 Like