Для моего стелс-проекта мне пришлось сделать патрулирующих охранников. Однако я решил смешать его с некоторыми случайно выбранными альтернативными путями и «направлением взгляда».
Сегодняшняя цель: создать простую модульную охрану с искусственным интеллектом, которая будет патрулировать некоторые путевые точки и иногда выбирать 1 из 2 путевых точек для перехода.
Создание системы:
Переменные:
Я создаю новый класс под названием «AIWaypointPatroller», который будет содержать весь код ИИ для патрулирования набора путевых точек.
Я хочу разрешить смотреть в указанном направлении, находясь в каждой путевой точке, а также возможность альтернативных положений путевой точки (которую я добавлю во второй части), поэтому я создаю пользовательскую структуру для списка‹›. вместо просто Vector3.
Я также хочу показать путевые точки в представлении «Сцена» для облегчения отладки.
Наконец, частные переменные:
Функции:
Бодрствующий:
Обновлять:
Функции, вызываемые при обновлении:
Наконец, чтобы нарисовать красивые линии отладки в представлении «Сцена», создайте метод OnDrawGizmos():
Я хочу нарисовать 3 части:
- Текущее положение,
- Путевые точки и линии между ними,
- И направление взгляда каждой путевой точки.
Результат:
Наконец, вся эта работа окупается очень красивой системой путевых точек!
В Части 2, моей следующей публикации, я добавлю возможность для альтернативных путей и добавлю функциональность для медленного поворота лицом к Направление взгляда.