Препятствия
Препятствие - это невидимый объект, который помещается в зону навигации и обходится во время поиска пути.
В сцену можно добавить препятствия:
- Как отдельный узел для обозначения области или узлов, которые следует обойти при поиске пути. Однако, при изменении трансформации узла, трансформация препятствия не изменится.
- Как дочерний узел узла, который следует обойти. В этом случае трансформация препятствия будет изменяться вместе с трансформацией узла, и маршрут всегда будет рассчитываться правильно.
Есть 3 типа препятствий:
- Obstacle Box - препятствие в форме куба.
- Obstacle Sphere - это препятствие в форме сферы.
- Obstacle Capsule - препятствие в форме капсулы.
Вы должны выбрать наиболее подходящий тип в зависимости от формы узла, который необходимо обходить при поиске пути.
Пример использования#
Предположим, вам нужно добавить узел, который изменяет свою трансформацию каждый кадр и который необходимо обходить при поиске пути. В этом случае следует сделать следующее:
-
Разместите нужный узел внутри области навигации, в пределах которой будут рассчитываться маршруты.
Узел ObjectMeshDynamic в форме куба, помещенный внутри Navigation Sector - Добавьте в сцену препятствие нужного типа и совместите его положение с положением узла.
-
Установите необходимый размер препятствия.
Препятствие-куб и узел. -
В окне World Hierarchy перетащите узел препятствия чтобы сделать его дочерним для требуемого узла.
Это позволит одновременно изменять трансформацию узла и препятствия. Вы также можете сделять это через код . - Теперь вы можете создать маршрут из кода. Маршрут будет автоматически пересчитан при изменении трансформации узла.
В результате маршрут будет рассчитан следующим образом (маршрут выделен белым цветом):
Смотрите также#
- Пример Создание маршрута в области навигации с препятствиями через код.
- Пример Navigation в наборе примеров C# Component Samples