Attach camera to Head

My game is first person, and i am using regular characters. I have a script that keeps all parts of the character (except head) non transparent even in first person.

The problem is, when running and looking down, you can see your torso weirdly tilting back and forth with animation, but the camera stays in the same place.

How can i make camera move with the head, even when the head is animated

Didn’t find anything in documentation, camera is documented poorly. I am good at scripting I just don’t know if there is any function or property of camera to do this.

1 Like
local plr = game.Players.LocalPlayer
local char = plr.Character or plr.CharacterAdded:Wait()
while game:GetService("RunService").RenderStepped do
	local offset = CFrame.new(0,10,10)
	workspace.CurrentCamera.CFrame = CFrame.new((char:WaitForChild("Head").CFrame*offset).Position,char:WaitForChild("Head").Position)
end
-- localsctipt inside startercharacterscripts

local runService = game:GetService("RunService")
local camera = worspace.CurrentCamera
local character = script.Parent
local head = character:WaitForChild("Head")

-- change the camera to Scriptable
camera.CameraType = Enum.CameraType.Scriptable

-- make the head transparent
head.LocalTransparencyModifier = 1

-- before every frame is rendered call this function
runService.RenderStepped:Connect(function(deltaTime)
	-- position the camera at the characters head position
	camera.CFrame = head.CFrame
end)
1 Like

Wouldn’t this make it impossible to move the camera up and down? Since the head itself doesnt move, the camera moves.

1 Like

You would need to modify it to allow for rotation

Maybe this video might help