reckfellENGINE

NavigationPathQueryParameters3D

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

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

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

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

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

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

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

Свойства15

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

Список Rid регионов, которые будут исключены из запроса пути. Используйте NavigationRegion3D.GetRid, чтобы получить Rid, связанный с узлом NavigationRegion3D. Примечание: Возвращаемый массив копируется, и любые изменения в нем не обновят исходное значение свойства. Чтобы обновить значение, вам нужно изменить возвращаемый массив, а затем снова задать его для свойства.

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

Список Rid регионов, которые будут включены в запрос пути. Используйте NavigationRegion3D.GetRid, чтобы получить Rid, связанный с узлом NavigationRegion3D. Если оставить пустым, будут включены все регионы. Если регион окажется и включенным, и исключенным одновременно, он будет исключен. Примечание: Возвращаемый массив копируется, и любые изменения в нем не обновят исходное значение свойства. Чтобы обновить значение, вам необходимо изменить возвращаемый массив, а затем снова задать его для свойства.

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

Навигационная карта Rid, используемая в запросе пути.

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

Дополнительная информация для включения в навигационный путь.

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

Слои навигации, которые будет использовать запрос (в виде битовой маски).

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

Постобработка пути, примененная к необработанному коридору пути, найденному NavigationPathQueryParameters3D.PathfindingAlgorithm.

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 NavigationPathQueryParameters3D.PathfindingAlgorithmEnum PathfindingAlgorithm { get; set; }

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

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

Упрощение пути в мировых единицах.

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

Если true, будет возвращена упрощенная версия пути с удаленными менее критическими точками пути. Степень упрощения контролируется NavigationPathQueryParameters3D.SimplifyEpsilon. Упрощение использует вариант алгоритма Ramer-Douglas-Peucker для прореживания точек кривой. Упрощение пути может быть полезно для смягчения различных проблем следования по пути, которые могут возникнуть с определенными типами агентов и поведением сценария. Например, «рулевое управление» или избегание в «открытых полях».

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

Начальная позиция поиска пути в глобальных координатах.

TargetPositionСвойство
# TargetPosition
C#
public Vector3 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
GetMetadataFlagsNavigationPathQueryParameters3D.PathMetadataFlags
# GetMetadataFlags
C#
public NavigationPathQueryParameters3D.PathMetadataFlags GetMetadataFlags();
Возвращает NavigationPathQueryParameters3D.PathMetadataFlags
GetNavigationLayersuint
# GetNavigationLayers
C#
public uint GetNavigationLayers();
Возвращает uint
GetPathPostprocessingNavigationPathQueryParameters3D.PathPostProcessing
# GetPathPostprocessing
C#
public NavigationPathQueryParameters3D.PathPostProcessing GetPathPostprocessing();
Возвращает NavigationPathQueryParameters3D.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
GetPathfindingAlgorithmNavigationPathQueryParameters3D.PathfindingAlgorithmEnum
# GetPathfindingAlgorithm
C#
public NavigationPathQueryParameters3D.PathfindingAlgorithmEnum GetPathfindingAlgorithm();
Возвращает NavigationPathQueryParameters3D.PathfindingAlgorithmEnum
GetSimplifyEpsilonfloat
# GetSimplifyEpsilon
C#
public float GetSimplifyEpsilon();
Возвращает float
GetSimplifyPathbool
# GetSimplifyPath
C#
public bool GetSimplifyPath();
Возвращает bool
GetStartPositionVector3
# GetStartPosition
C#
public Vector3 GetStartPosition();
Возвращает Vector3
GetTargetPositionVector3
# GetTargetPosition
C#
public Vector3 GetTargetPosition();
Возвращает Vector3
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(NavigationPathQueryParameters3D.PathMetadataFlags flags);
Параметры
ИмяТипПо умолчанию
flagsNavigationPathQueryParameters3D.PathMetadataFlags—
SetNavigationLayersvoid
# SetNavigationLayers
C#
public void SetNavigationLayers(uint navigationLayers);
Параметры
ИмяТипПо умолчанию
navigationLayersuint—
SetPathPostprocessingvoid
# SetPathPostprocessing
C#
public void SetPathPostprocessing(NavigationPathQueryParameters3D.PathPostProcessing pathPostprocessing);
Параметры
ИмяТипПо умолчанию
pathPostprocessingNavigationPathQueryParameters3D.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(NavigationPathQueryParameters3D.PathfindingAlgorithmEnum pathfindingAlgorithm);
Параметры
ИмяТипПо умолчанию
pathfindingAlgorithmNavigationPathQueryParameters3D.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(Vector3 startPosition);
Параметры
ИмяТипПо умолчанию
startPositionVector3—
SetTargetPositionvoid
# SetTargetPosition
C#
public void SetTargetPosition(Vector3 targetPosition);
Параметры
ИмяТипПо умолчанию
targetPositionVector3—

NavigationPathQueryParameters3D.PathMetadataFlags

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

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

None = 0

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

Owners = 4

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

Rids = 2

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

Types = 1

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

NavigationPathQueryParameters3D.PathPostProcessing

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

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

Edgecentered = 1

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

None = 2

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

NavigationPathQueryParameters3D.PathfindingAlgorithmEnum

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

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

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

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

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

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