reckfellENGINE

NavigationPathQueryParameters3D

Provides parameters for 3D navigation path queries.

On this page
class NavigationPathQueryParameters3DReckfellSharpInherits RefCounted

Provides parameters for 3D navigation path queries.

By changing various properties of this object, such as the start and target position, you can configure path queries to the NavigationServer3D.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Constructors1

NavigationPathQueryParameters3DConstructor
# NavigationPathQueryParameters3D
C#
public NavigationPathQueryParameters3D();

Properties15

ExcludedRegionsProperty
# ExcludedRegions
C#
public Reckfell.Collections.Array<Rid> ExcludedRegions { get; set; }

The list of region Rids that will be excluded from the path query. Use NavigationRegion3D.GetRid to get the Rid associated with a NavigationRegion3D 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.

IncludedRegionsProperty
# IncludedRegions
C#
public Reckfell.Collections.Array<Rid> IncludedRegions { get; set; }

The list of region Rids that will be included by the path query. Use NavigationRegion3D.GetRid to get the Rid associated with a NavigationRegion3D 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.

MapProperty
# Map
C#
public Rid Map { get; set; }

The navigation map Rid used in the path query.

MetadataFlagsProperty
# MetadataFlags
C#
public NavigationPathQueryParameters3D.PathMetadataFlags MetadataFlags { get; set; }

Additional information to include with the navigation path.

NavigationLayersProperty
# NavigationLayers
C#
public uint NavigationLayers { get; set; }

The navigation layers the query will use (as a bitmask).

PathPostprocessingProperty
# PathPostprocessing
C#
public NavigationPathQueryParameters3D.PathPostProcessing PathPostprocessing { get; set; }

The path postprocessing applied to the raw path corridor found by the NavigationPathQueryParameters3D.PathfindingAlgorithm.

PathReturnMaxLengthProperty
# PathReturnMaxLength
C#
public float PathReturnMaxLength { get; set; }

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.

PathReturnMaxRadiusProperty
# PathReturnMaxRadius
C#
public float PathReturnMaxRadius { get; set; }

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 sphere shaped clip operation on the path with the first path position being the sphere's center position.

PathSearchMaxDistanceProperty
# PathSearchMaxDistance
C#
public float PathSearchMaxDistance { get; set; }

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.

PathSearchMaxPolygonsProperty
# PathSearchMaxPolygons
C#
public int PathSearchMaxPolygons { get; set; }

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.

PathfindingAlgorithmProperty
# PathfindingAlgorithm
C#
public NavigationPathQueryParameters3D.PathfindingAlgorithmEnum PathfindingAlgorithm { get; set; }

The pathfinding algorithm used in the path query.

SimplifyEpsilonProperty
# SimplifyEpsilon
C#
public float SimplifyEpsilon { get; set; }

The path simplification amount in world units.

SimplifyPathProperty
# SimplifyPath
C#
public bool SimplifyPath { get; set; }

If true a simplified version of the path will be returned with less critical path points removed. The simplification amount is controlled by NavigationPathQueryParameters3D.SimplifyEpsilon. 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".

StartPositionProperty
# StartPosition
C#
public Vector3 StartPosition { get; set; }

The pathfinding start position in global coordinates.

TargetPositionProperty
# TargetPosition
C#
public Vector3 TargetPosition { get; set; }

The pathfinding target position in global coordinates.

Methods30

GetExcludedRegionsReckfell.Collections.Array<Rid>
# GetExcludedRegions
C#
public Reckfell.Collections.Array<Rid> GetExcludedRegions();
Returns Reckfell.Collections.Array<Rid>
GetIncludedRegionsReckfell.Collections.Array<Rid>
# GetIncludedRegions
C#
public Reckfell.Collections.Array<Rid> GetIncludedRegions();
Returns Reckfell.Collections.Array<Rid>
GetMapRid
# GetMap
C#
public Rid GetMap();
Returns Rid
GetMetadataFlagsNavigationPathQueryParameters3D.PathMetadataFlags
# GetMetadataFlags
C#
public NavigationPathQueryParameters3D.PathMetadataFlags GetMetadataFlags();
Returns NavigationPathQueryParameters3D.PathMetadataFlags
GetNavigationLayersuint
# GetNavigationLayers
C#
public uint GetNavigationLayers();
Returns uint
GetPathPostprocessingNavigationPathQueryParameters3D.PathPostProcessing
# GetPathPostprocessing
C#
public NavigationPathQueryParameters3D.PathPostProcessing GetPathPostprocessing();
Returns NavigationPathQueryParameters3D.PathPostProcessing
GetPathReturnMaxLengthfloat
# GetPathReturnMaxLength
C#
public float GetPathReturnMaxLength();
Returns float
GetPathReturnMaxRadiusfloat
# GetPathReturnMaxRadius
C#
public float GetPathReturnMaxRadius();
Returns float
GetPathSearchMaxDistancefloat
# GetPathSearchMaxDistance
C#
public float GetPathSearchMaxDistance();
Returns float
GetPathSearchMaxPolygonsint
# GetPathSearchMaxPolygons
C#
public int GetPathSearchMaxPolygons();
Returns int
GetPathfindingAlgorithmNavigationPathQueryParameters3D.PathfindingAlgorithmEnum
# GetPathfindingAlgorithm
C#
public NavigationPathQueryParameters3D.PathfindingAlgorithmEnum GetPathfindingAlgorithm();
Returns NavigationPathQueryParameters3D.PathfindingAlgorithmEnum
GetSimplifyEpsilonfloat
# GetSimplifyEpsilon
C#
public float GetSimplifyEpsilon();
Returns float
GetSimplifyPathbool
# GetSimplifyPath
C#
public bool GetSimplifyPath();
Returns bool
GetStartPositionVector3
# GetStartPosition
C#
public Vector3 GetStartPosition();
Returns Vector3
GetTargetPositionVector3
# GetTargetPosition
C#
public Vector3 GetTargetPosition();
Returns Vector3
SetExcludedRegionsvoid
# SetExcludedRegions
C#
public void SetExcludedRegions(Reckfell.Collections.Array<Rid> regions);
Parameters
NameTypeDefault
regionsReckfell.Collections.Array<Rid>—
SetIncludedRegionsvoid
# SetIncludedRegions
C#
public void SetIncludedRegions(Reckfell.Collections.Array<Rid> regions);
Parameters
NameTypeDefault
regionsReckfell.Collections.Array<Rid>—
SetMapvoid
# SetMap
C#
public void SetMap(Rid map);
Parameters
NameTypeDefault
mapRid—
SetMetadataFlagsvoid
# SetMetadataFlags
C#
public void SetMetadataFlags(NavigationPathQueryParameters3D.PathMetadataFlags flags);
Parameters
NameTypeDefault
flagsNavigationPathQueryParameters3D.PathMetadataFlags—
SetNavigationLayersvoid
# SetNavigationLayers
C#
public void SetNavigationLayers(uint navigationLayers);
Parameters
NameTypeDefault
navigationLayersuint—
SetPathPostprocessingvoid
# SetPathPostprocessing
C#
public void SetPathPostprocessing(NavigationPathQueryParameters3D.PathPostProcessing pathPostprocessing);
Parameters
NameTypeDefault
pathPostprocessingNavigationPathQueryParameters3D.PathPostProcessing—
SetPathReturnMaxLengthvoid
# SetPathReturnMaxLength
C#
public void SetPathReturnMaxLength(float length);
Parameters
NameTypeDefault
lengthfloat—
SetPathReturnMaxRadiusvoid
# SetPathReturnMaxRadius
C#
public void SetPathReturnMaxRadius(float radius);
Parameters
NameTypeDefault
radiusfloat—
SetPathSearchMaxDistancevoid
# SetPathSearchMaxDistance
C#
public void SetPathSearchMaxDistance(float distance);
Parameters
NameTypeDefault
distancefloat—
SetPathSearchMaxPolygonsvoid
# SetPathSearchMaxPolygons
C#
public void SetPathSearchMaxPolygons(int maxPolygons);
Parameters
NameTypeDefault
maxPolygonsint—
SetPathfindingAlgorithmvoid
# SetPathfindingAlgorithm
C#
public void SetPathfindingAlgorithm(NavigationPathQueryParameters3D.PathfindingAlgorithmEnum pathfindingAlgorithm);
Parameters
NameTypeDefault
pathfindingAlgorithmNavigationPathQueryParameters3D.PathfindingAlgorithmEnum—
SetSimplifyEpsilonvoid
# SetSimplifyEpsilon
C#
public void SetSimplifyEpsilon(float epsilon);
Parameters
NameTypeDefault
epsilonfloat—
SetSimplifyPathvoid
# SetSimplifyPath
C#
public void SetSimplifyPath(bool enabled);
Parameters
NameTypeDefault
enabledbool—
SetStartPositionvoid
# SetStartPosition
C#
public void SetStartPosition(Vector3 startPosition);
Parameters
NameTypeDefault
startPositionVector3—
SetTargetPositionvoid
# SetTargetPosition
C#
public void SetTargetPosition(Vector3 targetPosition);
Parameters
NameTypeDefault
targetPositionVector3—

NavigationPathQueryParameters3D.PathMetadataFlags

ValueDescription
All = 7

Include all available metadata about the returned path.

None = 0

Don't include any additional metadata about the returned path.

Owners = 4

Include the ObjectIDs of the ReckfellObjects which manage the regions and links each point of the path goes through.

Rids = 2

Include the Rids of the regions and links that each point of the path goes through.

Types = 1

Include the type of navigation primitive (region or link) that each point of the path goes through.

NavigationPathQueryParameters3D.PathPostProcessing

ValueDescription
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.

Edgecentered = 1

Centers every position in the middle of the traveled navigation mesh's polygon edge. This creates better paths for tile- or grid-based layouts that restrict the movement to the cells' centers.

None = 2

Applies no postprocessing and returns the raw path corridor as found by the pathfinding algorithm.

NavigationPathQueryParameters3D.PathfindingAlgorithmEnum

ValueDescription
Astar = 0

The path query uses the default A* pathfinding algorithm.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.