NavigationLink3D
Связь между двумя позициями в NavigationRegion3D, через которую могут маршрутизироваться агенты.
Связь между двумя позициями в NavigationRegion3D, через которую могут маршрутизироваться агенты.
Связь между двумя позициями на NavigationRegion3D, через которые могут быть направлены агенты. Эти позиции могут быть на одном и том же NavigationRegion3D или на двух разных. Связи полезны для выражения методов навигации, отличных от перемещения по поверхности навигационной сетки, таких как зиплайны, телепорты или разрывы, через которые можно перепрыгивать.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
NavigationLink3DКонструктор
public NavigationLink3D();Свойства7
BidirectionalСвойство
public bool Bidirectional { get; set; }Можно ли перемещаться по этой ссылке в обоих направлениях или только от NavigationLink3D.StartPosition до NavigationLink3D.EndPosition.
EnabledСвойство
public bool Enabled { get; set; }Активна ли эта ссылка в данный момент. Если false, NavigationServer3D.MapGetPath проигнорирует эту ссылку.
EndPositionСвойство
public Vector3 EndPosition { get; set; }Конечная позиция ссылки.
Эта позиция будет искать ближайший полигон в навигационной сетке для присоединения.
Расстояние, на котором будет искать ссылка, контролируется NavigationServer3D.MapSetLinkConnectionRadius.
EnterCostСвойство
public float EnterCost { get; set; }Когда поиск путей входит в эту связь с судовождения другого региона, NavigationLink3D.EnterCost Для определения кратчайшего пути увеличивается значение этого пути.
NavigationLayersСвойство
public uint NavigationLayers { get; set; }Битовое поле, определяющее все навигационные слои, к которым принадлежит ссылка. Эти навигационные слои будут проверяться при запросе пути с помощью NavigationServer3D.MapGetPath.
StartPositionСвойство
public Vector3 StartPosition { get; set; }Начальная позиция ссылки.
Эта позиция будет искать ближайший полигон в навигационной сетке для присоединения.
Расстояние, на котором будет искать ссылка, контролируется NavigationServer3D.MapSetLinkConnectionRadius.
TravelCostСвойство
public float TravelCost { get; set; }При поиске пути по ссылке пройденное расстояние умножается на NavigationLink3D.TravelCost для определения кратчайшего пути.
Методы23
GetEndPositionVector3
public Vector3 GetEndPosition();Vector3GetEnterCostfloat
public float GetEnterCost();floatGetGlobalEndPositionVector3
public Vector3 GetGlobalEndPosition();Возвращает NavigationLink3D.EndPosition, который относится к ссылке как к глобальной позиции.
Vector3GetGlobalStartPositionVector3
public Vector3 GetGlobalStartPosition();Возвращает NavigationLink3D.StartPosition, которая относится к ссылке как к глобальной позиции.
Vector3GetNavigationLayerValuebool
public bool GetNavigationLayerValue(int layerNumber);Возвращает, включен ли указанный слой битовой маски NavigationLink3D.NavigationLayers, учитывая layer_number от 1 до 32.
| Имя | Тип | По умолчанию |
|---|---|---|
layerNumber | int | — |
boolGetNavigationLayersuint
public uint GetNavigationLayers();uintGetNavigationMapRid
public Rid GetNavigationMap();Возвращает текущую навигационную карту Rid, используемую этой ссылкой.
RidGetRidRid
public Rid GetRid();Возвращает Rid этой ссылки на NavigationServer3D.
RidGetStartPositionVector3
public Vector3 GetStartPosition();Vector3GetTravelCostfloat
public float GetTravelCost();floatIsBidirectionalbool
public bool IsBidirectional();boolIsEnabledbool
public bool IsEnabled();boolSetBidirectionalvoid
public void SetBidirectional(bool bidirectional);| Имя | Тип | По умолчанию |
|---|---|---|
bidirectional | bool | — |
SetEnabledvoid
public void SetEnabled(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetEndPositionvoid
public void SetEndPosition(Vector3 position);| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector3 | — |
SetEnterCostvoid
public void SetEnterCost(float enterCost);| Имя | Тип | По умолчанию |
|---|---|---|
enterCost | float | — |
SetGlobalEndPositionvoid
public void SetGlobalEndPosition(Vector3 position);Устанавливает NavigationLink3D.EndPosition относительно ссылки из глобального position.
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector3 | — |
SetGlobalStartPositionvoid
public void SetGlobalStartPosition(Vector3 position);Устанавливает NavigationLink3D.StartPosition относительно ссылки из глобальной position.
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector3 | — |
SetNavigationLayerValuevoid
public void SetNavigationLayerValue(int layerNumber, bool value);На основе value включает или отключает указанный слой в битовой маске NavigationLink3D.NavigationLayers, учитывая layer_number от 1 до 32.
| Имя | Тип | По умолчанию |
|---|---|---|
layerNumber | int | — |
value | bool | — |
SetNavigationLayersvoid
public void SetNavigationLayers(uint navigationLayers);| Имя | Тип | По умолчанию |
|---|---|---|
navigationLayers | uint | — |
SetNavigationMapvoid
public void SetNavigationMap(Rid navigationMap);Устанавливает Rid навигационной карты, которую должна использовать эта ссылка. По умолчанию ссылка автоматически присоединится к навигационной карте по умолчанию World3D, поэтому эта функция требуется только для переопределения карты по умолчанию.
| Имя | Тип | По умолчанию |
|---|---|---|
navigationMap | Rid | — |
SetStartPositionvoid
public void SetStartPosition(Vector3 position);| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector3 | — |
SetTravelCostvoid
public void SetTravelCost(float travelCost);| Имя | Тип | По умолчанию |
|---|---|---|
travelCost | float | — |