Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
NavigationPathQueryParameters2D
Expérimental : This class may be changed or removed in future versions.
Hérite de : RefCounted < Object
Fournit des paramètres pour des requêtes de chemin de navigation 2D.
Description
En changeant diverses propriétés de cet objet, comme la position de démarrage et cible, vous pouvez configurer des requêtes de chemin au NavigationServer2D.
Tutoriels
Propriétés
|
||
|
||
|
||
BitField[PathMetadataFlags] |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Énumérations
enum PathfindingAlgorithm: 🔗
PathfindingAlgorithm PATHFINDING_ALGORITHM_ASTAR = 0
The path query uses the default A* pathfinding algorithm.
enum PathPostProcessing: 🔗
PathPostProcessing PATH_POSTPROCESSING_CORRIDORFUNNEL = 0
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.
PathPostProcessing PATH_POSTPROCESSING_EDGECENTERED = 1
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.
PathPostProcessing PATH_POSTPROCESSING_NONE = 2
Applies no postprocessing and returns the raw path corridor as found by the pathfinding algorithm.
flags PathMetadataFlags: 🔗
PathMetadataFlags PATH_METADATA_INCLUDE_NONE = 0
Don't include any additional metadata about the returned path.
PathMetadataFlags PATH_METADATA_INCLUDE_TYPES = 1
Include the type of navigation primitive (region or link) that each point of the path goes through.
PathMetadataFlags PATH_METADATA_INCLUDE_RIDS = 2
Include the RIDs of the regions and links that each point of the path goes through.
PathMetadataFlags PATH_METADATA_INCLUDE_OWNERS = 4
Include the ObjectIDs of the Objects which manage the regions and links each point of the path goes through.
PathMetadataFlags PATH_METADATA_INCLUDE_ALL = 7
Inclure toutes les métadonnées disponibles sur le chemin renvoyé.
Descriptions des propriétés
Array[RID] excluded_regions = [] 🔗
The list of region RIDs that will be excluded from the path query. Use NavigationRegion2D.get_rid() to get the RID associated with a NavigationRegion2D node.
Note: The returned array is copied and any changes to it will not update the original property value. To update the value you need to modify the returned array, and then set it to the property again.
Array[RID] included_regions = [] 🔗
The list of region RIDs that will be included by the path query. Use NavigationRegion2D.get_rid() to get the RID associated with a NavigationRegion2D node. If left empty all regions are included. If a region ends up being both included and excluded at the same time it will be excluded.
Note: The returned array is copied and any changes to it will not update the original property value. To update the value you need to modify the returned array, and then set it to the property again.
The navigation map RID used in the path query.
BitField[PathMetadataFlags] metadata_flags = 7 🔗
void set_metadata_flags(value: BitField[PathMetadataFlags])
BitField[PathMetadataFlags] get_metadata_flags()
Informations supplémentaires à inclure avec le chemin de navigation.
The navigation layers the query will use (as a bitmask).
PathPostProcessing path_postprocessing = 0 🔗
void set_path_postprocessing(value: PathPostProcessing)
PathPostProcessing get_path_postprocessing()
Le post-traitement du chemin appliqué au couloir de chemin brut trouvé par pathfinding_algorithm.
float path_return_max_length = 0.0 🔗
The maximum allowed length of the returned path in world units. A path will be clipped when going over this length. A value of 0 or below counts as disabled.
float path_return_max_radius = 0.0 🔗
The maximum allowed radius in world units that the returned path can be from the path start. The path will be clipped when going over this radius. A value of 0 or below counts as disabled.
Note: This will perform a circle shaped clip operation on the path with the first path position being the circle's center position.
float path_search_max_distance = 0.0 🔗
The maximum distance a searched polygon can be away from the start polygon before the pathfinding cancels the search for a path to the (possibly unreachable or very far away) target position polygon. In this case the pathfinding resets and builds a path from the start polygon to the polygon that was found closest to the target position so far. A value of 0 or below counts as unlimited. In case of unlimited the pathfinding will search all polygons connected with the start polygon until either the target position polygon is found or all available polygon search options are exhausted.
int path_search_max_polygons = 4096 🔗
The maximum number of polygons that are searched before the pathfinding cancels the search for a path to the (possibly unreachable or very far away) target position polygon. In this case the pathfinding resets and builds a path from the start polygon to the polygon that was found closest to the target position so far. A value of 0 or below counts as unlimited. In case of unlimited the pathfinding will search all polygons connected with the start polygon until either the target position polygon is found or all available polygon search options are exhausted.
PathfindingAlgorithm pathfinding_algorithm = 0 🔗
void set_pathfinding_algorithm(value: PathfindingAlgorithm)
PathfindingAlgorithm get_pathfinding_algorithm()
L'algorithme de recherche de chemin utilisé dans la recherche de chemin.
float simplify_epsilon = 0.0 🔗
Le montant de simplification du chemin en unités du monde.
If true a simplified version of the path will be returned with less critical path points removed. The simplification amount is controlled by simplify_epsilon. The simplification uses a variant of Ramer-Douglas-Peucker algorithm for curve point decimation.
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".
Vector2 start_position = Vector2(0, 0) 🔗
The pathfinding start position in global coordinates.
Vector2 target_position = Vector2(0, 0) 🔗
The pathfinding target position in global coordinates.