Компонент Nav Mesh__ Obstacle__ позволяет описывать движущиеся препятствия, которых агенты Nav Mesh должны избегать при перемещении по миру. (например, бочки или ящики, управляемые физической системой). Пока препятствие движется, агенты Nav Mesh делают все возможное, чтобы избежать его. Когда препятствие неподвижно, оно вырезает дыру в NavMeshсетке, которую Unity создает для аппроксимации проходимых областей и препятствий на вашем пути. среда для поиска пути и навигации под управлением ИИ. Подробнее
См. в Словарь. Затем агенты Nav Mesh меняют свои пути, чтобы объехать его, или находят другой маршрут, если препятствие полностью блокирует путь.

Свойства | Функции |
---|---|
Shape | Геометрия формы препятствия. Выберите тот, который лучше всего соответствует форме объекта. |
Box | |
Center | Центр поля относительно положения преобразования. |
Size | Размер коробки. |
Capsule | |
Center | Центр капсулы относительно положения трансформации. |
Radius | Радиус капсулы. |
Height | Высота капсулы. |
Carve | Когда установлен флажок Carve, препятствие Nav Mesh создает дыру в NavMesh. |
Move Threshold | Unity рассматривает препятствие Nav Mesh как движущееся, если оно переместилось на расстояние, превышающее заданное пороговым значением перемещения. Используйте это свойство, чтобы задать пороговое расстояние для обновления движущегося вырезанного отверстия.. |
Time To Stationary | Время (в секундах) ожидания до тех пор, пока препятствие не будет считаться стационарным. |
Carve Only Stationary | Когда эта функция включена, препятствие вырезается только тогда, когда оно неподвижно. Дополнительные сведения см. в разделе Логика перемещения препятствий навигационной сетки ниже. |
Подробнее
Препятствия навигационной сетки могут повлиять на навигацию агента навигационной сетки во время игры двумя способами:
Препятствие
Когда функция Вырезать не включена, поведение по умолчанию препятствия навигационной сетки аналогично поведению коллайдераНевидимая форма, используемая для обработки физических столкновений объекта. Коллайдер не обязательно должен быть точно такой же формы, как сетка объекта — грубое приближение часто бывает более эффективным и неразличимым в игровом процессе. Подробнее
См. в Словарь. Агенты Nav Mesh пытаются избежать столкновенийСтолкновение происходит, когда физический движок обнаруживает, что коллайдеры двух игровых объектов соприкасаются или перекрываются, когда по крайней мере один имеет компонент Rigidbody и находится в движении. Подробнее
Посмотрите в Словарь с препятствием навигационной сетки, и когда они находятся близко, они сталкиваются с препятствие навигационной сетки. Поведение уклонения от препятствий очень простое и имеет короткий радиус действия. Таким образом, агент Nav Mesh не сможет ориентироваться в среде, загроможденной препятствиями Nav Mesh. Этот режим лучше всего использовать в тех случаях, когда препятствие постоянно движется (например, транспортное средство или персонаж игрока).
Резьба
Когда Вырезать включено, препятствие вырезает отверстие в NavMesh, когда оно неподвижно. При движении препятствие является преградой. Когда в NavMesh прорезана дыра, навигатор может перемещаться с помощью агента Nav Mesh по местам, загроможденным препятствиями, или найти другой маршрут, если текущий путь заблокирован препятствием. Рекомендуется включать вырезание препятствий в навигационной сетке, которые обычно блокируют навигацию, но могут быть перемещены игроком или другими игровыми событиями, такими как взрывы (например, ящики или бочки).
Логика перемещения препятствий навигационной сетки
Unity считает препятствие навигационной сетки движущимся, если оно переместилось на расстояние, превышающее расстояние, установленное параметром Вырезать > Пороговое значение перемещения. Когда препятствие навигационной сетки перемещается, вырезанное отверстие также перемещается. Однако, чтобы уменьшить нагрузку на ЦП, дыра пересчитывается только при необходимости. Результат этого расчета доступен в следующем обновлении кадра. Логика пересчета имеет два варианта:
Вырезать только тогда, когда препятствие Nav Mesh неподвижно
Вырезать, когда препятствие навигационной сетки сдвинулось
Вырезать только тогда, когда препятствие Nav Mesh неподвижно
Это поведение по умолчанию. Чтобы включить его, установите флажок Carve Only Stationary компонента Nav Mesh Obstacle. В этом режиме при перемещении препятствия навигационной сетки вырезанное отверстие удаляется. Когда препятствие в навигационной сетке перестает двигаться и остается неподвижным в течение времени, превышающего время, установленное параметром Время вырезания до неподвижного состояния, оно считается неподвижным, и вырезанное отверстие снова обновляется. Пока препятствие навигационной сетки движется, агенты навигационной сетки избегают его, используя предотвращение столкновений, но не планируют пути вокруг него.
Carve Only Stationary обычно является лучшим выбором с точки зрения производительности и хорошо сочетается с GameObjectОсновной объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь, связанный с навигационной сеткой. Препятствие контролируется физикой.
Вырезать, когда препятствие навигационной сетки сдвинулось
Чтобы включить этот режим, снимите флажок Вырезать только неподвижные компонента Nav Mesh Obstacle. Если этот флажок не установлен, вырезанное отверстие обновляется, когда препятствие перемещается на расстояние, превышающее расстояние, установленное параметром Порог перемещения вырезания. Этот режим удобен для больших, медленно движущихся препятствий (например, танка, которого избегает пехота).
Примечание. При использовании методов запроса NavMesh следует учитывать, что существует задержка в один кадр между изменением препятствия Nav Mesh и эффектом, который это изменение оказывает на NavMesh.
См. также
- Создание препятствия в навигационной сетке — Руководство по созданию препятствий в навигационной сетке.
- Внутренние принципы работы навигационной системы – узнайте больше о том, как препятствия в навигационной сетке используются для навигации.
- Справочник по сценариям для препятствий Nav Mesh – полное описание API сценариев для препятствий Nav Mesh.