123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632 |
- :github_url: hide
- .. DO NOT EDIT THIS FILE!!!
- .. Generated automatically from Godot engine sources.
- .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
- .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Area3D.xml.
- .. _class_Area3D:
- Area3D
- ======
- **Inherits:** :ref:`CollisionObject3D<class_CollisionObject3D>` **<** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
- 3D area for detection and physics and audio influence.
- Description
- -----------
- 3D area that detects :ref:`CollisionObject3D<class_CollisionObject3D>` nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping) and route audio to custom audio buses.
- To give the area its shape, add a :ref:`CollisionShape3D<class_CollisionShape3D>` or a :ref:`CollisionPolygon3D<class_CollisionPolygon3D>` node as a *direct* child (or add multiple such nodes as direct children) of the area.
- \ **Warning:** See :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>` (also called "trimesh") for a warning about possibly unexpected behavior when using that shape for an area.
- Tutorials
- ---------
- - `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
- - `GUI in 3D Demo <https://godotengine.org/asset-library/asset/127>`__
- Properties
- ----------
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`angular_damp<class_Area3D_property_angular_damp>` | ``0.1`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` | :ref:`angular_damp_space_override<class_Area3D_property_angular_damp_space_override>` | ``0`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`StringName<class_StringName>` | :ref:`audio_bus_name<class_Area3D_property_audio_bus_name>` | ``&"Master"`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`bool<class_bool>` | :ref:`audio_bus_override<class_Area3D_property_audio_bus_override>` | ``false`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`gravity<class_Area3D_property_gravity>` | ``9.8`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`Vector3<class_Vector3>` | :ref:`gravity_direction<class_Area3D_property_gravity_direction>` | ``Vector3(0, -1, 0)`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`bool<class_bool>` | :ref:`gravity_point<class_Area3D_property_gravity_point>` | ``false`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`Vector3<class_Vector3>` | :ref:`gravity_point_center<class_Area3D_property_gravity_point_center>` | ``Vector3(0, -1, 0)`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`gravity_point_distance_scale<class_Area3D_property_gravity_point_distance_scale>` | ``0.0`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` | :ref:`gravity_space_override<class_Area3D_property_gravity_space_override>` | ``0`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`linear_damp<class_Area3D_property_linear_damp>` | ``0.1`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` | :ref:`linear_damp_space_override<class_Area3D_property_linear_damp_space_override>` | ``0`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`bool<class_bool>` | :ref:`monitorable<class_Area3D_property_monitorable>` | ``true`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`bool<class_bool>` | :ref:`monitoring<class_Area3D_property_monitoring>` | ``true`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`priority<class_Area3D_property_priority>` | ``0.0`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`reverb_bus_amount<class_Area3D_property_reverb_bus_amount>` | ``0.0`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`bool<class_bool>` | :ref:`reverb_bus_enable<class_Area3D_property_reverb_bus_enable>` | ``false`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`StringName<class_StringName>` | :ref:`reverb_bus_name<class_Area3D_property_reverb_bus_name>` | ``&"Master"`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`reverb_bus_uniformity<class_Area3D_property_reverb_bus_uniformity>` | ``0.0`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`wind_attenuation_factor<class_Area3D_property_wind_attenuation_factor>` | ``0.0`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`wind_force_magnitude<class_Area3D_property_wind_force_magnitude>` | ``0.0`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`NodePath<class_NodePath>` | :ref:`wind_source_path<class_Area3D_property_wind_source_path>` | ``NodePath("")`` |
- +-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
- Methods
- -------
- +-------------------------------+----------------------------------------------------------------------------------------------------------+
- | :ref:`Area3D[]<class_Area3D>` | :ref:`get_overlapping_areas<class_Area3D_method_get_overlapping_areas>` **(** **)** |const| |
- +-------------------------------+----------------------------------------------------------------------------------------------------------+
- | :ref:`Node3D[]<class_Node3D>` | :ref:`get_overlapping_bodies<class_Area3D_method_get_overlapping_bodies>` **(** **)** |const| |
- +-------------------------------+----------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`overlaps_area<class_Area3D_method_overlaps_area>` **(** :ref:`Node<class_Node>` area **)** |const| |
- +-------------------------------+----------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`overlaps_body<class_Area3D_method_overlaps_body>` **(** :ref:`Node<class_Node>` body **)** |const| |
- +-------------------------------+----------------------------------------------------------------------------------------------------------+
- Signals
- -------
- .. _class_Area3D_signal_area_entered:
- - **area_entered** **(** :ref:`Area3D<class_Area3D>` area **)**
- Emitted when another Area3D enters this Area3D. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``.
- ``area`` the other Area3D.
- ----
- .. _class_Area3D_signal_area_exited:
- - **area_exited** **(** :ref:`Area3D<class_Area3D>` area **)**
- Emitted when another Area3D exits this Area3D. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``.
- ``area`` the other Area3D.
- ----
- .. _class_Area3D_signal_area_shape_entered:
- - **area_shape_entered** **(** :ref:`RID<class_RID>` area_rid, :ref:`Area3D<class_Area3D>` area, :ref:`int<class_int>` area_shape_index, :ref:`int<class_int>` local_shape_index **)**
- Emitted when one of another Area3D's :ref:`Shape3D<class_Shape3D>`\ s enters one of this Area3D's :ref:`Shape3D<class_Shape3D>`\ s. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``.
- ``area_rid`` the :ref:`RID<class_RID>` of the other Area3D's :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
- ``area`` the other Area3D.
- ``area_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the other Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``area.shape_owner_get_owner(area.shape_find_owner(area_shape_index))``.
- ``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))``.
- ----
- .. _class_Area3D_signal_area_shape_exited:
- - **area_shape_exited** **(** :ref:`RID<class_RID>` area_rid, :ref:`Area3D<class_Area3D>` area, :ref:`int<class_int>` area_shape_index, :ref:`int<class_int>` local_shape_index **)**
- Emitted when one of another Area3D's :ref:`Shape3D<class_Shape3D>`\ s exits one of this Area3D's :ref:`Shape3D<class_Shape3D>`\ s. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``.
- ``area_rid`` the :ref:`RID<class_RID>` of the other Area3D's :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
- ``area`` the other Area3D.
- ``area_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the other Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``area.shape_owner_get_owner(area.shape_find_owner(area_shape_index))``.
- ``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))``.
- ----
- .. _class_Area3D_signal_body_entered:
- - **body_entered** **(** :ref:`Node3D<class_Node3D>` body **)**
- Emitted when a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>` enters this Area3D. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``. :ref:`GridMap<class_GridMap>`\ s are detected if the :ref:`MeshLibrary<class_MeshLibrary>` has Collision :ref:`Shape3D<class_Shape3D>`\ s.
- ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
- ----
- .. _class_Area3D_signal_body_exited:
- - **body_exited** **(** :ref:`Node3D<class_Node3D>` body **)**
- Emitted when a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>` exits this Area3D. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``. :ref:`GridMap<class_GridMap>`\ s are detected if the :ref:`MeshLibrary<class_MeshLibrary>` has Collision :ref:`Shape3D<class_Shape3D>`\ s.
- ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
- ----
- .. _class_Area3D_signal_body_shape_entered:
- - **body_shape_entered** **(** :ref:`RID<class_RID>` body_rid, :ref:`Node3D<class_Node3D>` body, :ref:`int<class_int>` body_shape_index, :ref:`int<class_int>` local_shape_index **)**
- Emitted when one of a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`'s :ref:`Shape3D<class_Shape3D>`\ s enters one of this Area3D's :ref:`Shape3D<class_Shape3D>`\ s. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``. :ref:`GridMap<class_GridMap>`\ s are detected if the :ref:`MeshLibrary<class_MeshLibrary>` has Collision :ref:`Shape3D<class_Shape3D>`\ s.
- ``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`MeshLibrary<class_MeshLibrary>`'s :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
- ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
- ``body_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``body.shape_owner_get_owner(body.shape_find_owner(body_shape_index))``.
- ``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))``.
- ----
- .. _class_Area3D_signal_body_shape_exited:
- - **body_shape_exited** **(** :ref:`RID<class_RID>` body_rid, :ref:`Node3D<class_Node3D>` body, :ref:`int<class_int>` body_shape_index, :ref:`int<class_int>` local_shape_index **)**
- Emitted when one of a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`'s :ref:`Shape3D<class_Shape3D>`\ s enters one of this Area3D's :ref:`Shape3D<class_Shape3D>`\ s. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``. :ref:`GridMap<class_GridMap>`\ s are detected if the :ref:`MeshLibrary<class_MeshLibrary>` has Collision :ref:`Shape3D<class_Shape3D>`\ s.
- ``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`MeshLibrary<class_MeshLibrary>`'s :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
- ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
- ``body_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``body.shape_owner_get_owner(body.shape_find_owner(body_shape_index))``.
- ``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))``.
- Enumerations
- ------------
- .. _enum_Area3D_SpaceOverride:
- .. _class_Area3D_constant_SPACE_OVERRIDE_DISABLED:
- .. _class_Area3D_constant_SPACE_OVERRIDE_COMBINE:
- .. _class_Area3D_constant_SPACE_OVERRIDE_COMBINE_REPLACE:
- .. _class_Area3D_constant_SPACE_OVERRIDE_REPLACE:
- .. _class_Area3D_constant_SPACE_OVERRIDE_REPLACE_COMBINE:
- enum **SpaceOverride**:
- - **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 :ref:`priority<class_Area3D_property_priority>` order).
- - **SPACE_OVERRIDE_COMBINE_REPLACE** = **2** --- This area adds its gravity/damping values to whatever has been calculated so far (in :ref:`priority<class_Area3D_property_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 :ref:`priority<class_Area3D_property_priority>` order), but keeps calculating the rest of the areas.
- Property Descriptions
- ---------------------
- .. _class_Area3D_property_angular_damp:
- - :ref:`float<class_float>` **angular_damp**
- +-----------+-------------------------+
- | *Default* | ``0.1`` |
- +-----------+-------------------------+
- | *Setter* | set_angular_damp(value) |
- +-----------+-------------------------+
- | *Getter* | get_angular_damp() |
- +-----------+-------------------------+
- The rate at which objects stop spinning in this area. Represents the angular velocity lost per second.
- See :ref:`ProjectSettings.physics/3d/default_angular_damp<class_ProjectSettings_property_physics/3d/default_angular_damp>` for more details about damping.
- ----
- .. _class_Area3D_property_angular_damp_space_override:
- - :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` **angular_damp_space_override**
- +-----------+---------------------------------------------+
- | *Default* | ``0`` |
- +-----------+---------------------------------------------+
- | *Setter* | set_angular_damp_space_override_mode(value) |
- +-----------+---------------------------------------------+
- | *Getter* | get_angular_damp_space_override_mode() |
- +-----------+---------------------------------------------+
- Override mode for angular damping calculations within this area. See :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` for possible values.
- ----
- .. _class_Area3D_property_audio_bus_name:
- - :ref:`StringName<class_StringName>` **audio_bus_name**
- +-----------+---------------------------+
- | *Default* | ``&"Master"`` |
- +-----------+---------------------------+
- | *Setter* | set_audio_bus_name(value) |
- +-----------+---------------------------+
- | *Getter* | get_audio_bus_name() |
- +-----------+---------------------------+
- The name of the area's audio bus.
- ----
- .. _class_Area3D_property_audio_bus_override:
- - :ref:`bool<class_bool>` **audio_bus_override**
- +-----------+-------------------------------+
- | *Default* | ``false`` |
- +-----------+-------------------------------+
- | *Setter* | set_audio_bus_override(value) |
- +-----------+-------------------------------+
- | *Getter* | is_overriding_audio_bus() |
- +-----------+-------------------------------+
- If ``true``, the area's audio bus overrides the default audio bus.
- ----
- .. _class_Area3D_property_gravity:
- - :ref:`float<class_float>` **gravity**
- +-----------+--------------------+
- | *Default* | ``9.8`` |
- +-----------+--------------------+
- | *Setter* | set_gravity(value) |
- +-----------+--------------------+
- | *Getter* | get_gravity() |
- +-----------+--------------------+
- The area's gravity intensity (in meters per second squared). This value multiplies the gravity direction. This is useful to alter the force of gravity without altering its direction.
- ----
- .. _class_Area3D_property_gravity_direction:
- - :ref:`Vector3<class_Vector3>` **gravity_direction**
- +-----------+------------------------------+
- | *Default* | ``Vector3(0, -1, 0)`` |
- +-----------+------------------------------+
- | *Setter* | set_gravity_direction(value) |
- +-----------+------------------------------+
- | *Getter* | get_gravity_direction() |
- +-----------+------------------------------+
- The area's gravity vector (not normalized).
- ----
- .. _class_Area3D_property_gravity_point:
- - :ref:`bool<class_bool>` **gravity_point**
- +-----------+-----------------------------+
- | *Default* | ``false`` |
- +-----------+-----------------------------+
- | *Setter* | set_gravity_is_point(value) |
- +-----------+-----------------------------+
- | *Getter* | is_gravity_a_point() |
- +-----------+-----------------------------+
- If ``true``, gravity is calculated from a point (set via :ref:`gravity_point_center<class_Area3D_property_gravity_point_center>`). See also :ref:`gravity_space_override<class_Area3D_property_gravity_space_override>`.
- ----
- .. _class_Area3D_property_gravity_point_center:
- - :ref:`Vector3<class_Vector3>` **gravity_point_center**
- +-----------+---------------------------------+
- | *Default* | ``Vector3(0, -1, 0)`` |
- +-----------+---------------------------------+
- | *Setter* | set_gravity_point_center(value) |
- +-----------+---------------------------------+
- | *Getter* | get_gravity_point_center() |
- +-----------+---------------------------------+
- If gravity is a point (see :ref:`gravity_point<class_Area3D_property_gravity_point>`), this will be the point of attraction.
- ----
- .. _class_Area3D_property_gravity_point_distance_scale:
- - :ref:`float<class_float>` **gravity_point_distance_scale**
- +-----------+-----------------------------------------+
- | *Default* | ``0.0`` |
- +-----------+-----------------------------------------+
- | *Setter* | set_gravity_point_distance_scale(value) |
- +-----------+-----------------------------------------+
- | *Getter* | get_gravity_point_distance_scale() |
- +-----------+-----------------------------------------+
- The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance.
- ----
- .. _class_Area3D_property_gravity_space_override:
- - :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` **gravity_space_override**
- +-----------+----------------------------------------+
- | *Default* | ``0`` |
- +-----------+----------------------------------------+
- | *Setter* | set_gravity_space_override_mode(value) |
- +-----------+----------------------------------------+
- | *Getter* | get_gravity_space_override_mode() |
- +-----------+----------------------------------------+
- Override mode for gravity calculations within this area. See :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` for possible values.
- ----
- .. _class_Area3D_property_linear_damp:
- - :ref:`float<class_float>` **linear_damp**
- +-----------+------------------------+
- | *Default* | ``0.1`` |
- +-----------+------------------------+
- | *Setter* | set_linear_damp(value) |
- +-----------+------------------------+
- | *Getter* | get_linear_damp() |
- +-----------+------------------------+
- The rate at which objects stop moving in this area. Represents the linear velocity lost per second.
- See :ref:`ProjectSettings.physics/3d/default_linear_damp<class_ProjectSettings_property_physics/3d/default_linear_damp>` for more details about damping.
- ----
- .. _class_Area3D_property_linear_damp_space_override:
- - :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` **linear_damp_space_override**
- +-----------+--------------------------------------------+
- | *Default* | ``0`` |
- +-----------+--------------------------------------------+
- | *Setter* | set_linear_damp_space_override_mode(value) |
- +-----------+--------------------------------------------+
- | *Getter* | get_linear_damp_space_override_mode() |
- +-----------+--------------------------------------------+
- Override mode for linear damping calculations within this area. See :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` for possible values.
- ----
- .. _class_Area3D_property_monitorable:
- - :ref:`bool<class_bool>` **monitorable**
- +-----------+------------------------+
- | *Default* | ``true`` |
- +-----------+------------------------+
- | *Setter* | set_monitorable(value) |
- +-----------+------------------------+
- | *Getter* | is_monitorable() |
- +-----------+------------------------+
- If ``true``, other monitoring areas can detect this area.
- ----
- .. _class_Area3D_property_monitoring:
- - :ref:`bool<class_bool>` **monitoring**
- +-----------+-----------------------+
- | *Default* | ``true`` |
- +-----------+-----------------------+
- | *Setter* | set_monitoring(value) |
- +-----------+-----------------------+
- | *Getter* | is_monitoring() |
- +-----------+-----------------------+
- If ``true``, the area detects bodies or areas entering and exiting it.
- ----
- .. _class_Area3D_property_priority:
- - :ref:`float<class_float>` **priority**
- +-----------+---------------------+
- | *Default* | ``0.0`` |
- +-----------+---------------------+
- | *Setter* | set_priority(value) |
- +-----------+---------------------+
- | *Getter* | get_priority() |
- +-----------+---------------------+
- The area's priority. Higher priority areas are processed first.
- ----
- .. _class_Area3D_property_reverb_bus_amount:
- - :ref:`float<class_float>` **reverb_bus_amount**
- +-----------+--------------------------+
- | *Default* | ``0.0`` |
- +-----------+--------------------------+
- | *Setter* | set_reverb_amount(value) |
- +-----------+--------------------------+
- | *Getter* | get_reverb_amount() |
- +-----------+--------------------------+
- The degree to which this area applies reverb to its associated audio. Ranges from ``0`` to ``1`` with ``0.1`` precision.
- ----
- .. _class_Area3D_property_reverb_bus_enable:
- - :ref:`bool<class_bool>` **reverb_bus_enable**
- +-----------+---------------------------+
- | *Default* | ``false`` |
- +-----------+---------------------------+
- | *Setter* | set_use_reverb_bus(value) |
- +-----------+---------------------------+
- | *Getter* | is_using_reverb_bus() |
- +-----------+---------------------------+
- If ``true``, the area applies reverb to its associated audio.
- ----
- .. _class_Area3D_property_reverb_bus_name:
- - :ref:`StringName<class_StringName>` **reverb_bus_name**
- +-----------+-----------------------+
- | *Default* | ``&"Master"`` |
- +-----------+-----------------------+
- | *Setter* | set_reverb_bus(value) |
- +-----------+-----------------------+
- | *Getter* | get_reverb_bus() |
- +-----------+-----------------------+
- The reverb bus name to use for this area's associated audio.
- ----
- .. _class_Area3D_property_reverb_bus_uniformity:
- - :ref:`float<class_float>` **reverb_bus_uniformity**
- +-----------+------------------------------+
- | *Default* | ``0.0`` |
- +-----------+------------------------------+
- | *Setter* | set_reverb_uniformity(value) |
- +-----------+------------------------------+
- | *Getter* | get_reverb_uniformity() |
- +-----------+------------------------------+
- The degree to which this area's reverb is a uniform effect. Ranges from ``0`` to ``1`` with ``0.1`` precision.
- ----
- .. _class_Area3D_property_wind_attenuation_factor:
- - :ref:`float<class_float>` **wind_attenuation_factor**
- +-----------+------------------------------------+
- | *Default* | ``0.0`` |
- +-----------+------------------------------------+
- | *Setter* | set_wind_attenuation_factor(value) |
- +-----------+------------------------------------+
- | *Getter* | get_wind_attenuation_factor() |
- +-----------+------------------------------------+
- The exponential rate at which wind force decreases with distance from its origin.
- ----
- .. _class_Area3D_property_wind_force_magnitude:
- - :ref:`float<class_float>` **wind_force_magnitude**
- +-----------+---------------------------------+
- | *Default* | ``0.0`` |
- +-----------+---------------------------------+
- | *Setter* | set_wind_force_magnitude(value) |
- +-----------+---------------------------------+
- | *Getter* | get_wind_force_magnitude() |
- +-----------+---------------------------------+
- The magnitude of area-specific wind force.
- ----
- .. _class_Area3D_property_wind_source_path:
- - :ref:`NodePath<class_NodePath>` **wind_source_path**
- +-----------+-----------------------------+
- | *Default* | ``NodePath("")`` |
- +-----------+-----------------------------+
- | *Setter* | set_wind_source_path(value) |
- +-----------+-----------------------------+
- | *Getter* | get_wind_source_path() |
- +-----------+-----------------------------+
- The :ref:`Node3D<class_Node3D>` which is used to specify the the direction and origin of an area-specific wind force. The direction is opposite to the z-axis of the :ref:`Node3D<class_Node3D>`'s local transform, and its origin is the origin of the :ref:`Node3D<class_Node3D>`'s local transform.
- Method Descriptions
- -------------------
- .. _class_Area3D_method_get_overlapping_areas:
- - :ref:`Area3D[]<class_Area3D>` **get_overlapping_areas** **(** **)** |const|
- Returns a list of intersecting ``Area3D``\ s. The overlapping area's :ref:`CollisionObject3D.collision_layer<class_CollisionObject3D_property_collision_layer>` must be part of this area's :ref:`CollisionObject3D.collision_mask<class_CollisionObject3D_property_collision_mask>` in order to be detected.
- For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
- ----
- .. _class_Area3D_method_get_overlapping_bodies:
- - :ref:`Node3D[]<class_Node3D>` **get_overlapping_bodies** **(** **)** |const|
- Returns a list of intersecting :ref:`PhysicsBody3D<class_PhysicsBody3D>`\ s. The overlapping body's :ref:`CollisionObject3D.collision_layer<class_CollisionObject3D_property_collision_layer>` must be part of this area's :ref:`CollisionObject3D.collision_mask<class_CollisionObject3D_property_collision_mask>` in order to be detected.
- For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
- ----
- .. _class_Area3D_method_overlaps_area:
- - :ref:`bool<class_bool>` **overlaps_area** **(** :ref:`Node<class_Node>` area **)** |const|
- Returns ``true`` if the given ``Area3D`` intersects or overlaps this ``Area3D``, ``false`` otherwise.
- \ **Note:** The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
- ----
- .. _class_Area3D_method_overlaps_body:
- - :ref:`bool<class_bool>` **overlaps_body** **(** :ref:`Node<class_Node>` body **)** |const|
- Returns ``true`` if the given physics body intersects or overlaps this ``Area3D``, ``false`` otherwise.
- \ **Note:** The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
- The ``body`` argument can either be a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or a :ref:`GridMap<class_GridMap>` instance. While GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body.
- .. |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.)`
- .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
- .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
- .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
|