class_navigationmesh.rst 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the NavigationMesh.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_NavigationMesh:
  6. NavigationMesh
  7. ==============
  8. **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
  9. Properties
  10. ----------
  11. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  12. | :ref:`float<class_float>` | :ref:`agent/height<class_NavigationMesh_property_agent/height>` | ``2.0`` |
  13. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  14. | :ref:`float<class_float>` | :ref:`agent/max_climb<class_NavigationMesh_property_agent/max_climb>` | ``0.9`` |
  15. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  16. | :ref:`float<class_float>` | :ref:`agent/max_slope<class_NavigationMesh_property_agent/max_slope>` | ``45.0`` |
  17. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  18. | :ref:`float<class_float>` | :ref:`agent/radius<class_NavigationMesh_property_agent/radius>` | ``0.6`` |
  19. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  20. | :ref:`float<class_float>` | :ref:`cell/height<class_NavigationMesh_property_cell/height>` | ``0.2`` |
  21. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  22. | :ref:`float<class_float>` | :ref:`cell/size<class_NavigationMesh_property_cell/size>` | ``0.3`` |
  23. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  24. | :ref:`float<class_float>` | :ref:`detail/sample_distance<class_NavigationMesh_property_detail/sample_distance>` | ``6.0`` |
  25. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  26. | :ref:`float<class_float>` | :ref:`detail/sample_max_error<class_NavigationMesh_property_detail/sample_max_error>` | ``1.0`` |
  27. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  28. | :ref:`float<class_float>` | :ref:`edge/max_error<class_NavigationMesh_property_edge/max_error>` | ``1.3`` |
  29. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  30. | :ref:`float<class_float>` | :ref:`edge/max_length<class_NavigationMesh_property_edge/max_length>` | ``12.0`` |
  31. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  32. | :ref:`bool<class_bool>` | :ref:`filter/filter_walkable_low_height_spans<class_NavigationMesh_property_filter/filter_walkable_low_height_spans>` | ``false`` |
  33. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  34. | :ref:`bool<class_bool>` | :ref:`filter/ledge_spans<class_NavigationMesh_property_filter/ledge_spans>` | ``false`` |
  35. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  36. | :ref:`bool<class_bool>` | :ref:`filter/low_hanging_obstacles<class_NavigationMesh_property_filter/low_hanging_obstacles>` | ``false`` |
  37. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  38. | :ref:`int<class_int>` | :ref:`geometry/collision_mask<class_NavigationMesh_property_geometry/collision_mask>` | |
  39. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  40. | :ref:`int<class_int>` | :ref:`geometry/parsed_geometry_type<class_NavigationMesh_property_geometry/parsed_geometry_type>` | ``0`` |
  41. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  42. | :ref:`int<class_int>` | :ref:`geometry/source_geometry_mode<class_NavigationMesh_property_geometry/source_geometry_mode>` | ``0`` |
  43. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  44. | :ref:`String<class_String>` | :ref:`geometry/source_group_name<class_NavigationMesh_property_geometry/source_group_name>` | |
  45. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  46. | :ref:`float<class_float>` | :ref:`polygon/verts_per_poly<class_NavigationMesh_property_polygon/verts_per_poly>` | ``6.0`` |
  47. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  48. | :ref:`float<class_float>` | :ref:`region/merge_size<class_NavigationMesh_property_region/merge_size>` | ``20.0`` |
  49. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  50. | :ref:`float<class_float>` | :ref:`region/min_size<class_NavigationMesh_property_region/min_size>` | ``8.0`` |
  51. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  52. | :ref:`int<class_int>` | :ref:`sample_partition_type/sample_partition_type<class_NavigationMesh_property_sample_partition_type/sample_partition_type>` | ``0`` |
  53. +-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+-----------+
  54. Methods
  55. -------
  56. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
  57. | void | :ref:`add_polygon<class_NavigationMesh_method_add_polygon>` **(** :ref:`PoolIntArray<class_PoolIntArray>` polygon **)** |
  58. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
  59. | void | :ref:`clear_polygons<class_NavigationMesh_method_clear_polygons>` **(** **)** |
  60. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
  61. | void | :ref:`create_from_mesh<class_NavigationMesh_method_create_from_mesh>` **(** :ref:`Mesh<class_Mesh>` mesh **)** |
  62. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
  63. | :ref:`bool<class_bool>` | :ref:`get_collision_mask_bit<class_NavigationMesh_method_get_collision_mask_bit>` **(** :ref:`int<class_int>` bit **)** |const| |
  64. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
  65. | :ref:`PoolIntArray<class_PoolIntArray>` | :ref:`get_polygon<class_NavigationMesh_method_get_polygon>` **(** :ref:`int<class_int>` idx **)** |
  66. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
  67. | :ref:`int<class_int>` | :ref:`get_polygon_count<class_NavigationMesh_method_get_polygon_count>` **(** **)** |const| |
  68. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
  69. | :ref:`PoolVector3Array<class_PoolVector3Array>` | :ref:`get_vertices<class_NavigationMesh_method_get_vertices>` **(** **)** |const| |
  70. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
  71. | void | :ref:`set_collision_mask_bit<class_NavigationMesh_method_set_collision_mask_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)** |
  72. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
  73. | void | :ref:`set_vertices<class_NavigationMesh_method_set_vertices>` **(** :ref:`PoolVector3Array<class_PoolVector3Array>` vertices **)** |
  74. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
  75. Constants
  76. ---------
  77. .. _class_NavigationMesh_constant_SAMPLE_PARTITION_WATERSHED:
  78. .. _class_NavigationMesh_constant_SAMPLE_PARTITION_MONOTONE:
  79. .. _class_NavigationMesh_constant_SAMPLE_PARTITION_LAYERS:
  80. .. _class_NavigationMesh_constant_PARSED_GEOMETRY_MESH_INSTANCES:
  81. .. _class_NavigationMesh_constant_PARSED_GEOMETRY_STATIC_COLLIDERS:
  82. .. _class_NavigationMesh_constant_PARSED_GEOMETRY_BOTH:
  83. - **SAMPLE_PARTITION_WATERSHED** = **0**
  84. - **SAMPLE_PARTITION_MONOTONE** = **1**
  85. - **SAMPLE_PARTITION_LAYERS** = **2**
  86. - **PARSED_GEOMETRY_MESH_INSTANCES** = **0**
  87. - **PARSED_GEOMETRY_STATIC_COLLIDERS** = **1**
  88. - **PARSED_GEOMETRY_BOTH** = **2**
  89. Property Descriptions
  90. ---------------------
  91. .. _class_NavigationMesh_property_agent/height:
  92. - :ref:`float<class_float>` **agent/height**
  93. +-----------+-------------------------+
  94. | *Default* | ``2.0`` |
  95. +-----------+-------------------------+
  96. | *Setter* | set_agent_height(value) |
  97. +-----------+-------------------------+
  98. | *Getter* | get_agent_height() |
  99. +-----------+-------------------------+
  100. ----
  101. .. _class_NavigationMesh_property_agent/max_climb:
  102. - :ref:`float<class_float>` **agent/max_climb**
  103. +-----------+----------------------------+
  104. | *Default* | ``0.9`` |
  105. +-----------+----------------------------+
  106. | *Setter* | set_agent_max_climb(value) |
  107. +-----------+----------------------------+
  108. | *Getter* | get_agent_max_climb() |
  109. +-----------+----------------------------+
  110. ----
  111. .. _class_NavigationMesh_property_agent/max_slope:
  112. - :ref:`float<class_float>` **agent/max_slope**
  113. +-----------+----------------------------+
  114. | *Default* | ``45.0`` |
  115. +-----------+----------------------------+
  116. | *Setter* | set_agent_max_slope(value) |
  117. +-----------+----------------------------+
  118. | *Getter* | get_agent_max_slope() |
  119. +-----------+----------------------------+
  120. ----
  121. .. _class_NavigationMesh_property_agent/radius:
  122. - :ref:`float<class_float>` **agent/radius**
  123. +-----------+-------------------------+
  124. | *Default* | ``0.6`` |
  125. +-----------+-------------------------+
  126. | *Setter* | set_agent_radius(value) |
  127. +-----------+-------------------------+
  128. | *Getter* | get_agent_radius() |
  129. +-----------+-------------------------+
  130. ----
  131. .. _class_NavigationMesh_property_cell/height:
  132. - :ref:`float<class_float>` **cell/height**
  133. +-----------+------------------------+
  134. | *Default* | ``0.2`` |
  135. +-----------+------------------------+
  136. | *Setter* | set_cell_height(value) |
  137. +-----------+------------------------+
  138. | *Getter* | get_cell_height() |
  139. +-----------+------------------------+
  140. ----
  141. .. _class_NavigationMesh_property_cell/size:
  142. - :ref:`float<class_float>` **cell/size**
  143. +-----------+----------------------+
  144. | *Default* | ``0.3`` |
  145. +-----------+----------------------+
  146. | *Setter* | set_cell_size(value) |
  147. +-----------+----------------------+
  148. | *Getter* | get_cell_size() |
  149. +-----------+----------------------+
  150. ----
  151. .. _class_NavigationMesh_property_detail/sample_distance:
  152. - :ref:`float<class_float>` **detail/sample_distance**
  153. +-----------+-----------------------------------+
  154. | *Default* | ``6.0`` |
  155. +-----------+-----------------------------------+
  156. | *Setter* | set_detail_sample_distance(value) |
  157. +-----------+-----------------------------------+
  158. | *Getter* | get_detail_sample_distance() |
  159. +-----------+-----------------------------------+
  160. ----
  161. .. _class_NavigationMesh_property_detail/sample_max_error:
  162. - :ref:`float<class_float>` **detail/sample_max_error**
  163. +-----------+------------------------------------+
  164. | *Default* | ``1.0`` |
  165. +-----------+------------------------------------+
  166. | *Setter* | set_detail_sample_max_error(value) |
  167. +-----------+------------------------------------+
  168. | *Getter* | get_detail_sample_max_error() |
  169. +-----------+------------------------------------+
  170. ----
  171. .. _class_NavigationMesh_property_edge/max_error:
  172. - :ref:`float<class_float>` **edge/max_error**
  173. +-----------+---------------------------+
  174. | *Default* | ``1.3`` |
  175. +-----------+---------------------------+
  176. | *Setter* | set_edge_max_error(value) |
  177. +-----------+---------------------------+
  178. | *Getter* | get_edge_max_error() |
  179. +-----------+---------------------------+
  180. ----
  181. .. _class_NavigationMesh_property_edge/max_length:
  182. - :ref:`float<class_float>` **edge/max_length**
  183. +-----------+----------------------------+
  184. | *Default* | ``12.0`` |
  185. +-----------+----------------------------+
  186. | *Setter* | set_edge_max_length(value) |
  187. +-----------+----------------------------+
  188. | *Getter* | get_edge_max_length() |
  189. +-----------+----------------------------+
  190. ----
  191. .. _class_NavigationMesh_property_filter/filter_walkable_low_height_spans:
  192. - :ref:`bool<class_bool>` **filter/filter_walkable_low_height_spans**
  193. +-----------+---------------------------------------------+
  194. | *Default* | ``false`` |
  195. +-----------+---------------------------------------------+
  196. | *Setter* | set_filter_walkable_low_height_spans(value) |
  197. +-----------+---------------------------------------------+
  198. | *Getter* | get_filter_walkable_low_height_spans() |
  199. +-----------+---------------------------------------------+
  200. ----
  201. .. _class_NavigationMesh_property_filter/ledge_spans:
  202. - :ref:`bool<class_bool>` **filter/ledge_spans**
  203. +-----------+-------------------------------+
  204. | *Default* | ``false`` |
  205. +-----------+-------------------------------+
  206. | *Setter* | set_filter_ledge_spans(value) |
  207. +-----------+-------------------------------+
  208. | *Getter* | get_filter_ledge_spans() |
  209. +-----------+-------------------------------+
  210. ----
  211. .. _class_NavigationMesh_property_filter/low_hanging_obstacles:
  212. - :ref:`bool<class_bool>` **filter/low_hanging_obstacles**
  213. +-----------+-----------------------------------------+
  214. | *Default* | ``false`` |
  215. +-----------+-----------------------------------------+
  216. | *Setter* | set_filter_low_hanging_obstacles(value) |
  217. +-----------+-----------------------------------------+
  218. | *Getter* | get_filter_low_hanging_obstacles() |
  219. +-----------+-----------------------------------------+
  220. ----
  221. .. _class_NavigationMesh_property_geometry/collision_mask:
  222. - :ref:`int<class_int>` **geometry/collision_mask**
  223. +----------+---------------------------+
  224. | *Setter* | set_collision_mask(value) |
  225. +----------+---------------------------+
  226. | *Getter* | get_collision_mask() |
  227. +----------+---------------------------+
  228. ----
  229. .. _class_NavigationMesh_property_geometry/parsed_geometry_type:
  230. - :ref:`int<class_int>` **geometry/parsed_geometry_type**
  231. +-----------+---------------------------------+
  232. | *Default* | ``0`` |
  233. +-----------+---------------------------------+
  234. | *Setter* | set_parsed_geometry_type(value) |
  235. +-----------+---------------------------------+
  236. | *Getter* | get_parsed_geometry_type() |
  237. +-----------+---------------------------------+
  238. ----
  239. .. _class_NavigationMesh_property_geometry/source_geometry_mode:
  240. - :ref:`int<class_int>` **geometry/source_geometry_mode**
  241. +-----------+---------------------------------+
  242. | *Default* | ``0`` |
  243. +-----------+---------------------------------+
  244. | *Setter* | set_source_geometry_mode(value) |
  245. +-----------+---------------------------------+
  246. | *Getter* | get_source_geometry_mode() |
  247. +-----------+---------------------------------+
  248. ----
  249. .. _class_NavigationMesh_property_geometry/source_group_name:
  250. - :ref:`String<class_String>` **geometry/source_group_name**
  251. +----------+------------------------------+
  252. | *Setter* | set_source_group_name(value) |
  253. +----------+------------------------------+
  254. | *Getter* | get_source_group_name() |
  255. +----------+------------------------------+
  256. ----
  257. .. _class_NavigationMesh_property_polygon/verts_per_poly:
  258. - :ref:`float<class_float>` **polygon/verts_per_poly**
  259. +-----------+---------------------------+
  260. | *Default* | ``6.0`` |
  261. +-----------+---------------------------+
  262. | *Setter* | set_verts_per_poly(value) |
  263. +-----------+---------------------------+
  264. | *Getter* | get_verts_per_poly() |
  265. +-----------+---------------------------+
  266. ----
  267. .. _class_NavigationMesh_property_region/merge_size:
  268. - :ref:`float<class_float>` **region/merge_size**
  269. +-----------+------------------------------+
  270. | *Default* | ``20.0`` |
  271. +-----------+------------------------------+
  272. | *Setter* | set_region_merge_size(value) |
  273. +-----------+------------------------------+
  274. | *Getter* | get_region_merge_size() |
  275. +-----------+------------------------------+
  276. ----
  277. .. _class_NavigationMesh_property_region/min_size:
  278. - :ref:`float<class_float>` **region/min_size**
  279. +-----------+----------------------------+
  280. | *Default* | ``8.0`` |
  281. +-----------+----------------------------+
  282. | *Setter* | set_region_min_size(value) |
  283. +-----------+----------------------------+
  284. | *Getter* | get_region_min_size() |
  285. +-----------+----------------------------+
  286. ----
  287. .. _class_NavigationMesh_property_sample_partition_type/sample_partition_type:
  288. - :ref:`int<class_int>` **sample_partition_type/sample_partition_type**
  289. +-----------+----------------------------------+
  290. | *Default* | ``0`` |
  291. +-----------+----------------------------------+
  292. | *Setter* | set_sample_partition_type(value) |
  293. +-----------+----------------------------------+
  294. | *Getter* | get_sample_partition_type() |
  295. +-----------+----------------------------------+
  296. Method Descriptions
  297. -------------------
  298. .. _class_NavigationMesh_method_add_polygon:
  299. - void **add_polygon** **(** :ref:`PoolIntArray<class_PoolIntArray>` polygon **)**
  300. ----
  301. .. _class_NavigationMesh_method_clear_polygons:
  302. - void **clear_polygons** **(** **)**
  303. ----
  304. .. _class_NavigationMesh_method_create_from_mesh:
  305. - void **create_from_mesh** **(** :ref:`Mesh<class_Mesh>` mesh **)**
  306. ----
  307. .. _class_NavigationMesh_method_get_collision_mask_bit:
  308. - :ref:`bool<class_bool>` **get_collision_mask_bit** **(** :ref:`int<class_int>` bit **)** |const|
  309. ----
  310. .. _class_NavigationMesh_method_get_polygon:
  311. - :ref:`PoolIntArray<class_PoolIntArray>` **get_polygon** **(** :ref:`int<class_int>` idx **)**
  312. ----
  313. .. _class_NavigationMesh_method_get_polygon_count:
  314. - :ref:`int<class_int>` **get_polygon_count** **(** **)** |const|
  315. ----
  316. .. _class_NavigationMesh_method_get_vertices:
  317. - :ref:`PoolVector3Array<class_PoolVector3Array>` **get_vertices** **(** **)** |const|
  318. ----
  319. .. _class_NavigationMesh_method_set_collision_mask_bit:
  320. - void **set_collision_mask_bit** **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**
  321. ----
  322. .. _class_NavigationMesh_method_set_vertices:
  323. - void **set_vertices** **(** :ref:`PoolVector3Array<class_PoolVector3Array>` vertices **)**
  324. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  325. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  326. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`