Урок 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

КОМЕНТАРІ • 119

  • @deniskian6854
    @deniskian6854 3 місяці тому

    Прекраснейшие уроки, я уже это писал, но напишу еще раз!

  • @eddit1086
    @eddit1086 3 роки тому +41

    Сразу лайк!!!
    Ещё и первый)
    Кибер, у тебя один из лучших каналов по UE. Позволь поблагодарить тебя за твой труд!
    P.S. Пожалуй это лучший канал)

    • @user-lt3ms2ju8w
      @user-lt3ms2ju8w 3 роки тому +1

      Полностью согласен

    • @AndriiTurchynRieltorDnipro
      @AndriiTurchynRieltorDnipro Рік тому

      присоединяюсь ... и к саундтрекам уже привык потихоньку)))

  • @renolisa7059
    @renolisa7059 3 роки тому +10

    Второй день смотрю и просто кайфую как все понятно и оформлено! Музыка, голос, изложение. Спасибо!

  • @MrMelsik
    @MrMelsik 3 роки тому +3

    В начале объявлять чему научишь в этом ролике очень удобно, спасибо

  • @user-su9ec4hx9t
    @user-su9ec4hx9t 3 роки тому +13

    Клавиша "Э". Отладка ИИ. Позволяет наглядно видеть как строится маршрут от бота до цели.

  • @resproject1731
    @resproject1731 2 роки тому +7

    Один из лучших каналов на тему UE. Спасибо!

  • @SenkoBaton489
    @SenkoBaton489 3 роки тому +1

    Хороший урок, я как раз разбирал систему ИИ, с меня лайк, жду следующую видео

  • @9l_Kendr
    @9l_Kendr 3 роки тому +3

    Очень информативные видео,спасибо за уроки по ue

  • @user-nr3ql7bq9u
    @user-nr3ql7bq9u 3 роки тому +2

    я влюблён в эту подачу, это просто лучший канал.

  • @renolisa7059
    @renolisa7059 3 роки тому

    Спасибо огромное! Без воды, все понятно! И главное что и зачем, как работает! Спасибо огромное!

  • @uanbaev
    @uanbaev 3 роки тому +5

    Шикарная серия. Отличный преподавательский поставленный голос приятно сочетается с несомненным профессиональным опытом. Спасибо огромное и продолжайте пожалуйста дальше!

  • @Patallogus666
    @Patallogus666 Рік тому +1

    Думаю что это не только лучший русскоязычный материал - но и в принципе один из лучших в мире! =) Автор талантище!

  • @anosan17
    @anosan17 3 роки тому +1

    Спасибо, как в UE4 вырос на твоих видосах.

  • @MAYANGIN
    @MAYANGIN 3 роки тому +5

    Инкремент не требует повторной записи. Get actor of class не вешают на event tick. Жду следующих уроков )

  • @younggd
    @younggd Рік тому +1

    Ребята вы лучшие!) Спасибо вам большое, очень помогаете, уроки бесценные просто. Как научусь, а затем выпущу свою игру и заработаю на ней, скину процентик вам, обещаю!)

  • @ILIZIUM
    @ILIZIUM 3 роки тому

    я заждался уже БЛАГОДАРЮ ОТ ДУШИ!

  • @user-io1wo1nr1i
    @user-io1wo1nr1i 3 роки тому

    Спасибо очень хорошо сняты уроки!

  • @angel_klz8990
    @angel_klz8990 Рік тому +1

    Боже я хочу создать свою игру ты очень помог спасибо огромное за такую точную информацию 🥰

  • @namename4503
    @namename4503 3 роки тому

    Супер! Хотим следующий урок!

  • @shkolakrow
    @shkolakrow 3 роки тому

    Дождались. Новая порция знаний подъехала

  • @ForeverNils
    @ForeverNils 10 місяців тому

    +100500 очков тебе в карму за то, что всё по делу чётко ясно без воды

  • @alexandrbrigalda7467
    @alexandrbrigalda7467 3 роки тому

    ты лучший ! главное не останавливайся )))

  • @user-ro2zi6bw3c
    @user-ro2zi6bw3c 3 роки тому

    Спасибо за урок!

  • @fidus5016
    @fidus5016 Рік тому

    Отличное обьяснение!

  • @kleyman__8842
    @kleyman__8842 3 роки тому

    Спасибо огромное за такие подробные уроки! Держи печеньку🍪

  • @kraymedia4360
    @kraymedia4360 2 роки тому

    Дякую)Крутий урок)

  • @bravery_and_stupidity.
    @bravery_and_stupidity. 3 роки тому

    Полезно, мне нравится

  • @user-lt3ms2ju8w
    @user-lt3ms2ju8w 3 роки тому +1

    Лайк автоматом друг ты крутые уроки делаешь когда 3 урок ,я их сразу скачиваю что бы были вдруг что забуду ))))жду 3 урока

    • @cyberstars-5839
      @cyberstars-5839  3 роки тому +1

      Обычно около недели уходит на создание

    • @user-lt3ms2ju8w
      @user-lt3ms2ju8w 3 роки тому

      @@cyberstars-5839 Буду ждать дружище

  • @Leurdeil
    @Leurdeil 2 роки тому +5

    Что делать если бот бежит к точке, но бежит без анимации? На UE5. Просто стоя "скользит" к точке.

    • @Leurdeil
      @Leurdeil 2 роки тому +10

      Если кто столкнется. У Character (нашего AI персонажа) в дереве компонент есть компонента: Character Movement (CharMoveComp).
      У неё в Details, в разделе Movement, нужно установить в true флажок Use Acceleration fo Paths.

    • @mygalaxy1442
      @mygalaxy1442 2 роки тому +2

      @@Leurdeil Братишка спасибо , от души )

    • @ThewaytoAAA
      @ThewaytoAAA 2 роки тому

      @@mygalaxy1442 лучший из лучших

  • @v1zzle
    @v1zzle 3 роки тому

    с ходу лайк)

  • @MRtheLAGERAT
    @MRtheLAGERAT 3 роки тому

    Спасибо

  • @AndriiTurchynRieltorDnipro
    @AndriiTurchynRieltorDnipro Рік тому

    спасибо

  • @superlexadnepr
    @superlexadnepr Рік тому

    Пасибо

  • @arlex62
    @arlex62 Рік тому

    инкремент и так сохраняет переменную, т.е. не над было после ++ еще сетить переменную (время на ролике 14:44)
    а так автор, продолжай в том же духе, очень круто объясняешь

  • @user-su9ec4hx9t
    @user-su9ec4hx9t 3 роки тому +6

    NavLinkProxy - поможет строить путь для навигации. Например чтобы бот мог спрыгивать с рампы, а не бежать обратно к ступеням.

    • @cyberstars-5839
      @cyberstars-5839  3 роки тому +4

      Спасибо за полезный коммент
      мы как раз это разберем в следующем уроке

    • @shoguneiraidenbaal359
      @shoguneiraidenbaal359 3 роки тому +1

      Это не везде полезно, иногда лучше чтобы он не спрыгивал !

    • @younggd
      @younggd Рік тому +1

      @@shoguneiraidenbaal359 но ведь об этом тоже надо знать))

    • @Louis_Entertainment
      @Louis_Entertainment 3 місяці тому

      А если по сюжету надо?!@@shoguneiraidenbaal359

  • @nemonemo6759
    @nemonemo6759 3 роки тому

    thx

  • @suslikan___001
    @suslikan___001 10 днів тому

    пасиб

  • @vachetorosyan7235
    @vachetorosyan7235 2 роки тому

    👌👌

  • @afonya9118
    @afonya9118 Рік тому +1

    Спасибо за урок Мне кажется тут DoN лишний, код и так вызывается в евент тике, главное следить за индексом точки

  • @baalbor7050
    @baalbor7050 3 роки тому

    👍👍👍

  • @UnrealSurvival
    @UnrealSurvival 3 роки тому

    Хорошо объясняешь! Инвентарь там вроде тема не раскрыта!

  • @TheShavoo
    @TheShavoo 3 роки тому

    Это оч важно. Оч мало уроков. Аи мув ту я знаю, а вот бт с атаками и прочие оч тяжело самому вникать

  • @CHUVAKRADIST
    @CHUVAKRADIST 3 роки тому +4

    Всё классно, но зачем всё это вешать на EventTick который отрабатывает каждый кадр и 60 раз в секунду заставлять бота искать и перестраивать путь, если весь этот блупринт работает на Event BeginPlay? Вопрос риторический)

    • @user-zq9gq5nr6o
      @user-zq9gq5nr6o 2 роки тому +1

      Так он же один раз срабатывает и всё, а тут он постоянно подаёт импульс

  • @worldofonline7316
    @worldofonline7316 Рік тому

    Коллеги, пробую воспроизвести урок на UE5.1. Бот двигается, но играется IdleAnim вместо анимации движения при MoveToLocation или SimpleMovetoLocation. А если внутри бота применить AddMovementIntput, все нормально играется. Что ему не хватает?

  • @eddit1086
    @eddit1086 3 роки тому

    Добрый день. Большое спасибо за уроки. Не могли бы Вы сказать почему Симпл Мув Ту Актор не срабатывает в режиме Симулейт?

    • @cyberstars-5839
      @cyberstars-5839  3 роки тому

      скиньте скриншот вашего блупринта,
      можете в наш дискорт, тогда будет ясно в чем проблема

  • @baletun
    @baletun 2 роки тому

    14:45 необязательно "перезаписывать" полученный результат, инкрементируемое значение сразу присваивается переменной

  • @Jack66148
    @Jack66148 Рік тому

    Скажите пожалуйста а у машины так можно сделать чтобы она сама искала путь и останавливалась в нужной точке я имею ввиду не самому логику блупринтами писать а через готовый блупринт типа АиМувТу? есть ли такие готовые блупринты или это только для кэрэкторов?

    • @cyberstars-5839
      @cyberstars-5839  Рік тому

      Для pawn. Павн любой объект которым можно управлят

  • @cyberstars-5839
    @cyberstars-5839  3 роки тому +10

    Move To функции можно присоединять и к Begin Play. но тогда при смене точки назначения Move To придется обновлять.
    Разовый донат new.donatepay.ru/@cyberstars
    Patreon - www.patreon.com/cyberstars

  • @valerontaurus
    @valerontaurus 2 роки тому

    Вот смотрю какой урок и отзывы. А отзывы прям положительные. Опять всем все понятно. На самом деле клацаеш быстро, что приходиться часто отматывать назад. А те кто пишут положительные отзывы, попробуйте на следующий день повторить урок самостоятельно. Так уверен, 100% хер у кого что получиться.

  • @Huns_Kerigan
    @Huns_Kerigan 2 місяці тому

    а почему в некоторых случаях - боты не перемещаются, хотя есть волюм для навигации , и один и тот же класс персонажа - но в одном случае при подключении аи контролера, он перемещается, а в другом случае нет?

  • @goverbilst252
    @goverbilst252 3 роки тому +1

    Привет. Скажи(те), пожалуйста, в unreal engine добавили ли python??? Где-то такая инфа всплыла, а посмотреть в движке нет возможности. Заранее спасибо)

    • @cyberstars-5839
      @cyberstars-5839  3 роки тому

      Это не "нативный" язык для ue4 но можно добавить
      docs.unrealengine.com/en-US/ProductionPipelines/ScriptingAndAutomation/Python/index.html

    • @goverbilst252
      @goverbilst252 3 роки тому

      @@cyberstars-5839 но на нем же можно писать?

    • @1play2fun
      @1play2fun 2 роки тому

      @@goverbilst252 На нем можно писать аддоны для ue4.

  • @demongamer-chaplain
    @demongamer-chaplain 3 роки тому +1

    И это посмотрел

  • @user-lt3ms2ju8w
    @user-lt3ms2ju8w 3 роки тому +1

    Друг ты не продаешь уроки допустим мне нужно что то особенное и сколько это стоить будет ,с нпс друзьями связанное

    • @cyberstars-5839
      @cyberstars-5839  3 роки тому

      Уроки не продаю. Но тем кто поддержывает меня на patreon я помогаю разобраься с личными проблемами в движке. В рамках своей компитенции

  • @eldor2532
    @eldor2532 Рік тому

    На уровень закидываю NavMeshBoundsVolume и актор с растянутым (на большое расстояние) кубом (поверхностью для передвижения пешек с помощью AI) и
    NavMeshBoundsVolume видит этот куб - ноды типа Move to Location работают корректно.
    Но если я актор с растянутым кубом не закидываю на уровень, а генерирую в процессе, то NavMeshBoundsVolume не видит этот куб и ноды типа Move to Location не работают...
    Как NavMeshBoundsVolume и RecastNavMesh заставить воспринимать заспавненные акторы?
    Дело в том, что я в проекте вместо растянутого куба генерирую процедурную карту и закидывать ее на уровень не вариант, т.к. генерация мира все равно будет после создания самого уровня. Да и создание новых акторов будет работать некорректно...

  • @user-sc3qb9tf1n
    @user-sc3qb9tf1n 3 роки тому

    А что за трэк играет 21:00?

  • @svaretsky
    @svaretsky 2 роки тому

    Уже так устал. Использую пятую версию движка, но везде уроки по четвертой. Ну, ок. Делаю все один в один по первому уроку и все окей, персонаж передвигается. Но как только по второму уроку приказал двигаться ему к точке или другому персонажу (например к его второй копии), то он стоит и не двигается.
    Через Begin Play по урокам иностранного ютубера делал ИИ оленю, чтобы он гулял по травке, убегал от игрока через AI move to, кушал травку, когда голоден, отдыхал, если устал гулять и опять же, все работает, кроме передвижений.

    • @user-ok7wc2wh7s
      @user-ok7wc2wh7s 2 місяці тому

      Возможно, у твоего персонажа нет movenment component. Либо используй класс character либо добавь в pawn элемент передвижения. (Не все поддерживают навигационную сетку. Используй FloatingMovenment)

  • @platongorshkov1412
    @platongorshkov1412 Рік тому

    Помогите, что делать если случайно удалил place actor, а в window не могу найти

  • @truehollow2131
    @truehollow2131 3 роки тому

    Доброго времени суток.
    Насколько я знаю, получение ссылки на объект со сцены через GetAllActorsOfClass является плохой практикой. Есть ли какой-то иной способ получения ссылок на объекты со сцены?

    • @cyberstars-5839
      @cyberstars-5839  3 роки тому +1

      Можно создать переменую с нужным объектом (ссылкой)

    • @truehollow2131
      @truehollow2131 3 роки тому

      @@cyberstars-5839 Да, спасибо. Так и сделаю.

  • @user-ob2od5rm7e
    @user-ob2od5rm7e 3 роки тому

    Здравствуйте, cyberstars, не хотите ли создать дискорд сервер по ue4, где народ мог бы делится опытом, и задавать вопросы.

    • @cyberstars-5839
      @cyberstars-5839  3 роки тому

      Здрасти) Уже есть, так сказать подумал о будущем) Правда он пуст, к тому же у меня нет времени сидеть там и отвечать на вопросы,
      Но если вам это нужно , могу заняться этим , тут главное народ чтоб заходил , в противном случае там будет 2-3 человека которые потом уйдут не получив информации которую искали

    • @user-ob2od5rm7e
      @user-ob2od5rm7e 3 роки тому

      @@cyberstars-5839, можно ссылочку)) Конечно это очень важно.

    • @cyberstars-5839
      @cyberstars-5839  3 роки тому

      @@user-ob2od5rm7e discord.gg/9YMJCKzg

    • @nawradislegend6873
      @nawradislegend6873 3 роки тому

      @@cyberstars-5839 срок истек

  • @Lucerbius
    @Lucerbius 2 роки тому

    20:47 - У меня нет функции "GetRangomLocationInNavigableRadius". Как это можно обойти?
    Видео полезное.
    UE 4.18

    • @cyberstars-5839
      @cyberstars-5839  2 роки тому

      Тогда берите другую подобную функцию. Просто getRandomPoint....

    • @Lucerbius
      @Lucerbius 2 роки тому

      @@cyberstars-5839 Спасибо получилось.
      22:14 - с функцией GetRangomReachablePointInRadius бот также завис на краю подиума.
      22:01 - Не подскажете, что за мелодия тут играет?

  • @---ep6sm
    @---ep6sm 3 роки тому

    жду срочно урок как заставить бота атаковать игрока рандомными ударами с анимациями

  • @fodermoll7128
    @fodermoll7128 2 роки тому

    у меня почему-то боты собираются в одной точке, в центре карты, и не реагируют на Target ptr, в нулевые координаты карты прибегают, независимо от логики

    • @reidek8138
      @reidek8138 2 роки тому

      Либо выбран target light, либо если через тег, то не в том месте указан. Нужно именно в раздел actor, а не tags

  • @CGFED
    @CGFED 3 роки тому

    Киборг

  • @user-ns1ib8tb9g
    @user-ns1ib8tb9g Рік тому

    у меня почему то не срабатывает анимация ходьбы у бота

  • @faberlicorders7788
    @faberlicorders7788 2 роки тому

    Автор, как называется программа для создания игр скажи пожалуйста

    • @faberlicorders7788
      @faberlicorders7788 2 роки тому

      Оба программы один для создания и другой для построения

    • @faberlicorders7788
      @faberlicorders7788 2 роки тому

      Это точно Unity

    • @cyberstars-5839
      @cyberstars-5839  2 роки тому +1

      Unreal engine

    • @faberlicorders7788
      @faberlicorders7788 2 роки тому

      У тебя есть много опыта бро! Я тоже хочу

    • @cyberstars-5839
      @cyberstars-5839  2 роки тому +1

      Весь мой опыт в моих роликах)

  • @habon5844
    @habon5844 3 роки тому

    Слелай ии которий будет реиагироввть на звуки

  • @alexandrgood1634
    @alexandrgood1634 Рік тому

    Я не понимаю, почему у меня не работает? Помогите пожалуйста

  • @SenkoBaton489
    @SenkoBaton489 3 роки тому

    Я 8

  • @actionkey8042
    @actionkey8042 3 роки тому

    Cyberstars - Как создать игру
    ХАХАХАХАХАХ ХАХАХАХАХАХАХАХАА СЛУШАЮ ТВОЙ ВИДОС И ЧЕТО ПОДУМАЛ О РОССИЙКСКИХ ЧИНОВНИКАХ И ТЫ ТУТ ГОВОРИШЬ С 1:12 ДО 1:22 ХАХАХ РЖМ

  • @FailValiev
    @FailValiev 3 роки тому

    Уря, очередная доза

  • @user-re5zy4gu4k
    @user-re5zy4gu4k 2 роки тому +1

    Складывается ощущение, что все тупо посмотрели ролик, не попытавшись повторить, у меня нихера не получилось

    • @cyberstars-5839
      @cyberstars-5839  2 роки тому

      Провери вашу схему еще раз. Зачастую дьявол кроится в мелочах

    • @fodermoll7128
      @fodermoll7128 2 роки тому

      какая у тебя проблема?

    • @reidek8138
      @reidek8138 2 роки тому +1

      код рабочий, все примеры проверил.

  • @user-oy7xl4bz5k
    @user-oy7xl4bz5k 3 роки тому +2

    Как справочник ты неплох, но программист из тебя нулевой! Не знать, что инкремент уже делает set - это просто финиш и стыд.

    • @cyberstars-5839
      @cyberstars-5839  3 роки тому +10

      Если я ошибся в чем то ,это не значит что я нулевой программист

    • @user-cx9qw7rr1r
      @user-cx9qw7rr1r 3 роки тому +4

      Еслиб программисты не ошибались то понятие как баг не существовало ,
      где вы видели программу без багов!!? - это всё мелкие недочеты которые со временем фиксят,
      "Сильное заявление" говорить что кто то ноль в программировании и за повторной перезаписи переменной

    • @UnrealSurvival
      @UnrealSurvival 3 роки тому +9

      Давай братан создай свой канал по ue4 и мы посмотрим какой ты программист

    • @user-xg1es7dv8t
      @user-xg1es7dv8t Рік тому

      @@cyberstars-5839 Повторил вашу логику и кажется нашел баг. В вашем примере, персонаж движется довольно быстро, а радиус таргет поинта не большой. Поэтому бот успевает быстро выбежать и все работает. Если же он начнет двигаться медленее, то пока он не выйдет из радиуса таргет поинта, он будет продолжать инкрментить ваш индекс таргет поинта. Короче он побежит после этого к 3, а не к 2.