NavigationPathQueryParameters2D
Предоставляет параметры для запросов пути 2D-навигации.
Предоставляет параметры для запросов пути 2D-навигации.
Изменяя различные свойства этого объекта, такие как начальная и целевая позиция, вы можете настроить запросы пути к NavigationServer2D.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
NavigationPathQueryParameters2DКонструктор
public NavigationPathQueryParameters2D();Свойства15
ExcludedRegionsСвойство
public Reckfell.Collections.Array<Rid> ExcludedRegions { get; set; }RID регионов, исключаемых из запроса. Регион, одновременно включённый и исключённый, не используется. Фильтр остаётся в объекте параметров до изменения или очистки.
IncludedRegionsСвойство
public Reckfell.Collections.Array<Rid> IncludedRegions { get; set; }Непустой список допускает только перечисленные регионы; ExcludedRegions имеет приоритет. Ограничение установленной 1.0.0: такой список блокирует проверенный путь через NavigationLink даже при включении обоих его регионов. Для этого случая оставьте список пустым и проверьте ограничение доступа слоями.
MapСвойство
public Rid Map { get; set; }RID живой навигационной карты для запроса. Новая карта должна быть опубликована сервером до запроса; ненулевой iteration ID не гарантирует, что последние изменения уже синхронизированы. Не используйте освобождённый RID.
MetadataFlagsСвойство
public NavigationPathQueryParameters2D.PathMetadataFlags MetadataFlags { get; set; }Выбирает метаданные точек: типы, RID и ID владельцев. По умолчанию All; None отключает их сбор. Читайте соответствующий массив только при включённом флаге; проверенный повторный запрос с None очищает прежние массивы метаданных.
NavigationLayersСвойство
public uint NavigationLayers { get; set; }Беззнаковая 32-битная маска допустимых навигационных слоёв. Слой N — бит 1u << (N - 1), N от 1 до 32. Регион допускается при ненулевом пересечении масок; 0 не допускает ни одного региона. Маска не задаёт физические коллизии или размер агента.
PathPostprocessingСвойство
public NavigationPathQueryParameters2D.PathPostProcessing PathPostprocessing { get; set; }Обработка найденного коридора: Corridorfunnel сокращает путь внутри него, Edgecentered использует середины пересекаемых рёбер, None оставляет исходный вариант. Не выбирает другой глобально кратчайший коридор.
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 NavigationPathQueryParameters2D.PathfindingAlgorithmEnum PathfindingAlgorithm { get; set; }Алгоритм поиска пути, используемый в запросе пути.
SimplifyEpsilonСвойство
public float SimplifyEpsilon { get; set; }Допуск упрощения при включённом SimplifyPath, в единицах координат карты. Не является допустимым расстоянием до игровой цели.
SimplifyPathСвойство
public bool SimplifyPath { get; set; }Включает дополнительное упрощение пути с SimplifyEpsilon. Проверяйте удаляемые точки на своей геометрии; сохранение концов простого проверочного пути не доказывает качество на сложном уровне.
StartPositionСвойство
public Vector2 StartPosition { get; set; }Старт в глобальных координатах навигационной карты. Запрос может спроецировать его на доступный полигон: проверяйте первую возвращённую точку, если старт должен оставаться исходным.
TargetPositionСвойство
public Vector2 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();RidGetMetadataFlagsNavigationPathQueryParameters2D.PathMetadataFlags
public NavigationPathQueryParameters2D.PathMetadataFlags GetMetadataFlags();NavigationPathQueryParameters2D.PathMetadataFlagsGetNavigationLayersuint
public uint GetNavigationLayers();uintGetPathPostprocessingNavigationPathQueryParameters2D.PathPostProcessing
public NavigationPathQueryParameters2D.PathPostProcessing GetPathPostprocessing();NavigationPathQueryParameters2D.PathPostProcessingGetPathReturnMaxLengthfloat
public float GetPathReturnMaxLength();floatGetPathReturnMaxRadiusfloat
public float GetPathReturnMaxRadius();floatGetPathSearchMaxDistancefloat
public float GetPathSearchMaxDistance();floatGetPathSearchMaxPolygonsint
public int GetPathSearchMaxPolygons();intGetPathfindingAlgorithmNavigationPathQueryParameters2D.PathfindingAlgorithmEnum
public NavigationPathQueryParameters2D.PathfindingAlgorithmEnum GetPathfindingAlgorithm();NavigationPathQueryParameters2D.PathfindingAlgorithmEnumGetSimplifyEpsilonfloat
public float GetSimplifyEpsilon();floatGetSimplifyPathbool
public bool GetSimplifyPath();boolGetStartPositionVector2
public Vector2 GetStartPosition();Vector2GetTargetPositionVector2
public Vector2 GetTargetPosition();Vector2SetExcludedRegionsvoid
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(NavigationPathQueryParameters2D.PathMetadataFlags flags);| Имя | Тип | По умолчанию |
|---|---|---|
flags | NavigationPathQueryParameters2D.PathMetadataFlags | — |
SetNavigationLayersvoid
public void SetNavigationLayers(uint navigationLayers);| Имя | Тип | По умолчанию |
|---|---|---|
navigationLayers | uint | — |
SetPathPostprocessingvoid
public void SetPathPostprocessing(NavigationPathQueryParameters2D.PathPostProcessing pathPostprocessing);| Имя | Тип | По умолчанию |
|---|---|---|
pathPostprocessing | NavigationPathQueryParameters2D.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(NavigationPathQueryParameters2D.PathfindingAlgorithmEnum pathfindingAlgorithm);| Имя | Тип | По умолчанию |
|---|---|---|
pathfindingAlgorithm | NavigationPathQueryParameters2D.PathfindingAlgorithmEnum | — |
SetSimplifyEpsilonvoid
public void SetSimplifyEpsilon(float epsilon);| Имя | Тип | По умолчанию |
|---|---|---|
epsilon | float | — |
SetSimplifyPathvoid
public void SetSimplifyPath(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetStartPositionvoid
public void SetStartPosition(Vector2 startPosition);| Имя | Тип | По умолчанию |
|---|---|---|
startPosition | Vector2 | — |
SetTargetPositionvoid
public void SetTargetPosition(Vector2 targetPosition);| Имя | Тип | По умолчанию |
|---|---|---|
targetPosition | Vector2 | — |
NavigationPathQueryParameters2D.PathMetadataFlags
| Значение | Описание |
|---|---|
All = 7 | Включите все доступные метаданные о возвращаемом пути. |
None = 0 | Не включайте никаких дополнительных метаданных о возвращаемом пути. |
Owners = 4 | Включите |
Rids = 2 | Включите |
Types = 1 | Укажите тип навигационного примитива (регион или ссылка), через который проходит каждая точка пути. |
NavigationPathQueryParameters2D.PathPostProcessing
| Значение | Описание |
|---|---|
Corridorfunnel = 0 | Применяет алгоритм funnel к сырому коридору пути, найденному алгоритмом поиска пути. Это даст кратчайший возможный путь внутри коридора. Данная постобработка сильно зависит от структуры полигонов навигационной сетки и созданного коридора. Особенно в тайловых или сеточных разбиениях могут возникать искусственные углы при диагональном перемещении из-за неровного коридора пути, обусловленного формами ячеек. |
Edgecentered = 1 | Центрирует все точки посередине кромки многоугольника путешествующей навигационной сетки. Это создает лучшие пути для планировки на основе плитки или сетки, которые ограничивают движение в центрах клеток. |
None = 2 | Не применяет постобработку и возвращает необработанный коридор пути, найденный алгоритмом поиска пути. |
NavigationPathQueryParameters2D.PathfindingAlgorithmEnum
| Значение | Описание |
|---|---|
Astar = 0 | Запрос пути использует алгоритм поиска пути A* по умолчанию. |