class_area.rst 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/3.5/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/3.5/doc/classes/Area.xml.
  6. .. _class_Area:
  7. Area
  8. ====
  9. **Inherits:** :ref:`CollisionObject<class_CollisionObject>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  10. 3D area for detection and physics and audio influence.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. 3D area that detects :ref:`CollisionObject<class_CollisionObject>` nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping) and route audio to a custom audio bus.
  15. To give the area its shape, add a :ref:`CollisionShape<class_CollisionShape>` or a :ref:`CollisionPolygon<class_CollisionPolygon>` node as a *direct* child (or add multiple such nodes as direct children) of the area.
  16. \ **Warning:** See :ref:`ConcavePolygonShape<class_ConcavePolygonShape>` (also called "trimesh") for a warning about possibly unexpected behavior when using that shape for an area.
  17. \ **Warning:** With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
  18. .. rst-class:: classref-introduction-group
  19. Tutorials
  20. ---------
  21. - `3D Platformer Demo <https://godotengine.org/asset-library/asset/125>`__
  22. - `GUI in 3D Demo <https://godotengine.org/asset-library/asset/127>`__
  23. .. rst-class:: classref-reftable-group
  24. Properties
  25. ----------
  26. .. table::
  27. :widths: auto
  28. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  29. | :ref:`float<class_float>` | :ref:`angular_damp<class_Area_property_angular_damp>` | ``0.1`` |
  30. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  31. | :ref:`String<class_String>` | :ref:`audio_bus_name<class_Area_property_audio_bus_name>` | ``"Master"`` |
  32. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  33. | :ref:`bool<class_bool>` | :ref:`audio_bus_override<class_Area_property_audio_bus_override>` | ``false`` |
  34. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  35. | :ref:`float<class_float>` | :ref:`gravity<class_Area_property_gravity>` | ``9.8`` |
  36. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  37. | :ref:`float<class_float>` | :ref:`gravity_distance_scale<class_Area_property_gravity_distance_scale>` | ``0.0`` |
  38. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  39. | :ref:`bool<class_bool>` | :ref:`gravity_point<class_Area_property_gravity_point>` | ``false`` |
  40. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  41. | :ref:`Vector3<class_Vector3>` | :ref:`gravity_vec<class_Area_property_gravity_vec>` | ``Vector3( 0, -1, 0 )`` |
  42. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  43. | :ref:`float<class_float>` | :ref:`linear_damp<class_Area_property_linear_damp>` | ``0.1`` |
  44. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  45. | :ref:`bool<class_bool>` | :ref:`monitorable<class_Area_property_monitorable>` | ``true`` |
  46. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  47. | :ref:`bool<class_bool>` | :ref:`monitoring<class_Area_property_monitoring>` | ``true`` |
  48. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  49. | :ref:`float<class_float>` | :ref:`priority<class_Area_property_priority>` | ``0.0`` |
  50. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  51. | :ref:`float<class_float>` | :ref:`reverb_bus_amount<class_Area_property_reverb_bus_amount>` | ``0.0`` |
  52. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  53. | :ref:`bool<class_bool>` | :ref:`reverb_bus_enable<class_Area_property_reverb_bus_enable>` | ``false`` |
  54. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  55. | :ref:`String<class_String>` | :ref:`reverb_bus_name<class_Area_property_reverb_bus_name>` | ``"Master"`` |
  56. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  57. | :ref:`float<class_float>` | :ref:`reverb_bus_uniformity<class_Area_property_reverb_bus_uniformity>` | ``0.0`` |
  58. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  59. | :ref:`SpaceOverride<enum_Area_SpaceOverride>` | :ref:`space_override<class_Area_property_space_override>` | ``0`` |
  60. +-----------------------------------------------+---------------------------------------------------------------------------+-------------------------+
  61. .. rst-class:: classref-reftable-group
  62. Methods
  63. -------
  64. .. table::
  65. :widths: auto
  66. +---------------------------+--------------------------------------------------------------------------------------------------------+
  67. | :ref:`Array<class_Array>` | :ref:`get_overlapping_areas<class_Area_method_get_overlapping_areas>` **(** **)** |const| |
  68. +---------------------------+--------------------------------------------------------------------------------------------------------+
  69. | :ref:`Array<class_Array>` | :ref:`get_overlapping_bodies<class_Area_method_get_overlapping_bodies>` **(** **)** |const| |
  70. +---------------------------+--------------------------------------------------------------------------------------------------------+
  71. | :ref:`bool<class_bool>` | :ref:`overlaps_area<class_Area_method_overlaps_area>` **(** :ref:`Node<class_Node>` area **)** |const| |
  72. +---------------------------+--------------------------------------------------------------------------------------------------------+
  73. | :ref:`bool<class_bool>` | :ref:`overlaps_body<class_Area_method_overlaps_body>` **(** :ref:`Node<class_Node>` body **)** |const| |
  74. +---------------------------+--------------------------------------------------------------------------------------------------------+
  75. .. rst-class:: classref-section-separator
  76. ----
  77. .. rst-class:: classref-descriptions-group
  78. Signals
  79. -------
  80. .. _class_Area_signal_area_entered:
  81. .. rst-class:: classref-signal
  82. **area_entered** **(** :ref:`Area<class_Area>` area **)**
  83. Emitted when another Area enters this Area. Requires :ref:`monitoring<class_Area_property_monitoring>` to be set to ``true``.
  84. \ ``area`` the other Area.
  85. .. rst-class:: classref-item-separator
  86. ----
  87. .. _class_Area_signal_area_exited:
  88. .. rst-class:: classref-signal
  89. **area_exited** **(** :ref:`Area<class_Area>` area **)**
  90. Emitted when another Area exits this Area. Requires :ref:`monitoring<class_Area_property_monitoring>` to be set to ``true``.
  91. \ ``area`` the other Area.
  92. .. rst-class:: classref-item-separator
  93. ----
  94. .. _class_Area_signal_area_shape_entered:
  95. .. rst-class:: classref-signal
  96. **area_shape_entered** **(** :ref:`RID<class_RID>` area_rid, :ref:`Area<class_Area>` area, :ref:`int<class_int>` area_shape_index, :ref:`int<class_int>` local_shape_index **)**
  97. Emitted when one of another Area's :ref:`Shape<class_Shape>`\ s enters one of this Area's :ref:`Shape<class_Shape>`\ s. Requires :ref:`monitoring<class_Area_property_monitoring>` to be set to ``true``.
  98. \ ``area_rid`` the :ref:`RID<class_RID>` of the other Area's :ref:`CollisionObject<class_CollisionObject>` used by the :ref:`PhysicsServer<class_PhysicsServer>`.
  99. \ ``area`` the other Area.
  100. \ ``area_shape_index`` the index of the :ref:`Shape<class_Shape>` of the other Area used by the :ref:`PhysicsServer<class_PhysicsServer>`. Get the :ref:`CollisionShape<class_CollisionShape>` node with ``area.shape_owner_get_owner(area_shape_index)``.
  101. \ ``local_shape_index`` the index of the :ref:`Shape<class_Shape>` of this Area used by the :ref:`PhysicsServer<class_PhysicsServer>`. Get the :ref:`CollisionShape<class_CollisionShape>` node with ``self.shape_owner_get_owner(local_shape_index)``.
  102. .. rst-class:: classref-item-separator
  103. ----
  104. .. _class_Area_signal_area_shape_exited:
  105. .. rst-class:: classref-signal
  106. **area_shape_exited** **(** :ref:`RID<class_RID>` area_rid, :ref:`Area<class_Area>` area, :ref:`int<class_int>` area_shape_index, :ref:`int<class_int>` local_shape_index **)**
  107. Emitted when one of another Area's :ref:`Shape<class_Shape>`\ s enters one of this Area's :ref:`Shape<class_Shape>`\ s. Requires :ref:`monitoring<class_Area_property_monitoring>` to be set to ``true``.
  108. \ ``area_rid`` the :ref:`RID<class_RID>` of the other Area's :ref:`CollisionObject<class_CollisionObject>` used by the :ref:`PhysicsServer<class_PhysicsServer>`.
  109. \ ``area`` the other Area.
  110. \ ``area_shape_index`` the index of the :ref:`Shape<class_Shape>` of the other Area used by the :ref:`PhysicsServer<class_PhysicsServer>`. Get the :ref:`CollisionShape<class_CollisionShape>` node with ``area.shape_owner_get_owner(area_shape_index)``.
  111. \ ``local_shape_index`` the index of the :ref:`Shape<class_Shape>` of this Area used by the :ref:`PhysicsServer<class_PhysicsServer>`. Get the :ref:`CollisionShape<class_CollisionShape>` node with ``self.shape_owner_get_owner(local_shape_index)``.
  112. .. rst-class:: classref-item-separator
  113. ----
  114. .. _class_Area_signal_body_entered:
  115. .. rst-class:: classref-signal
  116. **body_entered** **(** :ref:`Node<class_Node>` body **)**
  117. Emitted when a :ref:`PhysicsBody<class_PhysicsBody>` or :ref:`GridMap<class_GridMap>` enters this Area. Requires :ref:`monitoring<class_Area_property_monitoring>` to be set to ``true``. :ref:`GridMap<class_GridMap>`\ s are detected if the :ref:`MeshLibrary<class_MeshLibrary>` has Collision :ref:`Shape<class_Shape>`\ s.
  118. \ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody<class_PhysicsBody>` or :ref:`GridMap<class_GridMap>`.
  119. .. rst-class:: classref-item-separator
  120. ----
  121. .. _class_Area_signal_body_exited:
  122. .. rst-class:: classref-signal
  123. **body_exited** **(** :ref:`Node<class_Node>` body **)**
  124. Emitted when a :ref:`PhysicsBody<class_PhysicsBody>` or :ref:`GridMap<class_GridMap>` exits this Area. Requires :ref:`monitoring<class_Area_property_monitoring>` to be set to ``true``. :ref:`GridMap<class_GridMap>`\ s are detected if the :ref:`MeshLibrary<class_MeshLibrary>` has Collision :ref:`Shape<class_Shape>`\ s.
  125. \ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody<class_PhysicsBody>` or :ref:`GridMap<class_GridMap>`.
  126. .. rst-class:: classref-item-separator
  127. ----
  128. .. _class_Area_signal_body_shape_entered:
  129. .. rst-class:: classref-signal
  130. **body_shape_entered** **(** :ref:`RID<class_RID>` body_rid, :ref:`Node<class_Node>` body, :ref:`int<class_int>` body_shape_index, :ref:`int<class_int>` local_shape_index **)**
  131. Emitted when one of a :ref:`PhysicsBody<class_PhysicsBody>` or :ref:`GridMap<class_GridMap>`'s :ref:`Shape<class_Shape>`\ s enters one of this Area's :ref:`Shape<class_Shape>`\ s. Requires :ref:`monitoring<class_Area_property_monitoring>` to be set to ``true``. :ref:`GridMap<class_GridMap>`\ s are detected if the :ref:`MeshLibrary<class_MeshLibrary>` has Collision :ref:`Shape<class_Shape>`\ s.
  132. \ ``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody<class_PhysicsBody>` or :ref:`MeshLibrary<class_MeshLibrary>`'s :ref:`CollisionObject<class_CollisionObject>` used by the :ref:`PhysicsServer<class_PhysicsServer>`.
  133. \ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody<class_PhysicsBody>` or :ref:`GridMap<class_GridMap>`.
  134. \ ``body_shape_index`` the index of the :ref:`Shape<class_Shape>` of the :ref:`PhysicsBody<class_PhysicsBody>` or :ref:`GridMap<class_GridMap>` used by the :ref:`PhysicsServer<class_PhysicsServer>`. Get the :ref:`CollisionShape<class_CollisionShape>` node with ``body.shape_owner_get_owner(body_shape_index)``.
  135. \ ``local_shape_index`` the index of the :ref:`Shape<class_Shape>` of this Area used by the :ref:`PhysicsServer<class_PhysicsServer>`. Get the :ref:`CollisionShape<class_CollisionShape>` node with ``self.shape_owner_get_owner(local_shape_index)``.
  136. .. rst-class:: classref-item-separator
  137. ----
  138. .. _class_Area_signal_body_shape_exited:
  139. .. rst-class:: classref-signal
  140. **body_shape_exited** **(** :ref:`RID<class_RID>` body_rid, :ref:`Node<class_Node>` body, :ref:`int<class_int>` body_shape_index, :ref:`int<class_int>` local_shape_index **)**
  141. Emitted when one of a :ref:`PhysicsBody<class_PhysicsBody>` or :ref:`GridMap<class_GridMap>`'s :ref:`Shape<class_Shape>`\ s enters one of this Area's :ref:`Shape<class_Shape>`\ s. Requires :ref:`monitoring<class_Area_property_monitoring>` to be set to ``true``. :ref:`GridMap<class_GridMap>`\ s are detected if the :ref:`MeshLibrary<class_MeshLibrary>` has Collision :ref:`Shape<class_Shape>`\ s.
  142. \ ``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody<class_PhysicsBody>` or :ref:`MeshLibrary<class_MeshLibrary>`'s :ref:`CollisionObject<class_CollisionObject>` used by the :ref:`PhysicsServer<class_PhysicsServer>`.
  143. \ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody<class_PhysicsBody>` or :ref:`GridMap<class_GridMap>`.
  144. \ ``body_shape_index`` the index of the :ref:`Shape<class_Shape>` of the :ref:`PhysicsBody<class_PhysicsBody>` or :ref:`GridMap<class_GridMap>` used by the :ref:`PhysicsServer<class_PhysicsServer>`. Get the :ref:`CollisionShape<class_CollisionShape>` node with ``body.shape_owner_get_owner(body_shape_index)``.
  145. \ ``local_shape_index`` the index of the :ref:`Shape<class_Shape>` of this Area used by the :ref:`PhysicsServer<class_PhysicsServer>`. Get the :ref:`CollisionShape<class_CollisionShape>` node with ``self.shape_owner_get_owner(local_shape_index)``.
  146. .. rst-class:: classref-section-separator
  147. ----
  148. .. rst-class:: classref-descriptions-group
  149. Enumerations
  150. ------------
  151. .. _enum_Area_SpaceOverride:
  152. .. rst-class:: classref-enumeration
  153. enum **SpaceOverride**:
  154. .. _class_Area_constant_SPACE_OVERRIDE_DISABLED:
  155. .. rst-class:: classref-enumeration-constant
  156. :ref:`SpaceOverride<enum_Area_SpaceOverride>` **SPACE_OVERRIDE_DISABLED** = ``0``
  157. This area does not affect gravity/damping.
  158. .. _class_Area_constant_SPACE_OVERRIDE_COMBINE:
  159. .. rst-class:: classref-enumeration-constant
  160. :ref:`SpaceOverride<enum_Area_SpaceOverride>` **SPACE_OVERRIDE_COMBINE** = ``1``
  161. This area adds its gravity/damping values to whatever has been calculated so far (in :ref:`priority<class_Area_property_priority>` order).
  162. .. _class_Area_constant_SPACE_OVERRIDE_COMBINE_REPLACE:
  163. .. rst-class:: classref-enumeration-constant
  164. :ref:`SpaceOverride<enum_Area_SpaceOverride>` **SPACE_OVERRIDE_COMBINE_REPLACE** = ``2``
  165. This area adds its gravity/damping values to whatever has been calculated so far (in :ref:`priority<class_Area_property_priority>` order), ignoring any lower priority areas.
  166. .. _class_Area_constant_SPACE_OVERRIDE_REPLACE:
  167. .. rst-class:: classref-enumeration-constant
  168. :ref:`SpaceOverride<enum_Area_SpaceOverride>` **SPACE_OVERRIDE_REPLACE** = ``3``
  169. This area replaces any gravity/damping, even the defaults, ignoring any lower priority areas.
  170. .. _class_Area_constant_SPACE_OVERRIDE_REPLACE_COMBINE:
  171. .. rst-class:: classref-enumeration-constant
  172. :ref:`SpaceOverride<enum_Area_SpaceOverride>` **SPACE_OVERRIDE_REPLACE_COMBINE** = ``4``
  173. This area replaces any gravity/damping calculated so far (in :ref:`priority<class_Area_property_priority>` order), but keeps calculating the rest of the areas.
  174. .. rst-class:: classref-section-separator
  175. ----
  176. .. rst-class:: classref-descriptions-group
  177. Property Descriptions
  178. ---------------------
  179. .. _class_Area_property_angular_damp:
  180. .. rst-class:: classref-property
  181. :ref:`float<class_float>` **angular_damp** = ``0.1``
  182. .. rst-class:: classref-property-setget
  183. - void **set_angular_damp** **(** :ref:`float<class_float>` value **)**
  184. - :ref:`float<class_float>` **get_angular_damp** **(** **)**
  185. The rate at which objects stop spinning in this area. Represents the angular velocity lost per second.
  186. See :ref:`ProjectSettings.physics/3d/default_angular_damp<class_ProjectSettings_property_physics/3d/default_angular_damp>` for more details about damping.
  187. .. rst-class:: classref-item-separator
  188. ----
  189. .. _class_Area_property_audio_bus_name:
  190. .. rst-class:: classref-property
  191. :ref:`String<class_String>` **audio_bus_name** = ``"Master"``
  192. .. rst-class:: classref-property-setget
  193. - void **set_audio_bus** **(** :ref:`String<class_String>` value **)**
  194. - :ref:`String<class_String>` **get_audio_bus** **(** **)**
  195. The name of the area's audio bus.
  196. .. rst-class:: classref-item-separator
  197. ----
  198. .. _class_Area_property_audio_bus_override:
  199. .. rst-class:: classref-property
  200. :ref:`bool<class_bool>` **audio_bus_override** = ``false``
  201. .. rst-class:: classref-property-setget
  202. - void **set_audio_bus_override** **(** :ref:`bool<class_bool>` value **)**
  203. - :ref:`bool<class_bool>` **is_overriding_audio_bus** **(** **)**
  204. If ``true``, the area's audio bus overrides the default audio bus.
  205. .. rst-class:: classref-item-separator
  206. ----
  207. .. _class_Area_property_gravity:
  208. .. rst-class:: classref-property
  209. :ref:`float<class_float>` **gravity** = ``9.8``
  210. .. rst-class:: classref-property-setget
  211. - void **set_gravity** **(** :ref:`float<class_float>` value **)**
  212. - :ref:`float<class_float>` **get_gravity** **(** **)**
  213. The area's gravity intensity (in meters per second squared). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction.
  214. .. rst-class:: classref-item-separator
  215. ----
  216. .. _class_Area_property_gravity_distance_scale:
  217. .. rst-class:: classref-property
  218. :ref:`float<class_float>` **gravity_distance_scale** = ``0.0``
  219. .. rst-class:: classref-property-setget
  220. - void **set_gravity_distance_scale** **(** :ref:`float<class_float>` value **)**
  221. - :ref:`float<class_float>` **get_gravity_distance_scale** **(** **)**
  222. The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance.
  223. .. rst-class:: classref-item-separator
  224. ----
  225. .. _class_Area_property_gravity_point:
  226. .. rst-class:: classref-property
  227. :ref:`bool<class_bool>` **gravity_point** = ``false``
  228. .. rst-class:: classref-property-setget
  229. - void **set_gravity_is_point** **(** :ref:`bool<class_bool>` value **)**
  230. - :ref:`bool<class_bool>` **is_gravity_a_point** **(** **)**
  231. If ``true``, gravity is calculated from a point (set via :ref:`gravity_vec<class_Area_property_gravity_vec>`). See also :ref:`space_override<class_Area_property_space_override>`.
  232. .. rst-class:: classref-item-separator
  233. ----
  234. .. _class_Area_property_gravity_vec:
  235. .. rst-class:: classref-property
  236. :ref:`Vector3<class_Vector3>` **gravity_vec** = ``Vector3( 0, -1, 0 )``
  237. .. rst-class:: classref-property-setget
  238. - void **set_gravity_vector** **(** :ref:`Vector3<class_Vector3>` value **)**
  239. - :ref:`Vector3<class_Vector3>` **get_gravity_vector** **(** **)**
  240. The area's gravity vector (not normalized). If gravity is a point (see :ref:`gravity_point<class_Area_property_gravity_point>`), this will be the point of attraction.
  241. .. rst-class:: classref-item-separator
  242. ----
  243. .. _class_Area_property_linear_damp:
  244. .. rst-class:: classref-property
  245. :ref:`float<class_float>` **linear_damp** = ``0.1``
  246. .. rst-class:: classref-property-setget
  247. - void **set_linear_damp** **(** :ref:`float<class_float>` value **)**
  248. - :ref:`float<class_float>` **get_linear_damp** **(** **)**
  249. The rate at which objects stop moving in this area. Represents the linear velocity lost per second.
  250. See :ref:`ProjectSettings.physics/3d/default_linear_damp<class_ProjectSettings_property_physics/3d/default_linear_damp>` for more details about damping.
  251. .. rst-class:: classref-item-separator
  252. ----
  253. .. _class_Area_property_monitorable:
  254. .. rst-class:: classref-property
  255. :ref:`bool<class_bool>` **monitorable** = ``true``
  256. .. rst-class:: classref-property-setget
  257. - void **set_monitorable** **(** :ref:`bool<class_bool>` value **)**
  258. - :ref:`bool<class_bool>` **is_monitorable** **(** **)**
  259. If ``true``, other monitoring areas can detect this area.
  260. .. rst-class:: classref-item-separator
  261. ----
  262. .. _class_Area_property_monitoring:
  263. .. rst-class:: classref-property
  264. :ref:`bool<class_bool>` **monitoring** = ``true``
  265. .. rst-class:: classref-property-setget
  266. - void **set_monitoring** **(** :ref:`bool<class_bool>` value **)**
  267. - :ref:`bool<class_bool>` **is_monitoring** **(** **)**
  268. If ``true``, the area detects bodies or areas entering and exiting it.
  269. .. rst-class:: classref-item-separator
  270. ----
  271. .. _class_Area_property_priority:
  272. .. rst-class:: classref-property
  273. :ref:`float<class_float>` **priority** = ``0.0``
  274. .. rst-class:: classref-property-setget
  275. - void **set_priority** **(** :ref:`float<class_float>` value **)**
  276. - :ref:`float<class_float>` **get_priority** **(** **)**
  277. The area's priority. Higher priority areas are processed first.
  278. .. rst-class:: classref-item-separator
  279. ----
  280. .. _class_Area_property_reverb_bus_amount:
  281. .. rst-class:: classref-property
  282. :ref:`float<class_float>` **reverb_bus_amount** = ``0.0``
  283. .. rst-class:: classref-property-setget
  284. - void **set_reverb_amount** **(** :ref:`float<class_float>` value **)**
  285. - :ref:`float<class_float>` **get_reverb_amount** **(** **)**
  286. The degree to which this area applies reverb to its associated audio. Ranges from ``0`` to ``1`` with ``0.1`` precision.
  287. .. rst-class:: classref-item-separator
  288. ----
  289. .. _class_Area_property_reverb_bus_enable:
  290. .. rst-class:: classref-property
  291. :ref:`bool<class_bool>` **reverb_bus_enable** = ``false``
  292. .. rst-class:: classref-property-setget
  293. - void **set_use_reverb_bus** **(** :ref:`bool<class_bool>` value **)**
  294. - :ref:`bool<class_bool>` **is_using_reverb_bus** **(** **)**
  295. If ``true``, the area applies reverb to its associated audio.
  296. .. rst-class:: classref-item-separator
  297. ----
  298. .. _class_Area_property_reverb_bus_name:
  299. .. rst-class:: classref-property
  300. :ref:`String<class_String>` **reverb_bus_name** = ``"Master"``
  301. .. rst-class:: classref-property-setget
  302. - void **set_reverb_bus** **(** :ref:`String<class_String>` value **)**
  303. - :ref:`String<class_String>` **get_reverb_bus** **(** **)**
  304. The reverb bus name to use for this area's associated audio.
  305. .. rst-class:: classref-item-separator
  306. ----
  307. .. _class_Area_property_reverb_bus_uniformity:
  308. .. rst-class:: classref-property
  309. :ref:`float<class_float>` **reverb_bus_uniformity** = ``0.0``
  310. .. rst-class:: classref-property-setget
  311. - void **set_reverb_uniformity** **(** :ref:`float<class_float>` value **)**
  312. - :ref:`float<class_float>` **get_reverb_uniformity** **(** **)**
  313. The degree to which this area's reverb is a uniform effect. Ranges from ``0`` to ``1`` with ``0.1`` precision.
  314. .. rst-class:: classref-item-separator
  315. ----
  316. .. _class_Area_property_space_override:
  317. .. rst-class:: classref-property
  318. :ref:`SpaceOverride<enum_Area_SpaceOverride>` **space_override** = ``0``
  319. .. rst-class:: classref-property-setget
  320. - void **set_space_override_mode** **(** :ref:`SpaceOverride<enum_Area_SpaceOverride>` value **)**
  321. - :ref:`SpaceOverride<enum_Area_SpaceOverride>` **get_space_override_mode** **(** **)**
  322. Override mode for gravity and damping calculations within this area. See :ref:`SpaceOverride<enum_Area_SpaceOverride>` for possible values.
  323. .. rst-class:: classref-section-separator
  324. ----
  325. .. rst-class:: classref-descriptions-group
  326. Method Descriptions
  327. -------------------
  328. .. _class_Area_method_get_overlapping_areas:
  329. .. rst-class:: classref-method
  330. :ref:`Array<class_Array>` **get_overlapping_areas** **(** **)** |const|
  331. Returns a list of intersecting **Area**\ s. The overlapping area's :ref:`CollisionObject.collision_layer<class_CollisionObject_property_collision_layer>` must be part of this area's :ref:`CollisionObject.collision_mask<class_CollisionObject_property_collision_mask>` in order to be detected.
  332. 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.
  333. .. rst-class:: classref-item-separator
  334. ----
  335. .. _class_Area_method_get_overlapping_bodies:
  336. .. rst-class:: classref-method
  337. :ref:`Array<class_Array>` **get_overlapping_bodies** **(** **)** |const|
  338. Returns a list of intersecting :ref:`PhysicsBody<class_PhysicsBody>`\ s. The overlapping body's :ref:`CollisionObject.collision_layer<class_CollisionObject_property_collision_layer>` must be part of this area's :ref:`CollisionObject.collision_mask<class_CollisionObject_property_collision_mask>` in order to be detected.
  339. 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.
  340. .. rst-class:: classref-item-separator
  341. ----
  342. .. _class_Area_method_overlaps_area:
  343. .. rst-class:: classref-method
  344. :ref:`bool<class_bool>` **overlaps_area** **(** :ref:`Node<class_Node>` area **)** |const|
  345. If ``true``, the given area overlaps the Area.
  346. \ **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.
  347. .. rst-class:: classref-item-separator
  348. ----
  349. .. _class_Area_method_overlaps_body:
  350. .. rst-class:: classref-method
  351. :ref:`bool<class_bool>` **overlaps_body** **(** :ref:`Node<class_Node>` body **)** |const|
  352. If ``true``, the given physics body overlaps the Area.
  353. \ **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.
  354. The ``body`` argument can either be a :ref:`PhysicsBody<class_PhysicsBody>` 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).
  355. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  356. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  357. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  358. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`