Курс Тома Лумана по Unreal C++. Задание 4 из 7
Это было сложно и больно - ИИ врагов. Но я это сделал, при помощи гугления, просматривания различных видео и пересматривания видео с курса. Я до сих пор не понимаю 95% вещекй по ИИ, все слегка обрывочно, думаю, понимание придет с практикой.
Задание было следующим: необходимо заставить врага убегать в укрытие и хилиться, если его здоровье опускается до критической отметки. Делать он это должен раз в 60 секунд.
В данном задании, я познакомился с такими концепциями, как: сервис, EQS, BT Task и вообще работа с Behavior tree.
По порядку:
1. Behavior Tree - "дерево поведения", при помощи него, мы можем создавать "задания", которые ИИ будет выполнять. Работает сверху-вниз, слева-направо. Это значит, что, например, в приоритете, всегда будет задача, которая находится на нем левее.
2. Сервис - помог мне создать условие, при котором та или иная ветка поведения будет включаться. Именно сервис проверял, если ХП ниже нужное отметки.
3. EQS - Environment Query System. Система, которая указывает ии, куда двигаться, как реагировать на объекты вокруг. Все наше поле - точки, и EQS выбирает нужную в зависимости от наших пожеланий. Это я очень сильно упростил.
4. BT Task - "задание" на выполнение. Бежать, прятаться, прыгать, кричать, хилиться. Я сделал "задание" на хил, подсоединив компонент свойств (в нем, например, и сожержится вся информация о здоровье).
В общем, работы и изучения предстоит много, но это я уже буду пробовать на собственном проекте. Я оставлю несколько полезных ссылок по работе с искусственным интеллектом.
https://www.redblobgames.com/ - очень полезный сайт, чтобы разобраться в разных алгоритмах нахождения пути.
https://www.youtube.com/watch?v=IIfGoDuRXLI - канал, который помог мне дополнительно разобраться в системах ИИ в анриле
https://dev.epicgames.com/documentation/en-us/unreal-engine/artificial-intelligence-in-unreal-engine - документация по ИИ от Epic Games
Спасибо, что читаете! Надеюсь, что вдохновляю вас на изучение нового и движение к мечте!💚
#TomLooman