The more you look at something the less transparent it gets

I want to have a billboard image be less transparent the more you are looking at it.
How would i pull this off?
image

You could try using WorldToScreenPoint and maybe use the .Magnitude property of vector 2’s to get the distance from the middle of the screen to the screenpoint to see if they’re looking at it? You’d also need to cast a ray from the camera to ensure it’s actually on the screen.

local camera = workspace.Camera;
local point = Vector3.new(0,50,0); -- Put whereever the position is here.

local function CheckVisiblitiy() -- function to check if the billboard gui is on your screen
	local null, visible = camera:WorldToScreenPoint(point);
	
	if visible then
		return true
	else
		return false
	end
end


-- loop for testing puposes
while true do
	local a = CheckVisiblitiy();
	warn(a); -- prints if the point is showing on the screen
	wait(0.1);
end

Like @7z99 said, you could and in my opinion should use Camera:WorldToScreenPoint(). In the script above, you set point as the part position that the billboard Gui is attached to. The CheckVisibility() function will let you check if the part/billboard GUI is on your screen. Now I don’t understand how exactly you want the ImageLabels to become less transparent but you could put it into a loop, each time it loops if it is visible the billboard GUI will become more visible.