Nav3DAgent: Methods - Nav3D Doc

Docy Child

Nav3DAgent: Methods

Как упоминалось выше, вы можете использовать скрипт Nav3DAgent в качестве компонента для вашего игрового объекта и обращаться к нему через GetComponent() .

Для управления Nav3DAgent реализованы следующие публичные методы:

  • Применяет описание к вашему агенту.
				
					public void SetDescription(Nav3DAgentDescription _Description)
				
			
  • Команда двигаться к точке.
				
					public void MoveTo(
Vector3                  _Point,
Action                   _OnReach           = null,
Action<PathfindingError> _OnPathfindingFail = null,
float?                   _ReachGap          = null)
				
			

Параметры:

    • Vector3 _Point - целевая точка.
    • Action _OnReach - колбэк достижения целевой точки.
    • Action<PathfindingError> _OnPathfindingFail - колбэк ошибки поиска пути.
    • float? _ReachGap - расстояние до целевой точки, необходимое для завершения следования и срабатывания _OnFinished.
  • Команда последовательно двигаться по списку точек. Будет найден путь, проходящий через каждую точку массива.
				
					public void MoveToPoints(
Vector3[]              _Points,
bool                     _Loop                = false,
bool                     _StartFromClosest    = false,
bool                     _SkipUnpassableGoals = false,
float?                   _ReachGap            = null,
Action<Vector3>  _OnGoalPointPassed           = null,
Action                   _OnFinished          = null,
Action<PathfindingError> _OnPathfindingFail   = null)

				
			

Параметры:

  • Vector3[] _Points - целевые точки пути.
  • bool _Loop - замыкать ли движение по точкам. Если true, агент будет двигаться по последовательности точек бесконечно, переходя к первой каждый раз при достижении последней.
  • bool_StartFromClosest - начинать ли движение с ближайшей точки массива, а не с первой.
  • bool_SkipUnpassableGoals - будет ли пропускаться каждая точка, до которой поиск пути завершился с ошибкой. Если параметр установлен в false, то при неудаче поиска пути между любой парой точек, будет выполнен _OnFail колбэк, и поиск будет прекращен.
  • float? _ReachGap - расстояние до целевой точки, необходимое для завершения следования и срабатывания _OnFinished.
  • Action<Vector3> _OnGoalPointPassed - колбэк, срабатывающий при прохождении агентом одной из целевых точек пути.
  • Action _OnFinished - колбэк, срабатывающий при прохождении агентом последней точки пути. Колбэк не сработает, если _Loop = true.
  • Action<PathfindingError> _OnPathfindingFail - колбэк ошибки поиска пути.
  • Начать преследование transform цели.

				
					public void FollowTarget(
Transform                _Target,
bool                     _FollowContinuously,
float                    _TargetOffsetUpdate,
float                    _TargetReachDistance   = 0,
Action                   _OnReach               = null,
Action                   _OnFail                = null,
Action<PathfindingError> _OnPathfindingFail     = null)

				
			

Параметры:

    • Transform _Target - цель для преследования.
    • bool _FollowContinuously - преследовать ли цель без окончания. Если true, то агент никогда не прекратит преследование и не вызовет _OnReach. При достижении цели просто будет находиться рядом, пока цель снова не отдалится.
    • float _TargetOffsetUpdate - величина смещения цели, для которой наступит перерасчет пути до цели.
    • float _TargetReachDistance - расстояние до transform цели, необходимое для завершения преследования и срабатывания _OnReach.
    • Action _OnReach - колбэк достижения цели преследования.
    • Action _OnFail - колбэк, срабатывающий в случае если transform цели был уничтожен или переведен в неактивное состояние на сцене.
    • Action<PathfindingError> _OnPathfindingFail - колбэк ошибки поиска пути.
  • Останавливает выполнение текущей действующей команды
				
					public void Stop()
				
			
  • Возвращает агентов, удовлетворяющих предикату, находящихся в заданном радиусе от агента.
				
					public Nav3DAgent[] GetAgentsInRadius(float _Radius, Predicate<Nav3DAgent> _Predicate = null)
				
			

Примеры по использованию Nav3DAgent вы можете найти в демо сценах, расположенных в папке Nav3D/Demo.

Nav3DSphereShell

Represents a spherical shell that is perceived by other agents as an object to a...

Nav3DEvader

There is also a separate controller, whose behavior consists of just avoiding ne...

Nav3DAgentManager

This class implements several methods to get a list of all Nav3DAgents located i...

Nav3DPathTester

We implemented a useful component (Nav3DPathTester), which can be used while bui...

PathfindingResult

Contains the pathfinding data and time statistics. Time statistics: public TimeS...

Nav3DPath: События

For the convenience of notification when the pathfinding finished, the following...

Лог агента

Here you can copy the contents of the agent log to the clipboard by clicking the...

Debug drawing

In this section, you can visualize the agent and his nearest environment. This s...

Создание и настройка описания агента из кода

All Nav3DAgentDescription parameters configured in the description inspector c...

Nav3DManager

Nav3DManager is a helper static class. Can be useful for checking whether Nav3D ...

Nav3DInitializer

To use Nav3D in playmode, you need to initialize it. The Nav3DInitializer compon...

Nav3DObstacleLoader

To use the possibility of pre-baking obstacles on the scene in editor mode and t...

Chat Icon Close Icon
ru_RURussian