Why is first person body bugging out?

I’m working on a horror game, I started creating a first person body system. There is a bug currently that I’ve been trying to fix for the past week but no luck. Basically only some body parts show. But then 2 in specific don’t show and I have no idea why. They are, “RightHand” and “RightUpperLeg”. I have no idea why they don’t show.

Here is the code:

local RunService = game:GetService('RunService')
local PlayerChar = game:GetService('Players').LocalPlayer.Character
local human : Humanoid = PlayerChar:FindFirstChild('Humanoid')
for i,v in PlayerChar:GetChildren() do
	if v:IsA('BasePart') then
		v:GetPropertyChangedSignal('LocalTransparencyModifier'):Connect(function()
			human.CameraOffset = Vector3.new(0,0,-1)
			if v.Name == "Head" then
			else
				v.LocalTransparencyModifier = v.Transparency
			end
		end)
	end
end

Personally it looks like you’re using an R6 bodytype, and you need to put this inside of a loop to constantly update.

I’m unsure on why you are updating the cameraoffset when transparency changes as it would be more efficient to do so when your custom camera script or something detects you are entering first person.

local RunService = game:GetService('RunService')
local PlayerChar = game:GetService('Players').LocalPlayer.Character
local human : Humanoid = PlayerChar:FindFirstChild('Humanoid')

RunService.Heartbeat:Connect(function(dt)
	for i,v in pairs(PlayerChar:GetChildren()) do
		if (v:IsA('BasePart') or v:IsA('MeshPart')) and v.Name ~= 'Head' then
			v.LocalTransparencyModifier = v.Transparency
		end
	end
end)