reckfellENGINE

VoxelAStarGrid3D

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

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

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

Это можно использовать для поиска путей между двумя позициями вокселя на закупоренной местности. Она настроена на 2 вокселя высотой и 1 воксель шириной, которые должны стоять на твердых вокселях и могут перепрыгнуть на 1 воксель высокой. Навмеша не требуется, он использует воксель непосредственно без выпечки, однако радиус поиска ограничен зоной (50 воксел и выше начинают быть относительно дорогими). В данный момент этот патологоанатом считает воксель с ID 0 воздухом, а остальное считается твердым. Примечание: Предполагается, что "позиции" этого класса будут находиться во вокселях. Если ваша местность залегает или если воксели меньше или больше мировых единиц, вам, возможно, придется изменить координаты.

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

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

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

Методы7

DebugGetVisitedPositionsReckfell.Collections.Array<Vector3I>
# DebugGetVisitedPositions
C#
public Reckfell.Collections.Array<Vector3I> DebugGetVisitedPositions();

Получил список позиций вокселя, которые были посещены последней просьбой об установлении путей (относится к тому, как A* работает под капотом). Это для отладки.

Возвращает Reckfell.Collections.Array<Vector3I>
FindPathReckfell.Collections.Array<Vector3I>
# FindPath
C#
public Reckfell.Collections.Array<Vector3I> FindPath(Vector3I fromPosition, Vector3I toPosition);

Рассчитывает путь, начинающийся с положения вокселя до положения цели вокселя. Эти позиции должны быть воздушными вокселями прямо над землей с достаточным пространством для агентов. Возвращенный путь будет серией смежных воксельских позиций, через которые можно пройти, чтобы добраться до места назначения. Если путь не найден или если либо старт, либо место назначения находятся за пределами зоны поиска, пустой массив будет возвращен. Вы также можете использовать VoxelAStarGrid3D.SetRegion - указать зону поиска.

Параметры
ИмяТипПо умолчанию
fromPositionVector3I—
toPositionVector3I—
Возвращает Reckfell.Collections.Array<Vector3I>
FindPathAsyncvoid
# FindPathAsync
C#
public void FindPathAsync(Vector3I fromPosition, Vector3I toPosition);

То же, что и VoxelAStarGrid3D.FindPath, но производят расчеты на отдельной нитью. VoxelAStarGrid3D.AsyncSearchCompleted Сигнал. Только один асинхронный поиск может быть активным в определенное время. VoxelAStarGrid3D.IsRunningAsync чтобы проверить это.

Параметры
ИмяТипПо умолчанию
fromPositionVector3I—
toPositionVector3I—
GetRegionAabb
# GetRegion
C#
public Aabb GetRegion();

Получит максимальный предел по региону, который будет рассматриваться на предмет определения путей в воксах.

Возвращает Aabb
IsRunningAsyncbool
# IsRunningAsync
C#
public bool IsRunningAsync();

Возвращается, если путь в настоящее время рассчитан асинхронно. VoxelAStarGrid3D.FindPathAsync.

Возвращает bool
SetRegionvoid
# SetRegion
C#
public void SetRegion(Aabb box);

Устанавливает максимальный предел области, который будет рассматриваться на предмет определения путей в воксах. Обычно нужно установить его перед вызовом VoxelAStarGrid3D.FindPath. Чем больше регион, тем дороже может быть поиск. Имейте в виду, что объем вокселов в кубическом масштабе, так что не используйте его на больших участках (например, 50 воксел достаточно большой).

Параметры
ИмяТипПо умолчанию
boxAabb—
SetTerrainvoid
# SetTerrain
C#
public void SetTerrain(VoxelTerrain terrain);

Устанавливает местность, которая будет использоваться для поиска.

Параметры
ИмяТипПо умолчанию
terrainVoxelTerrain—

Сигналы и события1

AsyncSearchCompletedСобытие
# AsyncSearchCompleted
C#
public event VoxelAStarGrid3D.AsyncSearchCompletedEventHandler AsyncSearchCompleted;

При проведении обысков с использованием VoxelAStarGrid3D.FindPathAsync Всё готово.

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

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

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

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