Transparency mask for Sprite3D or Meshes

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Myrmex

Hello. I’m developing a 3D game with top-down isometric camera. I want some large objects (roofs, tree crowns) fade around the player when he walks under them like on image below. In 2D you could simply add a Light2D source with mask mode, but that won’t obviously work with Sprite3D or a plane mesh. I have a suspicion it may be solved with shaders, but won’t that require an individual mask for every instance of an overlapping object? How do you deal with spatials’ alpha the right way?

Mask reveals some area if player walks under beams