How do I change the camera position on the first person from startercharacter?

Hello I am new at making the game and devforum but I need help, I have a problem with the first person camera. I think it makes it harder to see. too short. how do I change the camera position?

2 Likes

You can change the CameraOffset property of the humanoid to something like 0,0,-1.

1 Like

if you want a clear first person camera you can go on players folder, in player and change this option:
image

It not work and same camera i think, I tried to change anything. here’s the script:

local RunService = game:GetService(“RunService”);
local Player = game.Players.LocalPlayer;
local Character = Player.Character or Player.CharacterAdded:Wait();
local Camera = game.Workspace.CurrentCamera;
local Head = Character:WaitForChild(“Head”);

local FPMaximumDistance = 0.6; – For scalability, but keep it at 0.6 since it is the right distance.
local FirstPersonLocalTransparency = 0;
local ThirdPresonLocalTransparency = 0;

local function SetCharacterLocalTransparency(transparency)
for i,v in pairs(Character:GetChildren()) do
if (v:IsA(“BasePart”)) then – Only baseparts have a LocalTransparencyModifier property.
v.LocalTransparencyModifier = transparency;
end
end
end

RunService.RenderStepped:Connect(function()
local isfirstperson = (Head.CFrame.Position - Camera.CFrame.Position).Magnitude < FPMaximumDistance; – Determine wether we are in first person

if (isfirstperson) then
	SetCharacterLocalTransparency(FirstPersonLocalTransparency);
else
	SetCharacterLocalTransparency(ThirdPresonLocalTransparency);
end

-----------------------------(( MAIN SCRIPT ))-----------------------------
for i, head in pairs(Character:GetDescendants()) do
	if head.Name == "Head" then
		head.Transparency = 1
	end
end
-----------------------------(( MAIN SCRIPT ))-----------------------------

end)

so yeah i copy the script from devforum. and how do i add cameraoffset in the script?

game.Players.LocalPlayer.CameraMode = Enum.CameraMode.LockFirstPerson

Multiply workspace.CurrentCamera.CFrame by CFrame.new(Vector3.new(0,0,-0.5))

Increase the 0.5 as needed. This is the value that the Camera is moved forward by, so that you don’t see your whole body.

This does the same thing as what @awry_y suggested.

You set the cameraOffset property of the humanoid. No need to add it just set it to the humanoid.

just Character.Humanoid.CameraOffset = Vector3.new(0,0,-1)

1 Like

It works! Thanks all for helping me :> I’m glad to be in Devforum

1 Like

Honestly the solution is basically what I had been saying to you but it’s fine if you weren’t able to understand it.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.