reckfellENGINE

NavigationPathQueryParameters2D

Предоставляет параметры для запросов пути 2D-навигации.

На этой странице
class NavigationPathQueryParameters2DReckfellSharpНаследует RefCounted

Предоставляет параметры для запросов пути 2D-навигации.

Изменяя различные свойства этого объекта, такие как начальная и целевая позиция, вы можете настроить запросы пути к NavigationServer2D.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

NavigationPathQueryParameters2DКонструктор
# NavigationPathQueryParameters2D
C#
public NavigationPathQueryParameters2D();

Свойства15

ExcludedRegionsСвойство
# ExcludedRegions
C#
public Reckfell.Collections.Array<Rid> ExcludedRegions { get; set; }

RID регионов, исключаемых из запроса. Регион, одновременно включённый и исключённый, не используется. Фильтр остаётся в объекте параметров до изменения или очистки.

IncludedRegionsСвойство
# IncludedRegions
C#
public Reckfell.Collections.Array<Rid> IncludedRegions { get; set; }

Непустой список допускает только перечисленные регионы; ExcludedRegions имеет приоритет. Ограничение установленной 1.0.0: такой список блокирует проверенный путь через NavigationLink даже при включении обоих его регионов. Для этого случая оставьте список пустым и проверьте ограничение доступа слоями.

MapСвойство
# Map
C#
public Rid Map { get; set; }

RID живой навигационной карты для запроса. Новая карта должна быть опубликована сервером до запроса; ненулевой iteration ID не гарантирует, что последние изменения уже синхронизированы. Не используйте освобождённый RID.

MetadataFlagsСвойство
# MetadataFlags
C#
public NavigationPathQueryParameters2D.PathMetadataFlags MetadataFlags { get; set; }

Выбирает метаданные точек: типы, RID и ID владельцев. По умолчанию All; None отключает их сбор. Читайте соответствующий массив только при включённом флаге; проверенный повторный запрос с None очищает прежние массивы метаданных.

NavigationLayersСвойство
# NavigationLayers
C#
public uint NavigationLayers { get; set; }

Беззнаковая 32-битная маска допустимых навигационных слоёв. Слой N — бит 1u << (N - 1), N от 1 до 32. Регион допускается при ненулевом пересечении масок; 0 не допускает ни одного региона. Маска не задаёт физические коллизии или размер агента.

PathPostprocessingСвойство
# PathPostprocessing
C#
public NavigationPathQueryParameters2D.PathPostProcessing PathPostprocessing { get; set; }

Обработка найденного коридора: Corridorfunnel сокращает путь внутри него, Edgecentered использует середины пересекаемых рёбер, None оставляет исходный вариант. Не выбирает другой глобально кратчайший коридор.

PathReturnMaxLengthСвойство
# PathReturnMaxLength
C#
public float PathReturnMaxLength { get; set; }

Обрезает возвращаемый путь до заданной длины после поиска; 0 отключает предел. Обрезанный путь может не достигать цели. Это ограничение результата, а не бюджета поиска.

PathReturnMaxRadiusСвойство
# PathReturnMaxRadius
C#
public float PathReturnMaxRadius { get; set; }

Обрезает результат по радиусу вокруг старта; 0 отключает предел. Конечная точка может намеренно остаться до цели. Не заменяет ограничение длины маршрута вдоль поворотов.

PathSearchMaxDistanceСвойство
# PathSearchMaxDistance
C#
public float PathSearchMaxDistance { get; set; }

Максимальное расстояние, на которое может отдалиться искомый полигон от начального полигона, прежде чем поиск пути отменит поиск пути к целевому полигону (возможно, недостижимому или очень удалённому). В этом случае поиск пути сбрасывается и строит путь от начального полигона до полигона, который был найден ближайшим к целевой позиции. Значение 0 или ниже считается неограниченным. В случае неограниченного значения поиск пути будет искать все полигоны, соединённые с начальным полигоном, пока не будет найден целевой полигон или пока не будут исчерпаны все доступные варианты поиска полигонов.

PathSearchMaxPolygonsСвойство
# PathSearchMaxPolygons
C#
public int PathSearchMaxPolygons { get; set; }

Максимальное количество полигонов, которые будут просмотрены до того, как поиск пути отменит поиск пути к целевому полигону (возможно, недостижимому или очень удалённому). В этом случае поиск пути сбрасывается и строит путь от начального полигона до полигона, который был найден ближайшим к целевой позиции. Значение 0 или меньше считается неограниченным. В случае неограниченного поиска пути поиск пути будет искать все полигоны, соединённые с начальным полигоном, пока не будет найден целевой полигон или пока не будут исчерпаны все доступные варианты поиска полигонов.

PathfindingAlgorithmСвойство
# PathfindingAlgorithm
C#
public NavigationPathQueryParameters2D.PathfindingAlgorithmEnum PathfindingAlgorithm { get; set; }

Алгоритм поиска пути, используемый в запросе пути.

SimplifyEpsilonСвойство
# SimplifyEpsilon
C#
public float SimplifyEpsilon { get; set; }

Допуск упрощения при включённом SimplifyPath, в единицах координат карты. Не является допустимым расстоянием до игровой цели.

SimplifyPathСвойство
# SimplifyPath
C#
public bool SimplifyPath { get; set; }

Включает дополнительное упрощение пути с SimplifyEpsilon. Проверяйте удаляемые точки на своей геометрии; сохранение концов простого проверочного пути не доказывает качество на сложном уровне.

StartPositionСвойство
# StartPosition
C#
public Vector2 StartPosition { get; set; }

Старт в глобальных координатах навигационной карты. Запрос может спроецировать его на доступный полигон: проверяйте первую возвращённую точку, если старт должен оставаться исходным.

TargetPositionСвойство
# TargetPosition
C#
public Vector2 TargetPosition { get; set; }

Цель в глобальных координатах карты. Непустой результат может закончиться на ближайшей доступной границе вместо цели; сравнивайте последнюю точку с целью с допуском игры.

Методы30

GetExcludedRegionsReckfell.Collections.Array<Rid>
# GetExcludedRegions
C#
public Reckfell.Collections.Array<Rid> GetExcludedRegions();
Возвращает Reckfell.Collections.Array<Rid>
GetIncludedRegionsReckfell.Collections.Array<Rid>
# GetIncludedRegions
C#
public Reckfell.Collections.Array<Rid> GetIncludedRegions();
Возвращает Reckfell.Collections.Array<Rid>
GetMapRid
# GetMap
C#
public Rid GetMap();
Возвращает Rid
GetMetadataFlagsNavigationPathQueryParameters2D.PathMetadataFlags
# GetMetadataFlags
C#
public NavigationPathQueryParameters2D.PathMetadataFlags GetMetadataFlags();
Возвращает NavigationPathQueryParameters2D.PathMetadataFlags
GetNavigationLayersuint
# GetNavigationLayers
C#
public uint GetNavigationLayers();
Возвращает uint
GetPathPostprocessingNavigationPathQueryParameters2D.PathPostProcessing
# GetPathPostprocessing
C#
public NavigationPathQueryParameters2D.PathPostProcessing GetPathPostprocessing();
Возвращает NavigationPathQueryParameters2D.PathPostProcessing
GetPathReturnMaxLengthfloat
# GetPathReturnMaxLength
C#
public float GetPathReturnMaxLength();
Возвращает float
GetPathReturnMaxRadiusfloat
# GetPathReturnMaxRadius
C#
public float GetPathReturnMaxRadius();
Возвращает float
GetPathSearchMaxDistancefloat
# GetPathSearchMaxDistance
C#
public float GetPathSearchMaxDistance();
Возвращает float
GetPathSearchMaxPolygonsint
# GetPathSearchMaxPolygons
C#
public int GetPathSearchMaxPolygons();
Возвращает int
GetPathfindingAlgorithmNavigationPathQueryParameters2D.PathfindingAlgorithmEnum
# GetPathfindingAlgorithm
C#
public NavigationPathQueryParameters2D.PathfindingAlgorithmEnum GetPathfindingAlgorithm();
Возвращает NavigationPathQueryParameters2D.PathfindingAlgorithmEnum
GetSimplifyEpsilonfloat
# GetSimplifyEpsilon
C#
public float GetSimplifyEpsilon();
Возвращает float
GetSimplifyPathbool
# GetSimplifyPath
C#
public bool GetSimplifyPath();
Возвращает bool
GetStartPositionVector2
# GetStartPosition
C#
public Vector2 GetStartPosition();
Возвращает Vector2
GetTargetPositionVector2
# GetTargetPosition
C#
public Vector2 GetTargetPosition();
Возвращает Vector2
SetExcludedRegionsvoid
# SetExcludedRegions
C#
public void SetExcludedRegions(Reckfell.Collections.Array<Rid> regions);
Параметры
ИмяТипПо умолчанию
regionsReckfell.Collections.Array<Rid>—
SetIncludedRegionsvoid
# SetIncludedRegions
C#
public void SetIncludedRegions(Reckfell.Collections.Array<Rid> regions);
Параметры
ИмяТипПо умолчанию
regionsReckfell.Collections.Array<Rid>—
SetMapvoid
# SetMap
C#
public void SetMap(Rid map);
Параметры
ИмяТипПо умолчанию
mapRid—
SetMetadataFlagsvoid
# SetMetadataFlags
C#
public void SetMetadataFlags(NavigationPathQueryParameters2D.PathMetadataFlags flags);
Параметры
ИмяТипПо умолчанию
flagsNavigationPathQueryParameters2D.PathMetadataFlags—
SetNavigationLayersvoid
# SetNavigationLayers
C#
public void SetNavigationLayers(uint navigationLayers);
Параметры
ИмяТипПо умолчанию
navigationLayersuint—
SetPathPostprocessingvoid
# SetPathPostprocessing
C#
public void SetPathPostprocessing(NavigationPathQueryParameters2D.PathPostProcessing pathPostprocessing);
Параметры
ИмяТипПо умолчанию
pathPostprocessingNavigationPathQueryParameters2D.PathPostProcessing—
SetPathReturnMaxLengthvoid
# SetPathReturnMaxLength
C#
public void SetPathReturnMaxLength(float length);
Параметры
ИмяТипПо умолчанию
lengthfloat—
SetPathReturnMaxRadiusvoid
# SetPathReturnMaxRadius
C#
public void SetPathReturnMaxRadius(float radius);
Параметры
ИмяТипПо умолчанию
radiusfloat—
SetPathSearchMaxDistancevoid
# SetPathSearchMaxDistance
C#
public void SetPathSearchMaxDistance(float distance);
Параметры
ИмяТипПо умолчанию
distancefloat—
SetPathSearchMaxPolygonsvoid
# SetPathSearchMaxPolygons
C#
public void SetPathSearchMaxPolygons(int maxPolygons);
Параметры
ИмяТипПо умолчанию
maxPolygonsint—
SetPathfindingAlgorithmvoid
# SetPathfindingAlgorithm
C#
public void SetPathfindingAlgorithm(NavigationPathQueryParameters2D.PathfindingAlgorithmEnum pathfindingAlgorithm);
Параметры
ИмяТипПо умолчанию
pathfindingAlgorithmNavigationPathQueryParameters2D.PathfindingAlgorithmEnum—
SetSimplifyEpsilonvoid
# SetSimplifyEpsilon
C#
public void SetSimplifyEpsilon(float epsilon);
Параметры
ИмяТипПо умолчанию
epsilonfloat—
SetSimplifyPathvoid
# SetSimplifyPath
C#
public void SetSimplifyPath(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetStartPositionvoid
# SetStartPosition
C#
public void SetStartPosition(Vector2 startPosition);
Параметры
ИмяТипПо умолчанию
startPositionVector2—
SetTargetPositionvoid
# SetTargetPosition
C#
public void SetTargetPosition(Vector2 targetPosition);
Параметры
ИмяТипПо умолчанию
targetPositionVector2—

NavigationPathQueryParameters2D.PathMetadataFlags

ЗначениеОписание
All = 7

Включите все доступные метаданные о возвращаемом пути.

None = 0

Не включайте никаких дополнительных метаданных о возвращаемом пути.

Owners = 4

Включите ObjectID ReckfellObject, которые управляют областями и связями, через которые проходит каждая точка пути.

Rids = 2

Включите Rid регионов и ссылок, через которые проходит каждая точка пути.

Types = 1

Укажите тип навигационного примитива (регион или ссылка), через который проходит каждая точка пути.

NavigationPathQueryParameters2D.PathPostProcessing

ЗначениеОписание
Corridorfunnel = 0

Применяет алгоритм funnel к сырому коридору пути, найденному алгоритмом поиска пути. Это даст кратчайший возможный путь внутри коридора. Данная постобработка сильно зависит от структуры полигонов навигационной сетки и созданного коридора. Особенно в тайловых или сеточных разбиениях могут возникать искусственные углы при диагональном перемещении из-за неровного коридора пути, обусловленного формами ячеек.

Edgecentered = 1

Центрирует все точки посередине кромки многоугольника путешествующей навигационной сетки. Это создает лучшие пути для планировки на основе плитки или сетки, которые ограничивают движение в центрах клеток.

None = 2

Не применяет постобработку и возвращает необработанный коридор пути, найденный алгоритмом поиска пути.

NavigationPathQueryParameters2D.PathfindingAlgorithmEnum

ЗначениеОписание
Astar = 0

Запрос пути использует алгоритм поиска пути A* по умолчанию.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.