Nav3DAgent - Nav3D Doc

Docy Child

Nav3DAgent

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

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

  • Применяет описание к вашему агенту.
				
					public void SetDescription(Nav3DAgentDescription _Description)
				
			
  • Команда двигаться к точке. Любая действующая команда будет прервана, агент начнет движение к точке, в соответствии с параметрами его описания.
				
					public void MoveTo(Vector3 _Point, Action _OnReach = null, Action<PathfindingError> _OnPathfindingFail = null)
				
			
  • Добавить точку следования в очередь. Таким образом может быть добавлено сколько угодно точек следования. Если агент выполняет команду FollowTarget, то она прервется и он начинает выполнять команду следование к точке.
				
					public void MoveToEnqueue(Vector3 _Point, Action _OnReach = null, Action<PathfindingError> _OnPathfindingFail = null)
				
			
  • Команда преследовать движущийся Transform.

				
					public void FollowTarget(
            Transform _Target,
            float _OffsetToleranceUpdate,
            float _DistToReach = 0,
            Action _OnReach = null,
            Action _OnCancel = null,
            Action<PathfindingError> _OnPathfindingFail = null
        )
				
			
  • Transform _Target – Transform, который необходимо преследовать.
  • float _OffsetToleranceUpdate – величина минимального смещения цели, которое приведет к обновлению пути к цели. Если ваш агент имеет параметр Motion Navigation Type описания установленным в значение GLOBAL, или GLOBAL_AND_LOCAL, то каждый раз при смещении преследуемого Transform более чем на _OffsetToleranceUpdate произойдет обновление пути.
  • Если ваш агент имеет параметр Motion Navigation Type описания установленным в значение GLOBAL, или GLOBAL_AND_LOCAL, то каждый раз при смещении преследуемого Transform более чем на _OffsetToleranceUpdate вызовет обновление пути.
  • float _DistToReach – расстояние до цели, приблизившись на которое цель будет считаться достигнутой. Хотим заметить, что в случае когда агенту приходится искать глобальный путь, цель может никогда не быть достигнутой, поскольку достигнув конца пути может оказаться, что цель за прошедшее время сдвинулась. Таким образом условие совпадения координат преследуемой цели и агента может быть труднодостижимым.
  • Action _OnReach – Делегат, который будет выполнен, когда цель будет успешно достигнута.
  • Action _OnCancel – делегат, выполняемый в случае, если ссылка на преследуемый Transform стала null, либо missing.
  • Прерывает выполнение текущей команды.
				
					public void Stop()
				
			
  • Позволяет получить список агентов внутри радиуса _Radius от агента. Вызов этого метода по событию Update, может негативно сказаться на производительности, поэтому рекомендуется не вызывать его слишком часто (например, нескольких раз в секунду должно быть достаточно для любых игровых сценариев).
				
					public List<Nav3DAgent> GetAgentsInRadius(float _Radius, Predicate<Nav3DAgent> _Predicate = null)
				
			
  • Визуализирует агента с помощью Gizmos. Может быть полезно для отладки в Editor
				
					public void Visualize(bool _DrawRadius = true, bool _DrawPath = true, bool _DrawVelocities = true)
				
			

You can find examples of how to use Nav3DAgent in the demo scenes located in the Demo folder of the asset.

Лог агента

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...

Nav3DObstacle

To manage obstacles on the scene, the Nav3DObstacle component is designed. Attac...

Сочетания препятствий

We will call obstacles with the selected processing mode “Runtime” as runtim...

Операции с препятствиями

Regardless of the obstacle processing mode, the processing procedure consists of...

Немного глубже о препятствиях

As already described above, in order for an obstacle to be taken into account du...

Nav3DAgent : Debug

The Nav3DAgent has an inspector that provides several useful functions to help w...

Nav3DAgent

As mentioned above, you can use the Nav3DAgent script as a component for your ga...

Chat Icon Close Icon
ru_RURussian