Компоненты NavMesh Obstacle можно использовать для описания препятствий, которых агенты должны избегать во время навигации. Например, агенты должны избегать объектов, контролируемых физикой, таких как ящики и бочки во время движения.
Мы собираемся добавить ящик, чтобы заблокировать проход в верхней части уровня.
- Сначала создайте куб для изображения ящика: Игровой объект > 3D-объект > Куб.
- Переместите куб на платформу вверху. Размер куба по умолчанию подходит для ящика, поэтому оставьте его как есть.
- Добавьте в куб компонент NavMesh Obstacle. Выберите Добавить компонент в инспекторе и выберите Навигация > Препятствие NavMesh.
- Установите форму препятствия прямоугольник. Изменение формы автоматически подгонит центр и размер к визуализируемой сеткеОсновной графический примитив Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
См. в Словарь. - Добавьте жесткое тело к препятствию. Выберите Добавить компонент в инспекторе и выберите Физические параметры > Жесткое тело.
- Наконец, включите параметр Вырезать в NavMeshсетке, которую Unity создает для аппроксимации пешеходные зоны и препятствия в вашем окружении для поиска пути и навигации под управлением ИИ. Подробнее
См. в Словарь Препятствие инспекторОкно Unity, в котором отображается информация о выбранном в данный момент игровом объекте, активе или настройках проекта, что позволяет просматривать и редактировать значения. Подробнее
См. в Словарь, чтобы агент знал, как найти путь вокруг препятствия.
Теперь у нас есть работающий ящик, который управляется физикой и которого ИИ знает, как избегать во время навигации.
Дополнительная литература
- Внутренняя работа навигационной системы – узнайте больше о том, как препятствия используются в навигации.
- Справочник по компоненту NavMesh Obstacle – полное описание всех свойств NavMesh Obstacle.
- Справочник по сценариям NavMesh Obstacle — полное описание API сценариев NavMesh Obstacle.