How can I move the player's camera (first person) to their head's position?

I am trying to sort of move the player’s first-person camera to be where their head position would be. If you do not understand what I mean, then here’s an example.

So basically, I am trying to recreate this system.

The issue so far is that I have not the slightest clue what I am doing. I threw together a little script that doesn’t work at all and I have no idea how to fix it.

I’ve looked just about everywhere on the devforum for a fix, but I cannot find anything.

This is what I have so far, even though it does not work in the slightest. I do not understand how to do this at all xD.

local RunService = game:GetService("RunService")

local player = game.Players.LocalPlayer
local character = player.Character
local humanoid = character.Humanoid
local camera = workspace.CurrentCamera	
	
RunService.RenderStepped:Connect(function()
	local camoffset = Vector3.new(0, -1.5, 0)
	humanoid.CameraOffset = camoffset
end)

Side note: This script isn’t giving me an error, it’s just not doing what I want it to do.

I would appreciate it if someone could maybe help or redirect me to a post with a solution. Thanks in advance!

  • Toucan
1 Like

It looks like they just multiplied the orientation of the head, that’s how simple it is.

Well, that didn’t really work…

Sorry about that, I do not have much of an understanding of this area of scripting.