Checking only one camera when using VisibleOnScreenNotifier3D?

Godot Version

4.4.1.stable

Question

It seems that when using VisibleOnScreenNotifier3D, its presence in ALL cameras is checked. My player has a SubViewport with another camera in it, and I believe the node is being detected by it. How can I fix this to check only the main player camera?

(A similar question was asked in the past it looks like, but looking through the responses it seems that there was not a definitive working answer? Camera information for `VisibleOnScreenNotifier3D`)

What if you just did something simple life have one visibleonscreennotifier3d for each camera in operation, then give each notifier a different rendering mask that is unique to one camera? Then you can just have bindings like mask 1->camera 1, etc.

If you want more complicated but more robust, you can use

Camera3D.is_position_in_frustum()

along with every point in a given screennotifier3D’s AABB

These sound like they could work, thanks
I guess I’ll try both and see what works best

1 Like