class_navigationpathqueryparameters3d.rst 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  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/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/NavigationPathQueryParameters3D.xml.
  6. .. _class_NavigationPathQueryParameters3D:
  7. NavigationPathQueryParameters3D
  8. ===============================
  9. **Experimental:** This class may be changed or removed in future versions.
  10. **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  11. Provides parameters for 3D navigation path queries.
  12. .. rst-class:: classref-introduction-group
  13. Description
  14. -----------
  15. By changing various properties of this object, such as the start and target position, you can configure path queries to the :ref:`NavigationServer3D<class_NavigationServer3D>`.
  16. .. rst-class:: classref-introduction-group
  17. Tutorials
  18. ---------
  19. - :doc:`Using NavigationPathQueryObjects <../tutorials/navigation/navigation_using_navigationpathqueryobjects>`
  20. .. rst-class:: classref-reftable-group
  21. Properties
  22. ----------
  23. .. table::
  24. :widths: auto
  25. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------+
  26. | :ref:`RID<class_RID>` | :ref:`map<class_NavigationPathQueryParameters3D_property_map>` | ``RID()`` |
  27. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------+
  28. | |bitfield|\[:ref:`PathMetadataFlags<enum_NavigationPathQueryParameters3D_PathMetadataFlags>`\] | :ref:`metadata_flags<class_NavigationPathQueryParameters3D_property_metadata_flags>` | ``7`` |
  29. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------+
  30. | :ref:`int<class_int>` | :ref:`navigation_layers<class_NavigationPathQueryParameters3D_property_navigation_layers>` | ``1`` |
  31. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------+
  32. | :ref:`PathPostProcessing<enum_NavigationPathQueryParameters3D_PathPostProcessing>` | :ref:`path_postprocessing<class_NavigationPathQueryParameters3D_property_path_postprocessing>` | ``0`` |
  33. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------+
  34. | :ref:`PathfindingAlgorithm<enum_NavigationPathQueryParameters3D_PathfindingAlgorithm>` | :ref:`pathfinding_algorithm<class_NavigationPathQueryParameters3D_property_pathfinding_algorithm>` | ``0`` |
  35. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------+
  36. | :ref:`float<class_float>` | :ref:`simplify_epsilon<class_NavigationPathQueryParameters3D_property_simplify_epsilon>` | ``0.0`` |
  37. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------+
  38. | :ref:`bool<class_bool>` | :ref:`simplify_path<class_NavigationPathQueryParameters3D_property_simplify_path>` | ``false`` |
  39. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------+
  40. | :ref:`Vector3<class_Vector3>` | :ref:`start_position<class_NavigationPathQueryParameters3D_property_start_position>` | ``Vector3(0, 0, 0)`` |
  41. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------+
  42. | :ref:`Vector3<class_Vector3>` | :ref:`target_position<class_NavigationPathQueryParameters3D_property_target_position>` | ``Vector3(0, 0, 0)`` |
  43. +------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------+
  44. .. rst-class:: classref-section-separator
  45. ----
  46. .. rst-class:: classref-descriptions-group
  47. Enumerations
  48. ------------
  49. .. _enum_NavigationPathQueryParameters3D_PathfindingAlgorithm:
  50. .. rst-class:: classref-enumeration
  51. enum **PathfindingAlgorithm**: :ref:`🔗<enum_NavigationPathQueryParameters3D_PathfindingAlgorithm>`
  52. .. _class_NavigationPathQueryParameters3D_constant_PATHFINDING_ALGORITHM_ASTAR:
  53. .. rst-class:: classref-enumeration-constant
  54. :ref:`PathfindingAlgorithm<enum_NavigationPathQueryParameters3D_PathfindingAlgorithm>` **PATHFINDING_ALGORITHM_ASTAR** = ``0``
  55. The path query uses the default A\* pathfinding algorithm.
  56. .. rst-class:: classref-item-separator
  57. ----
  58. .. _enum_NavigationPathQueryParameters3D_PathPostProcessing:
  59. .. rst-class:: classref-enumeration
  60. enum **PathPostProcessing**: :ref:`🔗<enum_NavigationPathQueryParameters3D_PathPostProcessing>`
  61. .. _class_NavigationPathQueryParameters3D_constant_PATH_POSTPROCESSING_CORRIDORFUNNEL:
  62. .. rst-class:: classref-enumeration-constant
  63. :ref:`PathPostProcessing<enum_NavigationPathQueryParameters3D_PathPostProcessing>` **PATH_POSTPROCESSING_CORRIDORFUNNEL** = ``0``
  64. Applies a funnel algorithm to the raw path corridor found by the pathfinding algorithm. This will result in the shortest path possible inside the path corridor. This postprocessing very much depends on the navigation mesh polygon layout and the created corridor. Especially tile- or gridbased layouts can face artificial corners with diagonal movement due to a jagged path corridor imposed by the cell shapes.
  65. .. _class_NavigationPathQueryParameters3D_constant_PATH_POSTPROCESSING_EDGECENTERED:
  66. .. rst-class:: classref-enumeration-constant
  67. :ref:`PathPostProcessing<enum_NavigationPathQueryParameters3D_PathPostProcessing>` **PATH_POSTPROCESSING_EDGECENTERED** = ``1``
  68. Centers every path position in the middle of the traveled navigation mesh polygon edge. This creates better paths for tile- or gridbased layouts that restrict the movement to the cells center.
  69. .. _class_NavigationPathQueryParameters3D_constant_PATH_POSTPROCESSING_NONE:
  70. .. rst-class:: classref-enumeration-constant
  71. :ref:`PathPostProcessing<enum_NavigationPathQueryParameters3D_PathPostProcessing>` **PATH_POSTPROCESSING_NONE** = ``2``
  72. Applies no postprocessing and returns the raw path corridor as found by the pathfinding algorithm.
  73. .. rst-class:: classref-item-separator
  74. ----
  75. .. _enum_NavigationPathQueryParameters3D_PathMetadataFlags:
  76. .. rst-class:: classref-enumeration
  77. flags **PathMetadataFlags**: :ref:`🔗<enum_NavigationPathQueryParameters3D_PathMetadataFlags>`
  78. .. _class_NavigationPathQueryParameters3D_constant_PATH_METADATA_INCLUDE_NONE:
  79. .. rst-class:: classref-enumeration-constant
  80. :ref:`PathMetadataFlags<enum_NavigationPathQueryParameters3D_PathMetadataFlags>` **PATH_METADATA_INCLUDE_NONE** = ``0``
  81. Don't include any additional metadata about the returned path.
  82. .. _class_NavigationPathQueryParameters3D_constant_PATH_METADATA_INCLUDE_TYPES:
  83. .. rst-class:: classref-enumeration-constant
  84. :ref:`PathMetadataFlags<enum_NavigationPathQueryParameters3D_PathMetadataFlags>` **PATH_METADATA_INCLUDE_TYPES** = ``1``
  85. Include the type of navigation primitive (region or link) that each point of the path goes through.
  86. .. _class_NavigationPathQueryParameters3D_constant_PATH_METADATA_INCLUDE_RIDS:
  87. .. rst-class:: classref-enumeration-constant
  88. :ref:`PathMetadataFlags<enum_NavigationPathQueryParameters3D_PathMetadataFlags>` **PATH_METADATA_INCLUDE_RIDS** = ``2``
  89. Include the :ref:`RID<class_RID>`\ s of the regions and links that each point of the path goes through.
  90. .. _class_NavigationPathQueryParameters3D_constant_PATH_METADATA_INCLUDE_OWNERS:
  91. .. rst-class:: classref-enumeration-constant
  92. :ref:`PathMetadataFlags<enum_NavigationPathQueryParameters3D_PathMetadataFlags>` **PATH_METADATA_INCLUDE_OWNERS** = ``4``
  93. Include the ``ObjectID``\ s of the :ref:`Object<class_Object>`\ s which manage the regions and links each point of the path goes through.
  94. .. _class_NavigationPathQueryParameters3D_constant_PATH_METADATA_INCLUDE_ALL:
  95. .. rst-class:: classref-enumeration-constant
  96. :ref:`PathMetadataFlags<enum_NavigationPathQueryParameters3D_PathMetadataFlags>` **PATH_METADATA_INCLUDE_ALL** = ``7``
  97. Include all available metadata about the returned path.
  98. .. rst-class:: classref-section-separator
  99. ----
  100. .. rst-class:: classref-descriptions-group
  101. Property Descriptions
  102. ---------------------
  103. .. _class_NavigationPathQueryParameters3D_property_map:
  104. .. rst-class:: classref-property
  105. :ref:`RID<class_RID>` **map** = ``RID()`` :ref:`🔗<class_NavigationPathQueryParameters3D_property_map>`
  106. .. rst-class:: classref-property-setget
  107. - |void| **set_map**\ (\ value\: :ref:`RID<class_RID>`\ )
  108. - :ref:`RID<class_RID>` **get_map**\ (\ )
  109. The navigation map :ref:`RID<class_RID>` used in the path query.
  110. .. rst-class:: classref-item-separator
  111. ----
  112. .. _class_NavigationPathQueryParameters3D_property_metadata_flags:
  113. .. rst-class:: classref-property
  114. |bitfield|\[:ref:`PathMetadataFlags<enum_NavigationPathQueryParameters3D_PathMetadataFlags>`\] **metadata_flags** = ``7`` :ref:`🔗<class_NavigationPathQueryParameters3D_property_metadata_flags>`
  115. .. rst-class:: classref-property-setget
  116. - |void| **set_metadata_flags**\ (\ value\: |bitfield|\[:ref:`PathMetadataFlags<enum_NavigationPathQueryParameters3D_PathMetadataFlags>`\]\ )
  117. - |bitfield|\[:ref:`PathMetadataFlags<enum_NavigationPathQueryParameters3D_PathMetadataFlags>`\] **get_metadata_flags**\ (\ )
  118. Additional information to include with the navigation path.
  119. .. rst-class:: classref-item-separator
  120. ----
  121. .. _class_NavigationPathQueryParameters3D_property_navigation_layers:
  122. .. rst-class:: classref-property
  123. :ref:`int<class_int>` **navigation_layers** = ``1`` :ref:`🔗<class_NavigationPathQueryParameters3D_property_navigation_layers>`
  124. .. rst-class:: classref-property-setget
  125. - |void| **set_navigation_layers**\ (\ value\: :ref:`int<class_int>`\ )
  126. - :ref:`int<class_int>` **get_navigation_layers**\ (\ )
  127. The navigation layers the query will use (as a bitmask).
  128. .. rst-class:: classref-item-separator
  129. ----
  130. .. _class_NavigationPathQueryParameters3D_property_path_postprocessing:
  131. .. rst-class:: classref-property
  132. :ref:`PathPostProcessing<enum_NavigationPathQueryParameters3D_PathPostProcessing>` **path_postprocessing** = ``0`` :ref:`🔗<class_NavigationPathQueryParameters3D_property_path_postprocessing>`
  133. .. rst-class:: classref-property-setget
  134. - |void| **set_path_postprocessing**\ (\ value\: :ref:`PathPostProcessing<enum_NavigationPathQueryParameters3D_PathPostProcessing>`\ )
  135. - :ref:`PathPostProcessing<enum_NavigationPathQueryParameters3D_PathPostProcessing>` **get_path_postprocessing**\ (\ )
  136. The path postprocessing applied to the raw path corridor found by the :ref:`pathfinding_algorithm<class_NavigationPathQueryParameters3D_property_pathfinding_algorithm>`.
  137. .. rst-class:: classref-item-separator
  138. ----
  139. .. _class_NavigationPathQueryParameters3D_property_pathfinding_algorithm:
  140. .. rst-class:: classref-property
  141. :ref:`PathfindingAlgorithm<enum_NavigationPathQueryParameters3D_PathfindingAlgorithm>` **pathfinding_algorithm** = ``0`` :ref:`🔗<class_NavigationPathQueryParameters3D_property_pathfinding_algorithm>`
  142. .. rst-class:: classref-property-setget
  143. - |void| **set_pathfinding_algorithm**\ (\ value\: :ref:`PathfindingAlgorithm<enum_NavigationPathQueryParameters3D_PathfindingAlgorithm>`\ )
  144. - :ref:`PathfindingAlgorithm<enum_NavigationPathQueryParameters3D_PathfindingAlgorithm>` **get_pathfinding_algorithm**\ (\ )
  145. The pathfinding algorithm used in the path query.
  146. .. rst-class:: classref-item-separator
  147. ----
  148. .. _class_NavigationPathQueryParameters3D_property_simplify_epsilon:
  149. .. rst-class:: classref-property
  150. :ref:`float<class_float>` **simplify_epsilon** = ``0.0`` :ref:`🔗<class_NavigationPathQueryParameters3D_property_simplify_epsilon>`
  151. .. rst-class:: classref-property-setget
  152. - |void| **set_simplify_epsilon**\ (\ value\: :ref:`float<class_float>`\ )
  153. - :ref:`float<class_float>` **get_simplify_epsilon**\ (\ )
  154. The path simplification amount in worlds units.
  155. .. rst-class:: classref-item-separator
  156. ----
  157. .. _class_NavigationPathQueryParameters3D_property_simplify_path:
  158. .. rst-class:: classref-property
  159. :ref:`bool<class_bool>` **simplify_path** = ``false`` :ref:`🔗<class_NavigationPathQueryParameters3D_property_simplify_path>`
  160. .. rst-class:: classref-property-setget
  161. - |void| **set_simplify_path**\ (\ value\: :ref:`bool<class_bool>`\ )
  162. - :ref:`bool<class_bool>` **get_simplify_path**\ (\ )
  163. If ``true`` a simplified version of the path will be returned with less critical path points removed. The simplification amount is controlled by :ref:`simplify_epsilon<class_NavigationPathQueryParameters3D_property_simplify_epsilon>`. The simplification uses a variant of Ramer-Douglas-Peucker algorithm for curve point decimation.
  164. Path simplification can be helpful to mitigate various path following issues that can arise with certain agent types and script behaviors. E.g. "steering" agents or avoidance in "open fields".
  165. .. rst-class:: classref-item-separator
  166. ----
  167. .. _class_NavigationPathQueryParameters3D_property_start_position:
  168. .. rst-class:: classref-property
  169. :ref:`Vector3<class_Vector3>` **start_position** = ``Vector3(0, 0, 0)`` :ref:`🔗<class_NavigationPathQueryParameters3D_property_start_position>`
  170. .. rst-class:: classref-property-setget
  171. - |void| **set_start_position**\ (\ value\: :ref:`Vector3<class_Vector3>`\ )
  172. - :ref:`Vector3<class_Vector3>` **get_start_position**\ (\ )
  173. The pathfinding start position in global coordinates.
  174. .. rst-class:: classref-item-separator
  175. ----
  176. .. _class_NavigationPathQueryParameters3D_property_target_position:
  177. .. rst-class:: classref-property
  178. :ref:`Vector3<class_Vector3>` **target_position** = ``Vector3(0, 0, 0)`` :ref:`🔗<class_NavigationPathQueryParameters3D_property_target_position>`
  179. .. rst-class:: classref-property-setget
  180. - |void| **set_target_position**\ (\ value\: :ref:`Vector3<class_Vector3>`\ )
  181. - :ref:`Vector3<class_Vector3>` **get_target_position**\ (\ )
  182. The pathfinding target position in global coordinates.
  183. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  184. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  185. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  186. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  187. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  188. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  189. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  190. .. |void| replace:: :abbr:`void (No return value.)`