Урок 2 | Unreal Engine 4 Искусственный интеллект - Навигация ИИ / AI Move To
Вставка
- Опубліковано 3 лют 2021
- Это 2 урок из серии Искусственный интеллект в игровом движке Unreal Engine.
В этом уроке мы разберем навигацию для искусственного интеллекта,
А именно функции Move To для перемещения ИИ ботов по навигационной сетке - NavMesh.
Мы разберем автоматическое перемещение к указанной точке Target Point.
Преследование игрока ботом,
Перемещение ИИ между большим количеством точек -патрулирование,
Перемещение ИИ между случайными точками,
RayCasting для искусственного интеллекта.
Функции AI - Navigation которые мы используем в уроке:
Simple move to location
Simple move to actor
Move to location
Move to actor
AI Move To
Move To Location or Actor
Get Random Location in Navigable Radius
Get Random Point in Navigable Radius
Get Random Reachable Point in Radius
Разовый донат new.donatepay.ru/@cyberstars
Patreon - / cyberstars
Google Play - play.google.com/store/apps/de...
Facebook - CyberstarsEn...
Instagram - cyberstars_...
ВКонтакте - cyberstars_entertainment
Прекраснейшие уроки, я уже это писал, но напишу еще раз!
Сразу лайк!!!
Ещё и первый)
Кибер, у тебя один из лучших каналов по UE. Позволь поблагодарить тебя за твой труд!
P.S. Пожалуй это лучший канал)
Полностью согласен
присоединяюсь ... и к саундтрекам уже привык потихоньку)))
Второй день смотрю и просто кайфую как все понятно и оформлено! Музыка, голос, изложение. Спасибо!
В начале объявлять чему научишь в этом ролике очень удобно, спасибо
Клавиша "Э". Отладка ИИ. Позволяет наглядно видеть как строится маршрут от бота до цели.
Один из лучших каналов на тему UE. Спасибо!
Хороший урок, я как раз разбирал систему ИИ, с меня лайк, жду следующую видео
Очень информативные видео,спасибо за уроки по ue
я влюблён в эту подачу, это просто лучший канал.
Спасибо огромное! Без воды, все понятно! И главное что и зачем, как работает! Спасибо огромное!
Шикарная серия. Отличный преподавательский поставленный голос приятно сочетается с несомненным профессиональным опытом. Спасибо огромное и продолжайте пожалуйста дальше!
Думаю что это не только лучший русскоязычный материал - но и в принципе один из лучших в мире! =) Автор талантище!
Спасибо, как в UE4 вырос на твоих видосах.
Инкремент не требует повторной записи. Get actor of class не вешают на event tick. Жду следующих уроков )
Ребята вы лучшие!) Спасибо вам большое, очень помогаете, уроки бесценные просто. Как научусь, а затем выпущу свою игру и заработаю на ней, скину процентик вам, обещаю!)
я заждался уже БЛАГОДАРЮ ОТ ДУШИ!
Спасибо очень хорошо сняты уроки!
Боже я хочу создать свою игру ты очень помог спасибо огромное за такую точную информацию 🥰
Супер! Хотим следующий урок!
Дождались. Новая порция знаний подъехала
+100500 очков тебе в карму за то, что всё по делу чётко ясно без воды
ты лучший ! главное не останавливайся )))
Спасибо за урок!
Отличное обьяснение!
Спасибо огромное за такие подробные уроки! Держи печеньку🍪
Дякую)Крутий урок)
Полезно, мне нравится
Лайк автоматом друг ты крутые уроки делаешь когда 3 урок ,я их сразу скачиваю что бы были вдруг что забуду ))))жду 3 урока
Обычно около недели уходит на создание
@@cyberstars-5839 Буду ждать дружище
Что делать если бот бежит к точке, но бежит без анимации? На UE5. Просто стоя "скользит" к точке.
Если кто столкнется. У Character (нашего AI персонажа) в дереве компонент есть компонента: Character Movement (CharMoveComp).
У неё в Details, в разделе Movement, нужно установить в true флажок Use Acceleration fo Paths.
@@Leurdeil Братишка спасибо , от души )
@@mygalaxy1442 лучший из лучших
с ходу лайк)
Спасибо
спасибо
Пасибо
инкремент и так сохраняет переменную, т.е. не над было после ++ еще сетить переменную (время на ролике 14:44)
а так автор, продолжай в том же духе, очень круто объясняешь
NavLinkProxy - поможет строить путь для навигации. Например чтобы бот мог спрыгивать с рампы, а не бежать обратно к ступеням.
Спасибо за полезный коммент
мы как раз это разберем в следующем уроке
Это не везде полезно, иногда лучше чтобы он не спрыгивал !
@@shoguneiraidenbaal359 но ведь об этом тоже надо знать))
А если по сюжету надо?!@@shoguneiraidenbaal359
thx
пасиб
👌👌
Спасибо за урок Мне кажется тут DoN лишний, код и так вызывается в евент тике, главное следить за индексом точки
👍👍👍
Хорошо объясняешь! Инвентарь там вроде тема не раскрыта!
Это оч важно. Оч мало уроков. Аи мув ту я знаю, а вот бт с атаками и прочие оч тяжело самому вникать
Всё классно, но зачем всё это вешать на EventTick который отрабатывает каждый кадр и 60 раз в секунду заставлять бота искать и перестраивать путь, если весь этот блупринт работает на Event BeginPlay? Вопрос риторический)
Так он же один раз срабатывает и всё, а тут он постоянно подаёт импульс
Коллеги, пробую воспроизвести урок на UE5.1. Бот двигается, но играется IdleAnim вместо анимации движения при MoveToLocation или SimpleMovetoLocation. А если внутри бота применить AddMovementIntput, все нормально играется. Что ему не хватает?
Добрый день. Большое спасибо за уроки. Не могли бы Вы сказать почему Симпл Мув Ту Актор не срабатывает в режиме Симулейт?
скиньте скриншот вашего блупринта,
можете в наш дискорт, тогда будет ясно в чем проблема
14:45 необязательно "перезаписывать" полученный результат, инкрементируемое значение сразу присваивается переменной
Скажите пожалуйста а у машины так можно сделать чтобы она сама искала путь и останавливалась в нужной точке я имею ввиду не самому логику блупринтами писать а через готовый блупринт типа АиМувТу? есть ли такие готовые блупринты или это только для кэрэкторов?
Для pawn. Павн любой объект которым можно управлят
Move To функции можно присоединять и к Begin Play. но тогда при смене точки назначения Move To придется обновлять.
Разовый донат new.donatepay.ru/@cyberstars
Patreon - www.patreon.com/cyberstars
Вот смотрю какой урок и отзывы. А отзывы прям положительные. Опять всем все понятно. На самом деле клацаеш быстро, что приходиться часто отматывать назад. А те кто пишут положительные отзывы, попробуйте на следующий день повторить урок самостоятельно. Так уверен, 100% хер у кого что получиться.
а почему в некоторых случаях - боты не перемещаются, хотя есть волюм для навигации , и один и тот же класс персонажа - но в одном случае при подключении аи контролера, он перемещается, а в другом случае нет?
Привет. Скажи(те), пожалуйста, в unreal engine добавили ли python??? Где-то такая инфа всплыла, а посмотреть в движке нет возможности. Заранее спасибо)
Это не "нативный" язык для ue4 но можно добавить
docs.unrealengine.com/en-US/ProductionPipelines/ScriptingAndAutomation/Python/index.html
@@cyberstars-5839 но на нем же можно писать?
@@goverbilst252 На нем можно писать аддоны для ue4.
И это посмотрел
Друг ты не продаешь уроки допустим мне нужно что то особенное и сколько это стоить будет ,с нпс друзьями связанное
Уроки не продаю. Но тем кто поддержывает меня на patreon я помогаю разобраься с личными проблемами в движке. В рамках своей компитенции
На уровень закидываю NavMeshBoundsVolume и актор с растянутым (на большое расстояние) кубом (поверхностью для передвижения пешек с помощью AI) и
NavMeshBoundsVolume видит этот куб - ноды типа Move to Location работают корректно.
Но если я актор с растянутым кубом не закидываю на уровень, а генерирую в процессе, то NavMeshBoundsVolume не видит этот куб и ноды типа Move to Location не работают...
Как NavMeshBoundsVolume и RecastNavMesh заставить воспринимать заспавненные акторы?
Дело в том, что я в проекте вместо растянутого куба генерирую процедурную карту и закидывать ее на уровень не вариант, т.к. генерация мира все равно будет после создания самого уровня. Да и создание новых акторов будет работать некорректно...
А что за трэк играет 21:00?
Уже так устал. Использую пятую версию движка, но везде уроки по четвертой. Ну, ок. Делаю все один в один по первому уроку и все окей, персонаж передвигается. Но как только по второму уроку приказал двигаться ему к точке или другому персонажу (например к его второй копии), то он стоит и не двигается.
Через Begin Play по урокам иностранного ютубера делал ИИ оленю, чтобы он гулял по травке, убегал от игрока через AI move to, кушал травку, когда голоден, отдыхал, если устал гулять и опять же, все работает, кроме передвижений.
Возможно, у твоего персонажа нет movenment component. Либо используй класс character либо добавь в pawn элемент передвижения. (Не все поддерживают навигационную сетку. Используй FloatingMovenment)
Помогите, что делать если случайно удалил place actor, а в window не могу найти
Доброго времени суток.
Насколько я знаю, получение ссылки на объект со сцены через GetAllActorsOfClass является плохой практикой. Есть ли какой-то иной способ получения ссылок на объекты со сцены?
Можно создать переменую с нужным объектом (ссылкой)
@@cyberstars-5839 Да, спасибо. Так и сделаю.
Здравствуйте, cyberstars, не хотите ли создать дискорд сервер по ue4, где народ мог бы делится опытом, и задавать вопросы.
Здрасти) Уже есть, так сказать подумал о будущем) Правда он пуст, к тому же у меня нет времени сидеть там и отвечать на вопросы,
Но если вам это нужно , могу заняться этим , тут главное народ чтоб заходил , в противном случае там будет 2-3 человека которые потом уйдут не получив информации которую искали
@@cyberstars-5839, можно ссылочку)) Конечно это очень важно.
@@user-ob2od5rm7e discord.gg/9YMJCKzg
@@cyberstars-5839 срок истек
20:47 - У меня нет функции "GetRangomLocationInNavigableRadius". Как это можно обойти?
Видео полезное.
UE 4.18
Тогда берите другую подобную функцию. Просто getRandomPoint....
@@cyberstars-5839 Спасибо получилось.
22:14 - с функцией GetRangomReachablePointInRadius бот также завис на краю подиума.
22:01 - Не подскажете, что за мелодия тут играет?
жду срочно урок как заставить бота атаковать игрока рандомными ударами с анимациями
у меня почему-то боты собираются в одной точке, в центре карты, и не реагируют на Target ptr, в нулевые координаты карты прибегают, независимо от логики
Либо выбран target light, либо если через тег, то не в том месте указан. Нужно именно в раздел actor, а не tags
Киборг
у меня почему то не срабатывает анимация ходьбы у бота
Автор, как называется программа для создания игр скажи пожалуйста
Оба программы один для создания и другой для построения
Это точно Unity
Unreal engine
У тебя есть много опыта бро! Я тоже хочу
Весь мой опыт в моих роликах)
Слелай ии которий будет реиагироввть на звуки
Я не понимаю, почему у меня не работает? Помогите пожалуйста
Я 8
Cyberstars - Как создать игру
ХАХАХАХАХАХ ХАХАХАХАХАХАХАХАА СЛУШАЮ ТВОЙ ВИДОС И ЧЕТО ПОДУМАЛ О РОССИЙКСКИХ ЧИНОВНИКАХ И ТЫ ТУТ ГОВОРИШЬ С 1:12 ДО 1:22 ХАХАХ РЖМ
Уря, очередная доза
Складывается ощущение, что все тупо посмотрели ролик, не попытавшись повторить, у меня нихера не получилось
Провери вашу схему еще раз. Зачастую дьявол кроится в мелочах
какая у тебя проблема?
код рабочий, все примеры проверил.
Как справочник ты неплох, но программист из тебя нулевой! Не знать, что инкремент уже делает set - это просто финиш и стыд.
Если я ошибся в чем то ,это не значит что я нулевой программист
Еслиб программисты не ошибались то понятие как баг не существовало ,
где вы видели программу без багов!!? - это всё мелкие недочеты которые со временем фиксят,
"Сильное заявление" говорить что кто то ноль в программировании и за повторной перезаписи переменной
Давай братан создай свой канал по ue4 и мы посмотрим какой ты программист
@@cyberstars-5839 Повторил вашу логику и кажется нашел баг. В вашем примере, персонаж движется довольно быстро, а радиус таргет поинта не большой. Поэтому бот успевает быстро выбежать и все работает. Если же он начнет двигаться медленее, то пока он не выйдет из радиуса таргет поинта, он будет продолжать инкрментить ваш индекс таргет поинта. Короче он побежит после этого к 3, а не к 2.