Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

Camera lock rotation to mouse, like in shift lock mode?

The title sounds odd I know.

I have a camera script and I am trying to make a custom 3rd person camera script. Like the one roblox has when you enable shift lock but I am making my own because theres is a little... Well lets say limiting.

I am trying to figure out how to make the camera rotate with the mouse like in shift lock mode.

Heres my script so far.

local camera = game.Workspace.CurrentCamera
local player = game.Players.LocalPlayer

repeat
	wait()
until player.Character

local character = player.Character
local player_Torso = character.Torso

camera.CameraType = Enum.CameraType.Scriptable
camera.CameraSubject = player_Torso

game:GetService("RunService").RenderStepped:connect(function()
	camera.CFrame = CFrame.new(player_Torso.CFrame.X + 2, player_Torso.CFrame.Y + 2, player_Torso.CFrame.Z + 4)
	camera.FieldOfView = 90	
end)

Thank you for your time. :)

1 answer

CFrame can have two arguments, which are its position and the lookAt facing direction. If you set the facing direction to the lookVector of the torso after it is offsetted from the position, it should point in the same direction that the torso is.

local cameraPosition = Vector3.new(player_Torso.Position.X + 2, player_Torso.Position.Y + 2, player_Torso.Position.Z + 4)
camera.CFrame = CFrame.new(cameraPosition, cameraPosition + player_Torso.CFrame.lookVector)

2 comments

0

I mean like, you know how ROBLOX has a shift lock mode. I wanted to lock the characteres lookvector and the cameras look vector the the mouse or center of the screen

0

Then you could use game.Players.LocalPlayer:GetMouse().Hit.p as the lookAt argument.

This discussion is preserved as it was. New answers, comments, and votes are closed.