mirror of
https://github.com/godotengine/godot-docs.git
synced 2025-12-31 17:49:03 +03:00
628 lines
33 KiB
ReStructuredText
628 lines
33 KiB
ReStructuredText
:github_url: hide
|
|
|
|
.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
|
|
.. DO NOT EDIT THIS FILE, but the Area3D.xml source instead.
|
|
.. The source is found in doc/classes or modules/<name>/doc_classes.
|
|
|
|
.. _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.
|
|
|
|
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_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(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_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(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_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(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_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(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|
|
|
|
|
If ``true``, the given area overlaps the Area3D.
|
|
|
|
\ **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|
|
|
|
|
If ``true``, the given physics body overlaps the Area3D.
|
|
|
|
\ **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.)`
|