.. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the Area.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_Area: Area ==== **Inherits:** :ref:`CollisionObject` **<** :ref:`Spatial` **<** :ref:`Node` **<** :ref:`Object` **Category:** Core Brief Description ----------------- General purpose area node for detection and 3D physics influence. Member Functions ---------------- +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_collision_layer_bit` **(** :ref:`int` bit **)** const | +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_collision_mask_bit` **(** :ref:`int` bit **)** const | +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`get_overlapping_areas` **(** **)** const | +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`get_overlapping_bodies` **(** **)** const | +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`overlaps_area` **(** :ref:`Node` area **)** const | +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`overlaps_body` **(** :ref:`Node` body **)** const | +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_layer_bit` **(** :ref:`int` bit, :ref:`bool` value **)** | +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_mask_bit` **(** :ref:`int` bit, :ref:`bool` value **)** | +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ Signals ------- .. _class_Area_area_entered: - **area_entered** **(** :ref:`Object` area **)** Emitted when another area enters. .. _class_Area_area_exited: - **area_exited** **(** :ref:`Object` area **)** Emitted when another area exits. .. _class_Area_area_shape_entered: - **area_shape_entered** **(** :ref:`int` area_id, :ref:`Object` area, :ref:`int` area_shape, :ref:`int` self_shape **)** Emitted when another area enters, reporting which areas overlapped. .. _class_Area_area_shape_exited: - **area_shape_exited** **(** :ref:`int` area_id, :ref:`Object` area, :ref:`int` area_shape, :ref:`int` self_shape **)** Emitted when another area exits, reporting which areas were overlapping. .. _class_Area_body_entered: - **body_entered** **(** :ref:`Object` body **)** Emitted when a :ref:`PhysicsBody` object enters. .. _class_Area_body_exited: - **body_exited** **(** :ref:`Object` body **)** Emitted when a :ref:`PhysicsBody2D` object exits. .. _class_Area_body_shape_entered: - **body_shape_entered** **(** :ref:`int` body_id, :ref:`Object` body, :ref:`int` body_shape, :ref:`int` area_shape **)** Emitted when a :ref:`PhysicsBody2D` object enters, reporting which shapes overlapped. .. _class_Area_body_shape_exited: - **body_shape_exited** **(** :ref:`int` body_id, :ref:`Object` body, :ref:`int` body_shape, :ref:`int` area_shape **)** Emitted when a :ref:`PhysicsBody2D` object exits, reporting which shapes were overlapping. Member Variables ---------------- .. _class_Area_angular_damp: - :ref:`float` **angular_damp** - The rate at which objects stop spinning in this area. Represents the angular velocity lost per second. Values range from ``0`` (no damping) to ``1`` (full damping). .. _class_Area_audio_bus_name: - :ref:`String` **audio_bus_name** - The name of the area's audio bus. .. _class_Area_audio_bus_override: - :ref:`bool` **audio_bus_override** - If ``true`` the area's audio bus overrides the default audio bus. Default value: ``false``. .. _class_Area_collision_layer: - :ref:`int` **collision_layer** - The area's physics layer(s). Collidable objects can exist in any of 32 different layers. A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See also ``collision_mask``. .. _class_Area_collision_mask: - :ref:`int` **collision_mask** - The physics layers this area scans to determine collision detection. .. _class_Area_gravity: - :ref:`float` **gravity** - The area's gravity intensity (ranges from -1024 to 1024). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction. .. _class_Area_gravity_distance_scale: - :ref:`float` **gravity_distance_scale** - The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance. .. _class_Area_gravity_point: - :ref:`bool` **gravity_point** - If ``true`` gravity is calculated from a point (set via ``gravity_vec``). Also see ``space_override``. Default value: ``false``. .. _class_Area_gravity_vec: - :ref:`Vector3` **gravity_vec** - The area's gravity vector (not normalized). If gravity is a point (see :ref:`is_gravity_a_point`), this will be the point of attraction. .. _class_Area_linear_damp: - :ref:`float` **linear_damp** - The rate at which objects stop moving in this area. Represents the linear velocity lost per second. Values range from ``0`` (no damping) to ``1`` (full damping). .. _class_Area_monitorable: - :ref:`bool` **monitorable** - If ``true`` other monitoring areas can detect this area. Default value: ``true``. .. _class_Area_monitoring: - :ref:`bool` **monitoring** - If ``true`` the area detects bodies or areas entering and exiting it. Default value: ``true``. .. _class_Area_priority: - :ref:`float` **priority** - The area's priority. Higher priority areas are processed first. Default value: 0. .. _class_Area_reverb_bus_amount: - :ref:`float` **reverb_bus_amount** - The degree to which this area applies reverb to its associated audio. Ranges from ``0`` to ``1`` with ``0.1`` precision. .. _class_Area_reverb_bus_enable: - :ref:`bool` **reverb_bus_enable** - If ``true`` the area applies reverb to its associated audio. .. _class_Area_reverb_bus_name: - :ref:`String` **reverb_bus_name** - The reverb bus name to use for this area's associated audio. .. _class_Area_reverb_bus_uniformity: - :ref:`float` **reverb_bus_uniformity** - The degree to which this area's reverb is a uniform effect. Ranges from ``0`` to ``1`` with ``0.1`` precision. .. _class_Area_space_override: - :ref:`int` **space_override** - Override mode for gravity and damping calculations within this area. See the SPACE_OVERRIDE\_\* constants for values. Numeric Constants ----------------- - **SPACE_OVERRIDE_DISABLED** = **0** --- This area does not affect gravity/damping. - **SPACE_OVERRIDE_COMBINE** = **1** --- This area adds its gravity/damping values to whatever has been calculated so far (in ``priority`` order). - **SPACE_OVERRIDE_COMBINE_REPLACE** = **2** --- This area adds its gravity/damping values to whatever has been calculated so far (in ``priority`` order), ignoring any lower priority areas. - **SPACE_OVERRIDE_REPLACE** = **3** --- This area replaces any gravity/damping, even the defaults, ignoring any lower priority areas. - **SPACE_OVERRIDE_REPLACE_COMBINE** = **4** --- This area replaces any gravity/damping calculated so far (in ``priority`` order), but keeps calculating the rest of the areas. Description ----------- 3D area that detects :ref:`CollisionObject` nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping). Member Function Description --------------------------- .. _class_Area_get_collision_layer_bit: - :ref:`bool` **get_collision_layer_bit** **(** :ref:`int` bit **)** const Returns an individual bit on the layer mask. .. _class_Area_get_collision_mask_bit: - :ref:`bool` **get_collision_mask_bit** **(** :ref:`int` bit **)** const Returns an individual bit on the collision mask. .. _class_Area_get_overlapping_areas: - :ref:`Array` **get_overlapping_areas** **(** **)** const Returns a list of intersecting ``Area``\ s. .. _class_Area_get_overlapping_bodies: - :ref:`Array` **get_overlapping_bodies** **(** **)** const Returns a list of intersecting :ref:`PhysicsBody`\ s. .. _class_Area_overlaps_area: - :ref:`bool` **overlaps_area** **(** :ref:`Node` area **)** const If ``true`` the given area overlaps the Area. .. _class_Area_overlaps_body: - :ref:`bool` **overlaps_body** **(** :ref:`Node` body **)** const If ``true`` the given body overlaps the Area. .. _class_Area_set_collision_layer_bit: - void **set_collision_layer_bit** **(** :ref:`int` bit, :ref:`bool` value **)** Set/clear individual bits on the layer mask. This simplifies editing this ``Area[code]'s layers. .. _class_Area_set_collision_mask_bit: - void **set_collision_mask_bit** **(** :ref:`int` bit, :ref:`bool` value **)** Set/clear individual bits on the collision mask. This simplifies editing which ``Area`` layers this ``Area`` scans.