How to make body visible without seeing the torso in the camera

So I’m starting on a survival game and I want the player’s body to be visible.

The issue I’m having is the torso is like in the camera and it looks ugly. Here’s what i’m talking about:

Here is the code that makes the body visible:

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;

Player.CameraMode = Enum.CameraMode.LockFirstPerson

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
end)

I got this code from another question on the DevForum, and I want it to look like how phantom forces does it, and other survival games where you can see the entire body without the torso being in the way. Any help is appreciated.

If possible link to sources so I can fully understand the solution.

Basically, let me get this straight. u want to remove the torso from the first person body?

No i want the torso to be visible, just not IN the camera like shown above

Instead of instantly setting the LocalTransparencyModifier, check if it is named “Torso” or in R15 “Upper Torso”. If it is don’t change the LocalTransparencyModifier. This will solve your problem.

try this??

local function SetCharacterLocalTransparency(transparency)
	for i,v in pairs(Character:GetChildren()) do
		if (v:IsA("BasePart")) and v.Name ~= "Torso"  and v.Name ~= "UpperTorso"  and v.Name ~= "LowerTorso" then -- Only baseparts have a LocalTransparencyModifier property.
			v.LocalTransparencyModifier = transparency;
		end
	end
end

Try setting the camera offset?

Now I have arms and legs with a big empty space between them,

which I don’t want, I want the full body visible I just don’t want the torso to be obstructing the camera, let me re-iterate that I still want the torso visible if I look down, I don’t want to see the neck part like in my original post.

I tried with the currentcamera.CFrame and it kept the camera in one position and when I would walk the head would be in the camera blocking it entirely.

There’s a cameraoffset property in humanoid.

It just made the torso disapear and left arms hanging there.

That’s the only way to fix it. In third person it will look normal.

No he just wants to offset the camera not make anything invisible.

U can make another script, which might be more work. pretty sure its on youtube tho.
U can make the player’s character not be completely visible, a bit transparent, maybe that will look more “clean”.

Thanks with a bit of trial and error I got it exactly where I wanted it.