Found it.
script.Parent.Equipped:Connect(function()
local Player = game.Players.LocalPlayer
while true do
wait()
local cam = game.Workspace.CurrentCamera
local rs = game:GetService('RunService')
if (cam.Focus.p-cam.CoordinateFrame.p).magnitude <= 1 then
local tool = script.Parent
for i, v in pairs(tool:GetDescendants()) do
if v:IsA("BasePart") or v:IsA("UnionOperation") then
v.Transparency = 1
end
end
else
local tool = script.Parent
for i, v in pairs(tool:GetDescendants()) do
if v:IsA("BasePart") or v:IsA("UnionOperation") then
v.Transparency = 0
end
end
end
end
end)