Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

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

Asked by 6 years ago
Edited 6 years ago

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

Log in to vote
0
Answered by
mattscy 3725 Moderation Voter Community Moderator
6 years ago

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)
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 GottaHaveAFunTime 218 — 6y
0
Then you could use game.Players.LocalPlayer:GetMouse().Hit.p as the lookAt argument. mattscy 3725 — 6y
Ad

Answer this question