How to do this "area of effect" special effect in Godot?

Godot Version

4.3

Question

Please see this video https://youtu.be/hYBxb37lefI?si=0sEgZdWx_0Zh1Vis&t=63 at 63rd second onward up to the end of the stage.

In this “Ghost House” stage, the floor, wall, etc. are partially visually visible, and the game slowly guides you toward the end of the stage. It’s like having an invisible 3D object that intersects the ghost house, and if the 3D object intersected the floors, walls, etc., those parts become visible.

What I wanted is something similar. I have my own solid floors, walls, etc. in my game, but unlike the video above, they are all visible, and I have an Area3D which is a 3D sphere as a child of the player scene. Whenever the player moves around, all the solid floors, walls, etc. will be highlighted like at the 3:06 of this video: https://youtu.be/x0-VWkmpGZ0?si=9it97tllgExuFyI9&t=186

How to do this in Godot? So let’s split this to 2 questions:

  1. I have my own Area3D already. How can I use it on other solids?
  2. How can I do the highlight special effect on the 3D models that intersect my Area3D?

The ghost house one is interesting and probably done in the actual materials/shaders on all of the affected meshes, where the game feeds all of those materials the position of a shape (some kind of sphereoid or ellipsoid), and math in the shader will mask out those parts, do any other edge effect, etc.

The second example looks to possibly just be some projection or decal type effect, like Decal — Godot Engine (stable) documentation in English, so you might want to look into attaching one of these objects to your player, then through transform changes during gameplay, or some material/shader tricks you can get something similar.