A hint i found on Reddit (yikes, i know) from someone who made a nice github with their solution.
Their idea is to pass the player position to the objects shaders, and then to get 2 differents normals : from object to player, and from object to camera. Once you have those, you can make a dot product to tell if they are in the same direction or not (>0.0 if their angle is less than 90°, <0.0 if it's greater, 0.0 would correspond to a 90° angle). Beware, i believe it's best to normalize both your vector to a length of 1, before using dot product if you want to get accurate results.
So once you have a negative dot product, you know both direction are opposite, so the object is between the camera and the player, and should be hidden.
On top of that, they limit that effect to a small circle around the player, to avoid making objects transparent all over the screen. You'd have to find out how to limit that effect to the field of view of the player, and i sadly have no real idea about that.