:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/3.5/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/3.5/doc/classes/VisibilityNotifier.xml. .. _class_VisibilityNotifier: VisibilityNotifier ================== **Inherits:** :ref:`CullInstance` **<** :ref:`Spatial` **<** :ref:`Node` **<** :ref:`Object` **Inherited By:** :ref:`VisibilityEnabler` Detects approximately when the node is visible on screen. Description ----------- The VisibilityNotifier detects when it is visible on the screen. It also notifies when its bounding rectangle enters or exits the screen or a :ref:`Camera`'s view. If you want nodes to be disabled automatically when they exit the screen, use :ref:`VisibilityEnabler` instead. \ **Note:** VisibilityNotifier uses an approximate heuristic for performance reasons. It doesn't take walls and other occlusion into account (unless you are using :ref:`Portal`\ s). The heuristic is an implementation detail and may change in future versions. If you need precise visibility checking, use another method such as adding an :ref:`Area` node as a child of a :ref:`Camera` node and/or :ref:`Vector3.dot`. Properties ---------- +---------------------------+---------------------------------------------------------------------+---------------------------------+ | :ref:`AABB` | :ref:`aabb` | ``AABB( -1, -1, -1, 2, 2, 2 )`` | +---------------------------+---------------------------------------------------------------------+---------------------------------+ | :ref:`float` | :ref:`max_distance` | ``0.0`` | +---------------------------+---------------------------------------------------------------------+---------------------------------+ Methods ------- +-------------------------+---------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_on_screen` **(** **)** |const| | +-------------------------+---------------------------------------------------------------------------------------+ Signals ------- .. _class_VisibilityNotifier_signal_camera_entered: - **camera_entered** **(** :ref:`Camera` camera **)** Emitted when the VisibilityNotifier enters a :ref:`Camera`'s view. ---- .. _class_VisibilityNotifier_signal_camera_exited: - **camera_exited** **(** :ref:`Camera` camera **)** Emitted when the VisibilityNotifier exits a :ref:`Camera`'s view. ---- .. _class_VisibilityNotifier_signal_screen_entered: - **screen_entered** **(** **)** Emitted when the VisibilityNotifier enters the screen. ---- .. _class_VisibilityNotifier_signal_screen_exited: - **screen_exited** **(** **)** Emitted when the VisibilityNotifier exits the screen. Property Descriptions --------------------- .. _class_VisibilityNotifier_property_aabb: - :ref:`AABB` **aabb** +-----------+---------------------------------+ | *Default* | ``AABB( -1, -1, -1, 2, 2, 2 )`` | +-----------+---------------------------------+ | *Setter* | set_aabb(value) | +-----------+---------------------------------+ | *Getter* | get_aabb() | +-----------+---------------------------------+ The VisibilityNotifier's bounding box. ---- .. _class_VisibilityNotifier_property_max_distance: - :ref:`float` **max_distance** +-----------+-------------------------+ | *Default* | ``0.0`` | +-----------+-------------------------+ | *Setter* | set_max_distance(value) | +-----------+-------------------------+ | *Getter* | get_max_distance() | +-----------+-------------------------+ In addition to checking whether a node is on screen or within a :ref:`Camera`'s view, VisibilityNotifier can also optionally check whether a node is within a specified maximum distance when using a :ref:`Camera` with perspective projection. This is useful for throttling the performance requirements of nodes that are far away. \ **Note:** This feature will be disabled if set to 0.0. Method Descriptions ------------------- .. _class_VisibilityNotifier_method_is_on_screen: - :ref:`bool` **is_on_screen** **(** **)** |const| If ``true``, the bounding box is on the screen. \ **Note:** It takes one frame for the node's visibility to be assessed once added to the scene tree, so this method will return ``false`` right after it is instantiated, even if it will be on screen in the draw pass. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`