reckfellENGINE

NavigationObstacle2D

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

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

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

Препятствие нуждается в навигационной карте и плане NavigationObstacle2D.Vertices Наброски не могут пересекаться или перекрываться. Препятствия могут быть включены в процесс выпечки навигационной сетки, когда NavigationObstacle2D.AffectNavigationMesh Они не добавляют ходячую геометрию, вместо этого их роль заключается в удалении другой исходной геометрии внутри формы. Это может быть использовано для предотвращения появления навигационной сетки в нежелательных местах. NavigationObstacle2D.CarveNavigationMesh , позволяет выпечке не влиять на форму при пересечении навигационной сетчатки, например радиуса действия агента. С NavigationObstacle2D.AvoidanceEnabled Препятствие может ограничить скорость уклонения от ответственности с помощью агентов. Если вершины препятствия повреждены по часовой стрелке, то агенты уклонения будут подталкиваться к преграде, в противном случае агенты уклонения будут вытесняться. Препятствия с использованием вершин и уклонения могут варпировать на новую позицию, но не должны перемещаться на каждую раму, поскольку каждое изменение требует восстановления карты предотвращения.

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

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

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

Свойства7

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

Разрешает учитывать Entity препятствия при разборе исходных данных запекания. Включение не перезапекает существующий ресурс автоматически: в проверке прежний путь оставался прямым до явного запекания.

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

Включает участие препятствия в избегании на назначенной карте. Не превращает его в физическую стену и не изменяет уже запечённый путь автоматически.

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

Битовое поле, определяющее слои избегания для этого препятствия. Агенты с соответствующим битом в маске избегания будут избегать этого препятствия.

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

Для запекания выбирает вырезание после применения отступа под радиус агента. Контур carve не получает дополнительного радиусного зазора. Изменение флага не запускает запекание само.

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

Радиус динамического препятствия для избегания. При разборе запекания с AffectNavigationMesh также может участвовать в исходных данных. Не является радиусом физического коллайдера.

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

Запрашиваемая скорость препятствия, которая используется другими агентами для более точного прогнозирования препятствия, если она регулярно двигается со скоростью (каждый кадр), а не в новой позиции. Примечание: Это имущество влияет только на уклонение от препятствий NavigationObstacle2D.RadiusНичего не делает для статических вершин препятствия.

VerticesСвойство
# Vertices
C#
public Vector2[] Vertices { get; set; }

Вертикальные вершины препятствия. Если вершины ветряны по часовой стрелке, то агенты будут выталкиваться через препятствие, в противном случае они будут вытесняться. Контуры не могут быть пересечены или перекрываются. Если препятствие перевернуто на новое положение, агенты не могут предсказать это движение и могут попасть внутрь препятствия.

Методы20

GetAffectNavigationMeshbool
# GetAffectNavigationMesh
C#
public bool GetAffectNavigationMesh();
Возвращает bool
GetAvoidanceEnabledbool
# GetAvoidanceEnabled
C#
public bool GetAvoidanceEnabled();
Возвращает bool
GetAvoidanceLayerValuebool
# GetAvoidanceLayerValue
C#
public bool GetAvoidanceLayerValue(int layerNumber);

Возвращается ли указанный слой NavigationObstacle2D.AvoidanceLayers Включена битмаска, при условии a layer_number от 1 до 32 лет.

Параметры
ИмяТипПо умолчанию
layerNumberint—
Возвращает bool
GetAvoidanceLayersuint
# GetAvoidanceLayers
C#
public uint GetAvoidanceLayers();
Возвращает uint
GetCarveNavigationMeshbool
# GetCarveNavigationMesh
C#
public bool GetCarveNavigationMesh();
Возвращает bool
GetNavigationMapRid
# GetNavigationMap
C#
public Rid GetNavigationMap();

Возвращает Rid навигационной карты для этого узла NavigationObstacle. Эта функция всегда возвращает набор карт на узле NavigationObstacle, а не карту абстрактного препятствия на NavigationServer. Если карта препятствий изменяется напрямую с помощью API Навигационный Сервер, узел NavigationObstacle не будет знать об изменении карты. Используйте NavigationObstacle2D.SetNavigationMap, чтобы изменить навигационную карту для NavigationObstacle, а также обновить препятствие на NavigationServer.

Возвращает Rid
GetRadiusfloat
# GetRadius
C#
public float GetRadius();
Возвращает float
GetRidRid
# GetRid
C#
public Rid GetRid();

Возвращает Rid этого препятствия на NavigationServer2D.

Возвращает Rid
GetVelocityVector2
# GetVelocity
C#
public Vector2 GetVelocity();
Возвращает Vector2
GetVerticesVector2[]
# GetVertices
C#
public Vector2[] GetVertices();
Возвращает Vector2[]
SetAffectNavigationMeshvoid
# SetAffectNavigationMesh
C#
public void SetAffectNavigationMesh(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetAvoidanceEnabledvoid
# SetAvoidanceEnabled
C#
public void SetAvoidanceEnabled(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetAvoidanceLayerValuevoid
# SetAvoidanceLayerValue
C#
public void SetAvoidanceLayerValue(int layerNumber, bool value);

На основе value включает или отключает указанный слой в битовой маске NavigationObstacle2D.AvoidanceLayers, учитывая layer_number от 1 до 32.

Параметры
ИмяТипПо умолчанию
layerNumberint—
valuebool—
SetAvoidanceLayersvoid
# SetAvoidanceLayers
C#
public void SetAvoidanceLayers(uint layers);
Параметры
ИмяТипПо умолчанию
layersuint—
SetCarveNavigationMeshvoid
# SetCarveNavigationMesh
C#
public void SetCarveNavigationMesh(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetNavigationMapvoid
# SetNavigationMap
C#
public void SetNavigationMap(Rid navigationMap);

Устанавливает Rid навигационной карты, которую должен использовать этот узел NavigationObstacle, а также обновляет obstacle на NavigationServer.

Параметры
ИмяТипПо умолчанию
navigationMapRid—
SetRadiusvoid
# SetRadius
C#
public void SetRadius(float radius);
Параметры
ИмяТипПо умолчанию
radiusfloat—
SetVelocityvoid
# SetVelocity
C#
public void SetVelocity(Vector2 velocity);
Параметры
ИмяТипПо умолчанию
velocityVector2—
SetVertices2 перегрузки
# SetVertices · 1/2
C#
public void SetVertices(Vector2[] vertices);
Параметры
ИмяТипПо умолчанию
verticesVector2[]—
# SetVertices · 2/2
C#
public void SetVertices(ReadOnlySpan<Vector2> vertices);
Параметры
ИмяТипПо умолчанию
verticesReadOnlySpan<Vector2>—
Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

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

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

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