Making first person camera level with your head (while seeing your body)

I want to achieve a smooth first person camera system in which the camera is level with your head and you can see your body. Currently, I use the The Smooth First Person Camera [Bundle] by DuruTeru.

However, in this script there’s a CameraOffset of 0.7 above the head to make the body look reasonable when you’re looking down.

HeadOffset = CFrame.new(0,0.7,0)

This offset makes other players and the environment around them shorter than they really are.
image
Both the characters are the same height in this image, but from each of the character’s view, it appears like the other character is shorter.

However, if there is no offset, you can see your own neck shown in the image below:
image
…which is of course undesirable.

Therefore, I was trying to come up with a way where you can see your body (and not your neck) in first person from an angle that is level with your head.

I’ve tried looking through other DevForums, but the only solution is offsetting the camera a bit forward, which causes other issues like players being able to see through thin parts.

Any help on this topic would be appreciated.

You can just set the LocalTransparencyModifier to 1 to the parts needed.

I have already done that for parts like the head that I don’t really want to see in first person. However, I want to see the rest of the body parts in first person.

The script I’m using for that:

if v:IsA("BasePart") and v.Name ~= "Head" then
	v:GetPropertyChangedSignal("LocalTransparencyModifier"):Connect(function()
		v.LocalTransparencyModifier = v.Transparency
	end)
				
	v.LocalTransparencyModifier = v.Transparency
	v.CanCollide = false
end

The neck I mention in the post is part of the UpperTorso, and if I make that invisible to the client, it will look very odd.