NavigationPathQueryParameters3D
Предоставляет параметры для запросов пути 3D-навигации.
Предоставляет параметры для запросов пути 3D-навигации.
Изменяя различные свойства этого объекта, такие как начальная и конечная позиция, вы можете настроить запросы пути к NavigationServer3D.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
NavigationPathQueryParameters3DКонструктор
public NavigationPathQueryParameters3D();Свойства15
ExcludedRegionsСвойство
public Reckfell.Collections.Array<Rid> ExcludedRegions { get; set; }Список Rid регионов, которые будут исключены из запроса пути. Используйте NavigationRegion3D.GetRid, чтобы получить Rid, связанный с узлом NavigationRegion3D.
Примечание: Возвращаемый массив копируется, и любые изменения в нем не обновят исходное значение свойства. Чтобы обновить значение, вам нужно изменить возвращаемый массив, а затем снова задать его для свойства.
IncludedRegionsСвойство
public Reckfell.Collections.Array<Rid> IncludedRegions { get; set; }Список Rid регионов, которые будут включены в запрос пути. Используйте NavigationRegion3D.GetRid, чтобы получить Rid, связанный с узлом NavigationRegion3D. Если оставить пустым, будут включены все регионы. Если регион окажется и включенным, и исключенным одновременно, он будет исключен.
Примечание: Возвращаемый массив копируется, и любые изменения в нем не обновят исходное значение свойства. Чтобы обновить значение, вам необходимо изменить возвращаемый массив, а затем снова задать его для свойства.
MetadataFlagsСвойство
public NavigationPathQueryParameters3D.PathMetadataFlags MetadataFlags { get; set; }Дополнительная информация для включения в навигационный путь.
NavigationLayersСвойство
public uint NavigationLayers { get; set; }Слои навигации, которые будет использовать запрос (в виде битовой маски).
PathPostprocessingСвойство
public NavigationPathQueryParameters3D.PathPostProcessing PathPostprocessing { get; set; }Постобработка пути, примененная к необработанному коридору пути, найденному NavigationPathQueryParameters3D.PathfindingAlgorithm.
PathReturnMaxLengthСвойство
public float PathReturnMaxLength { get; set; }Максимально допустимая длина возвращаемого пути в мировых единицах. При превышении этой длины путь будет обрезан. Значение 0 или ниже считается отключенным.
PathReturnMaxRadiusСвойство
public float PathReturnMaxRadius { get; set; }Максимально допустимый радиус возвращаемого пути от начала пути (в мировых единицах). При превышении этого радиуса путь будет обрезан. Значение 0 или ниже считается отключенным.
Примечание: При этом будет выполнена операция обрезания пути по форме сферы, при этом первая точка пути будет соответствовать центру сферы.
PathSearchMaxDistanceСвойство
public float PathSearchMaxDistance { get; set; }Максимальное расстояние, на которое может отдалиться искомый полигон от начального полигона, прежде чем поиск пути отменит поиск пути к целевому полигону (возможно, недостижимому или очень удалённому). В этом случае поиск пути сбрасывается и строит путь от начального полигона до полигона, который был найден ближайшим к целевой позиции. Значение 0 или ниже считается неограниченным. В случае неограниченного значения поиск пути будет искать все полигоны, соединённые с начальным полигоном, пока не будет найден целевой полигон или пока не будут исчерпаны все доступные варианты поиска полигонов.
PathSearchMaxPolygonsСвойство
public int PathSearchMaxPolygons { get; set; }Максимальное количество полигонов, которые будут просмотрены до того, как поиск пути отменит поиск пути к целевому полигону (возможно, недостижимому или очень удалённому). В этом случае поиск пути сбрасывается и строит путь от начального полигона до полигона, который был найден ближайшим к целевой позиции. Значение 0 или меньше считается неограниченным. В случае неограниченного поиска пути поиск пути будет искать все полигоны, соединённые с начальным полигоном, пока не будет найден целевой полигон или пока не будут исчерпаны все доступные варианты поиска полигонов.
PathfindingAlgorithmСвойство
public NavigationPathQueryParameters3D.PathfindingAlgorithmEnum PathfindingAlgorithm { get; set; }Алгоритм поиска пути, используемый в запросе пути.
SimplifyEpsilonСвойство
public float SimplifyEpsilon { get; set; }Упрощение пути в мировых единицах.
SimplifyPathСвойство
public bool SimplifyPath { get; set; }Если true, будет возвращена упрощенная версия пути с удаленными менее критическими точками пути. Степень упрощения контролируется NavigationPathQueryParameters3D.SimplifyEpsilon. Упрощение использует вариант алгоритма Ramer-Douglas-Peucker для прореживания точек кривой.
Упрощение пути может быть полезно для смягчения различных проблем следования по пути, которые могут возникнуть с определенными типами агентов и поведением сценария. Например, «рулевое управление» или избегание в «открытых полях».
StartPositionСвойство
public Vector3 StartPosition { get; set; }Начальная позиция поиска пути в глобальных координатах.
TargetPositionСвойство
public Vector3 TargetPosition { get; set; }Положение цели поиска пути в глобальных координатах.
Методы30
GetExcludedRegionsReckfell.Collections.Array<Rid>
public Reckfell.Collections.Array<Rid> GetExcludedRegions();Reckfell.Collections.Array<Rid>GetIncludedRegionsReckfell.Collections.Array<Rid>
public Reckfell.Collections.Array<Rid> GetIncludedRegions();Reckfell.Collections.Array<Rid>GetMapRid
public Rid GetMap();RidGetMetadataFlagsNavigationPathQueryParameters3D.PathMetadataFlags
public NavigationPathQueryParameters3D.PathMetadataFlags GetMetadataFlags();NavigationPathQueryParameters3D.PathMetadataFlagsGetNavigationLayersuint
public uint GetNavigationLayers();uintGetPathPostprocessingNavigationPathQueryParameters3D.PathPostProcessing
public NavigationPathQueryParameters3D.PathPostProcessing GetPathPostprocessing();NavigationPathQueryParameters3D.PathPostProcessingGetPathReturnMaxLengthfloat
public float GetPathReturnMaxLength();floatGetPathReturnMaxRadiusfloat
public float GetPathReturnMaxRadius();floatGetPathSearchMaxDistancefloat
public float GetPathSearchMaxDistance();floatGetPathSearchMaxPolygonsint
public int GetPathSearchMaxPolygons();intGetPathfindingAlgorithmNavigationPathQueryParameters3D.PathfindingAlgorithmEnum
public NavigationPathQueryParameters3D.PathfindingAlgorithmEnum GetPathfindingAlgorithm();NavigationPathQueryParameters3D.PathfindingAlgorithmEnumGetSimplifyEpsilonfloat
public float GetSimplifyEpsilon();floatGetSimplifyPathbool
public bool GetSimplifyPath();boolGetStartPositionVector3
public Vector3 GetStartPosition();Vector3GetTargetPositionVector3
public Vector3 GetTargetPosition();Vector3SetExcludedRegionsvoid
public void SetExcludedRegions(Reckfell.Collections.Array<Rid> regions);| Имя | Тип | По умолчанию |
|---|---|---|
regions | Reckfell.Collections.Array<Rid> | — |
SetIncludedRegionsvoid
public void SetIncludedRegions(Reckfell.Collections.Array<Rid> regions);| Имя | Тип | По умолчанию |
|---|---|---|
regions | Reckfell.Collections.Array<Rid> | — |
SetMapvoid
public void SetMap(Rid map);| Имя | Тип | По умолчанию |
|---|---|---|
map | Rid | — |
SetMetadataFlagsvoid
public void SetMetadataFlags(NavigationPathQueryParameters3D.PathMetadataFlags flags);| Имя | Тип | По умолчанию |
|---|---|---|
flags | NavigationPathQueryParameters3D.PathMetadataFlags | — |
SetNavigationLayersvoid
public void SetNavigationLayers(uint navigationLayers);| Имя | Тип | По умолчанию |
|---|---|---|
navigationLayers | uint | — |
SetPathPostprocessingvoid
public void SetPathPostprocessing(NavigationPathQueryParameters3D.PathPostProcessing pathPostprocessing);| Имя | Тип | По умолчанию |
|---|---|---|
pathPostprocessing | NavigationPathQueryParameters3D.PathPostProcessing | — |
SetPathReturnMaxLengthvoid
public void SetPathReturnMaxLength(float length);| Имя | Тип | По умолчанию |
|---|---|---|
length | float | — |
SetPathReturnMaxRadiusvoid
public void SetPathReturnMaxRadius(float radius);| Имя | Тип | По умолчанию |
|---|---|---|
radius | float | — |
SetPathSearchMaxDistancevoid
public void SetPathSearchMaxDistance(float distance);| Имя | Тип | По умолчанию |
|---|---|---|
distance | float | — |
SetPathSearchMaxPolygonsvoid
public void SetPathSearchMaxPolygons(int maxPolygons);| Имя | Тип | По умолчанию |
|---|---|---|
maxPolygons | int | — |
SetPathfindingAlgorithmvoid
public void SetPathfindingAlgorithm(NavigationPathQueryParameters3D.PathfindingAlgorithmEnum pathfindingAlgorithm);| Имя | Тип | По умолчанию |
|---|---|---|
pathfindingAlgorithm | NavigationPathQueryParameters3D.PathfindingAlgorithmEnum | — |
SetSimplifyEpsilonvoid
public void SetSimplifyEpsilon(float epsilon);| Имя | Тип | По умолчанию |
|---|---|---|
epsilon | float | — |
SetSimplifyPathvoid
public void SetSimplifyPath(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetStartPositionvoid
public void SetStartPosition(Vector3 startPosition);| Имя | Тип | По умолчанию |
|---|---|---|
startPosition | Vector3 | — |
SetTargetPositionvoid
public void SetTargetPosition(Vector3 targetPosition);| Имя | Тип | По умолчанию |
|---|---|---|
targetPosition | Vector3 | — |
NavigationPathQueryParameters3D.PathMetadataFlags
| Значение | Описание |
|---|---|
All = 7 | Включите все доступные метаданные о возвращаемом пути. |
None = 0 | Не включайте никаких дополнительных метаданных о возвращаемом пути. |
Owners = 4 | Включите |
Rids = 2 | Включите |
Types = 1 | Укажите тип навигационного примитива (регион или ссылка), через который проходит каждая точка пути. |
NavigationPathQueryParameters3D.PathPostProcessing
| Значение | Описание |
|---|---|
Corridorfunnel = 0 | Применяет алгоритм funnel к сырому коридору пути, найденному алгоритмом поиска пути. Это даст кратчайший возможный путь внутри коридора. Данная постобработка сильно зависит от структуры полигонов навигационной сетки и созданного коридора. Особенно в тайловых или сеточных разбиениях могут возникать искусственные углы при диагональном перемещении из-за неровного коридора пути, обусловленного формами ячеек. |
Edgecentered = 1 | Центрирует все точки посередине кромки многоугольника путешествующей навигационной сетки. Это создает лучшие пути для планировки на основе плитки или сетки, которые ограничивают движение в центрах клеток. |
None = 2 | Не применяет постобработку и возвращает необработанный коридор пути, найденный алгоритмом поиска пути. |
NavigationPathQueryParameters3D.PathfindingAlgorithmEnum
| Значение | Описание |
|---|---|
Astar = 0 | Запрос пути использует алгоритм поиска пути A* по умолчанию. |