Искуственный интеллект врага в Unity (патрулирование, погоня и атака)

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ต.ค. 2024
  • В этом видео мы научимся создавать искуственный интеллект вражеского персонажа, в частности патрулирование, нападение или погоню, и атаку в Unity.
    📜 Скрипт из видео здесь: drive.google.c...

ความคิดเห็น • 281

  • @АйтиНуб
    @АйтиНуб  ปีที่แล้ว +9

    Внимание! В этом видео еще используется старая система навигации, вот видео в котором подробно описано где найти новую систему навигации и как ей пользоваться th-cam.com/video/nQQ7I603ANw/w-d-xo.html.

    • @---eu1ki
      @---eu1ki 10 หลายเดือนก่อน +1

      Можете помоч пож🙏🙏🙏 transform в PatrolBehaviour выдаёт ошибку 14 строка

    • @---eu1ki
      @---eu1ki 10 หลายเดือนก่อน +1

      говорит что GameObject не содержит определение transform

    • @---eu1ki
      @---eu1ki 10 หลายเดือนก่อน +2

      У меня патруь вообще не работает, исправил вышеописанные прорблемы и всё равно он просто стоит

    • @АйтиНуб
      @АйтиНуб  10 หลายเดือนก่อน

      @@---eu1ki Не знаю может в более новых версиях редактора что-то поменяли, они постоянно что -то куда-то переносят, переназывают, так что трудно сказать, навигацию они там перенесли. Кстати теги все есть, все подключены, скрипт из описания взят? Тогда только проект смотреть надо. Если на ту же версию что у меня и все также сделать, то все заработает.

    • @никто-ю8р
      @никто-ю8р 10 หลายเดือนก่อน

      @@АйтиНуб а какая у вас версия

  • @MCOTRISKIN47
    @MCOTRISKIN47 21 วันที่ผ่านมา +1

    Уже какой твой гайд смотрю все класс!!! ТЫ ЛУЧШИЙ продолжай в томже духе😁👍

  • @MALDON777
    @MALDON777 5 หลายเดือนก่อน +6

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

    • @АйтиНуб
      @АйтиНуб  5 หลายเดือนก่อน +4

      Спасибо. Но, к сожалению я уже все. Во первых нет времени, во вторых Unity разочаровал меня. А в третьих TH-cam разочаровал за 3 года $100 вывел. Так что пока по крайней мере гастроли закончены. Насчет донатить я бы не сказал, а вот если бы какой то нормальный курс записать, то может и что-то и заработать.

    • @Флоутенс
      @Флоутенс 4 หลายเดือนก่อน

      @@АйтиНуб ждем курс

    • @komron2008
      @komron2008 2 หลายเดือนก่อน

      ​@@АйтиНуб просто не вовремя с ютубом, когда минимизацию убрали

    • @EmilBash
      @EmilBash 2 หลายเดือนก่อน +1

      Парень, не знаю прочтёшь, не прочтёшь этот коммент, но надеюсь у тебя будет все заебись

    • @copying2017
      @copying2017 หลายเดือนก่อน

      @@АйтиНуб дорогой автор,
      скажи пожалуйста
      в чём тебя разочаровал Unity?

  • @СветозарБоголюбов
    @СветозарБоголюбов ปีที่แล้ว +24

    Еще кто будет пользоваться этим видео, имейте ввиду, здесь используется устаревшая (Obsolete) система AI Navigation. Как минимум с 2022 новая перенесена в плагин и устанавливается через Package Manager (надо проверить и установить, если ее нет в Packages) и устроена чуть по-другому.

    • @novaneti
      @novaneti ปีที่แล้ว

      а что за плагин, если не секрет?

    • @aramharutyunyan5681
      @aramharutyunyan5681 ปีที่แล้ว

      @@novaneti NavMeshComponents если не ошибаюсь
      Его можно найти в уроках про этот самый NavMesh

    • @genuich006
      @genuich006 7 หลายเดือนก่อน

      Расскажи как надо устанавливать, а то у меня не получается

    • @Ablatytu_
      @Ablatytu_ 5 หลายเดือนก่อน

      Новая система кстати дерьмо

    • @genuich006
      @genuich006 5 หลายเดือนก่อน

      @@Ablatytu_ А почему ?

  • @peshka-e5v
    @peshka-e5v ปีที่แล้ว +6

    Единственный кто нормально объяснил спасибо

  • @GAMESPICTURE_official
    @GAMESPICTURE_official 7 หลายเดือนก่อน +2

    что делать если у меня не перебрасываются анимации но там есть loop time

    • @АйтиНуб
      @АйтиНуб  7 หลายเดือนก่อน

      Не знаю, что любая анимация с loop time не работает?

  • @krishovie
    @krishovie ปีที่แล้ว +3

    спасибо за туториал
    очень помог , у меня бейк теперь роботает 🥰

  • @sofaglava
    @sofaglava ปีที่แล้ว +2

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

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว +1

      Привет. Если скрипты у меня брали, то проверьте, чтобы названия переменных и объектов совпадали из скриптов в сцене и аниматоре. MeshAgent стоит на персонаже? Bake делали? Ошибки, логи выбивает? Каких то других скриптов нету, ничего конфликтовать не может? Если анимации не срабатывает, то искать соответственно в этом направлении, если не перемещается, то MeshAgent.

  • @ИванСергеевич-ш8ш
    @ИванСергеевич-ш8ш 4 หลายเดือนก่อน +1

    Здравствуйте. AI видит player даже через стены. Есть варианты как исправить?

    • @АйтиНуб
      @АйтиНуб  4 หลายเดือนก่อน

      К сожалению, я с юнити уже давно распрощался, ничего сказать не могу.

  • @Пошел-и1о
    @Пошел-и1о 8 หลายเดือนก่อน +1

    Привет, если не затруднит, скажи пожалуйста, на какой версии юнити был записан этот гайд

    • @АйтиНуб
      @АйтиНуб  8 หลายเดือนก่อน

      Привет 2020.3.25f1 сверху слева все написано. На новых тоже самое только систему навигации надо ставить самому, закрепленный комментарий сверху.

  • @xyligan4eg1488
    @xyligan4eg1488 4 หลายเดือนก่อน +1

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

    • @АйтиНуб
      @АйтиНуб  4 หลายเดือนก่อน

      К сожалению я стаким никогда не сталкивался, коллайдеры на всех объектах отстроены правильно?

  • @rickjonn5451
    @rickjonn5451 ปีที่แล้ว +2

    у меня проблема застрял на стадии патрюля у меня не пригруеться анимация ходьбы и он двигаеться на половину утопленный в карту полностью замерши помогите решить

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Наполовину у топленный это из за это коллайдера, старайтесь сразу выставлять все координаты на ноль и смотреть координаты коллайдеров на объектах. Такое бывает с готовыми ассетами или моделями, просто коллайдер выровняйте с вашим объектом. С анимацией может быть переменная не работает, может с расстояниями надо что-то сделать, увеличить например, надо самому смотреть, так не сказать без проекта. Поймите, что все видео делались на чистую сцену с нуля, то есть если у вас уже что то там было, могут быть разные конфликты. А если взять внимательно сделать все с нуля и ничего не пропустить, то все будет работать.

  • @alex25loks
    @alex25loks ปีที่แล้ว +2

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

    • @alex25loks
      @alex25loks ปีที่แล้ว +1

      Вопрос решён

  • @krishovie
    @krishovie ปีที่แล้ว +2

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

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Привет. Да я бы скинул, если бы он у меня был, я все удаляю где то после второго месяца. А что не так именно? Если на чистый проект, то все должно быть так же как здесь.

    • @krishovie
      @krishovie ปีที่แล้ว +1

      У меня проект уже 2 месяца как бы.
      А ну когда я включаю бейк
      То у меня эта синяя штука не активируется
      Хотя я делаю всё как на видео выделяю все эти объекты (((

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      @@krishovie У тебя, когда ты статические объекты выбираешь в инспекторе в самом вверху справа возле названия есть чек поинт Static, он должен быть включен. У меня просто по умолчанию был включен поэтому я не обратил внимание на это.

    • @krishovie
      @krishovie ปีที่แล้ว +1

      Aaaaa спс
      Если что ещё раз напишу
      Если что

  • @RazvlekaykaBY
    @RazvlekaykaBY ปีที่แล้ว +1

    У меня не идёт к Points. Анимации срабатывают на месте, и меняются в зависимости от таймера. Но сам Enemy не движется никуда.

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Bake сделали? Navmesh Agent стоит? Скрипты все правильно подключены, переменные имеют такие же названия как в иерархии и аниматоре, как и в скриптах? Действия производились на чистую сцены или там уже куча всего стояло, что может конфликтовать? Коллайдеры, риджидбоди везде на всех объектах правильно стоят, как в видео? Данные в скриптах, расстояния разные тоже может надо поменять ()меньше, больше например) Ищите ошибку, если работает в видео, то и везде будет работать, по другому не может быть.

    • @RazvlekaykaBY
      @RazvlekaykaBY ปีที่แล้ว +1

      @@АйтиНуб я применял ваш способ на 2D объект, не работает оно нормально. Сейчас ищу как сделать мирного NPC, который бы просто ходил влево и вправо останавливаясь на отдых секунд на 5.

  • @foxy9246
    @foxy9246 3 หลายเดือนก่อน +2

    Все работает спасибо. Есть два нюанса. Устанавливал такой же набор как у вас (его обновили). Посмотрел видео, которое вы прикрепили в комментариях, так как у меня Unity 2023. Мой NPC крутится вокруг поинтов, в то время как ваш этого не делает. Также иногда он останавливается и бежит на месте. Может быть, это связано с тем, что на террейн есть деревья, хотя их немного. И у меня есть NavMesh Surface (с другого вашего видео), в Navigation есть Bake. Причем удаляя один из них, NPC начинает крутиться вокруг одного поинта, но не бегает к остальным. Не знаю что делать. Буду благодарен за помощь. Еще раз спасибо

    • @АйтиНуб
      @АйтиНуб  3 หลายเดือนก่อน

      Я уже не занимаюсь этим, так что, к сожалению ничем помочь не могу.

    • @foxy9246
      @foxy9246 3 หลายเดือนก่อน

      @@АйтиНуб очень жаль, но я всё равно хочу поблагодарить вас за то, что вы этим занимались. Ваши видео помогли научиться чему-то новому, пробовать и экспериментировать и я думаю, что не только мне. Я верю, что вы будете развиваться в той сфере, которая вас интересует. На ютубе не очень много видео, в которых подробно объясняют как вы. Еще раз спасибо

    • @foxy9246
      @foxy9246 3 หลายเดือนก่อน

      ​@@АйтиНуб очень жаль, но я все равно хочу поблагодарить вас за то, что вы этим занимались. Ваши видео помогли научиться чему-то новому, пробовать и экспериментировать и я думаю, что не только мне. Я верю, что вы будете развиваться в той сфере, которая вас интересует. На ютубе не очень много видео, в которых подробно объясняют как вы. Еще раз спасибо

  • @Finel_Yqog
    @Finel_Yqog ปีที่แล้ว +3

    Интересно а можно сделать так чтобы можно было регулировать поле зрения врага?

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Конечно можно, но у меня пока такого нет, надо отдельно урок снимать, в сети их полно есть или готовый ассет взять можно.

  • @M.E.V..
    @M.E.V.. ปีที่แล้ว +1

    Теперь просто пробегает в сквозь меня бесконечно

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว +3

      Коллайдеры есть на объектах?

  • @Artimsay-animation
    @Artimsay-animation 10 หลายเดือนก่อน +2

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

    • @АйтиНуб
      @АйтиНуб  10 หลายเดือนก่อน +1

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

  • @fumplstandoff2200
    @fumplstandoff2200 9 หลายเดือนก่อน +2

    Здравствуйте, ролик отличный, я лайк поставил и подписался! Но единственное, у меня почему-то при переходе из состояния покоя в патрулирование, враг начинает анимацию патрулирования, но остаётся на месте, а затем снова в состоянии покоя и так по кругу. Я ваш код скопировал из гугл диска, сделав как на видео, но не работает(

    • @АйтиНуб
      @АйтиНуб  9 หลายเดือนก่อน +3

      Когда вставляешь мой код смотри, чтобы у тебя все объекты и переменные точно ткже назывались, или меняй названия в коде, очень часто делают эту ошибку. Потом в коде у тебя могут быть разные расстояния, когда начинать анимацию, еще посмотри есть ли на всех объектах коллайдеры и риджидбоди и проверь их настройки. Дальше видео делалось на старой версии редактора, может уже что то не так работать, короче тут нюансов много может быть, без проекта не скажешь. Пойми это не ассет, что ты вставил и он у тебя заработал, это видео, чтобы более менее понять как это работает.

  • @Assassin-mn5is
    @Assassin-mn5is 6 หลายเดือนก่อน +1

    Здравствуйте а что делать если у меня персонаж просто прямо бежит

    • @АйтиНуб
      @АйтиНуб  6 หลายเดือนก่อน +1

      Я уже просто устал всем повторять одно и тоже, во первых: смотрите на видео в вверхнем левом углу какая версия редактора используется, потому как в других версиях могут быть внесены изминения как например здесь (смотрите закрепленный комментарий), во вторых: внимательно смотрите и слушайте видео, если работает у меня, то и у вас все заработает, в третьих: я не могу знать, что у вас происходит в проэкте, если вас что-то там уже есть, то возможны конфликты с существующими скриптами и в четвертых: старайтесь сами решать ошибки, если хотите конечно хоть чему нибудь научиться.

  • @infavi
    @infavi ปีที่แล้ว +3

    Спасибо вашему каналу!

  • @vvaifuofficial
    @vvaifuofficial ปีที่แล้ว +4

    Очень помогли спасибо! Хорошие уроки у вас

  • @Forest_Forever
    @Forest_Forever 9 หลายเดือนก่อน +2

    А если у меня нету вкладки AI, что делать ?

    • @thompson2491
      @thompson2491 9 หลายเดือนก่อน

      В плане нету вкладки?

    • @Forest_Forever
      @Forest_Forever 9 หลายเดือนก่อน

      когда я захожу в меню Window там нету такой кнопки AI@@thompson2491

    • @АйтиНуб
      @АйтиНуб  9 หลายเดือนก่อน

      Тогда смотреть мой закрепленный комментарий.

  • @Lidskiy
    @Lidskiy 11 หลายเดือนก่อน

    Подскажите, что делать если все игровые механики у меня прописаны через FixedUpdate, а из-за того что на анимациях OnStateUpdate, то враг двигается дерганно если я двигаюсь относительно его.

  • @Yellowskull
    @Yellowskull ปีที่แล้ว +1

    Помоги,а что если из анимаций у меня idle,patrol,attack?Просто когда я все это зделал мой враг стоит в idle позиции и не атакует меня и вовще не видет.У меня тег Player

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Если скрипты скачал в описании, то смотри, чтобы у тебя в проекте все переменные имели такие же названия, как и в скриптах. Компоненты в инспекторе все есть, коллайдеры например у объектов.

  • @saske_koks
    @saske_koks ปีที่แล้ว

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

  • @x0bra
    @x0bra ปีที่แล้ว +4

    Спасибо большое, но есть вопрос почему после того как враг сдвинулся с 1 точки ко 2 то он там и остаёься и начинает кружится на ней?

    • @Fevralll
      @Fevralll ปีที่แล้ว +1

      такая же херня

    • @sookoshvily2037
      @sookoshvily2037 ปีที่แล้ว +2

      Нужно было выбрать другую анимацию

    • @x0bra
      @x0bra ปีที่แล้ว

      @@sookoshvily2037 спасибо помогло

    • @sookoshvily2037
      @sookoshvily2037 ปีที่แล้ว

      @@x0bra не за что)

  • @НатальяПеревалова-х7х
    @НатальяПеревалова-х7х 5 หลายเดือนก่อน +1

    у меня происходит баг когда у врага начинается анимация ударов то он так застывает в этой анимации и стоит на месте.Что делать?

    • @АйтиНуб
      @АйтиНуб  5 หลายเดือนก่อน

      Сама анимация отдельно работает нормально, loop включен?

    • @НатальяПеревалова-х7х
      @НатальяПеревалова-х7х 5 หลายเดือนก่อน +1

      @@АйтиНуб да, все включено и отдельно работает

    • @АйтиНуб
      @АйтиНуб  5 หลายเดือนก่อน

      @@НатальяПеревалова-х7х Тогда надо смотреть самому, что с ним происходит, тут неугадаешь. С коллайдерами персонажа тоже все нормально?

  • @Itzkolyu4ka
    @Itzkolyu4ka 3 หลายเดือนก่อน

    Здравствуйте. У меня все получилось, но есть проблема, когда персонаж ходит то он тп-хается тоесть идет в перед и в друг его откинула назад и он снова идет вперёд, если нужна конкретика могу записать видео и выложить как на свой канал, так и связаться в телеграмме

    • @Itzkolyu4ka
      @Itzkolyu4ka 3 หลายเดือนก่อน +1

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

    • @АйтиНуб
      @АйтиНуб  2 หลายเดือนก่อน

      @@Itzkolyu4ka К сожалению я юнити уже не занимаюсь давно, ничем помочь не могу, сам пробуй, только так и научишся.

  • @Осуждающий-и8с
    @Осуждающий-и8с ปีที่แล้ว +1

    Эти скрипты из описания можно скачать и вставить в юнити?

  • @doesntmvtter
    @doesntmvtter ปีที่แล้ว +1

    Как прописать в срипте , чттбы у врага был угол обзора, попадая в который он агрится на игрока ? Я пробовал по своему сделать , но не вышло у меня

  • @twizz2318
    @twizz2318 ปีที่แล้ว +1

    Привет, не модешь подсказать что делать если враг тригириться на меня и просто бежит в мою сторону. Скрипты уже раз 10 перепроверил не работает все равно. Помоги, могу проект скинуть если надо

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      ПАривет. Не знаю. Это программирование, тут где угодно ошибка может быть, как я могу знать, что у тебя в проекте. Смотреть искать надо что не так. Может в расстояниях в скриптах больше меньше. Может что то с коллайдерами, может в с переменными в аниматоре что то не так.

  • @deffking
    @deffking ปีที่แล้ว +1

    АйтиНуб привет!
    У меня возникла такая проблемка что юнити не распознаёт float и deltaTime подскажи пожалуйста что делать в таких случаях?

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว +1

      Как это не распознает? Такого не может быть. Код по ссылке скачивал?

    • @deffking
      @deffking ปีที่แล้ว +1

      Нет, а где ссылка?

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว +1

      В описании, естественно.

    • @deffking
      @deffking ปีที่แล้ว

      @@АйтиНуб спасибо большое

  • @СветозарБоголюбов
    @СветозарБоголюбов ปีที่แล้ว +3

    Очень не гибкое решение с точками патрулирования. Что если врагов несколько и у них разные точки? Такое решение не подойдет. Искать точки по тегам через find() да еще в скрипте анимации - супернеудобно, да и вообще find это грешновато. Тут напрашивается перенести список точек в конкретного врага через сериализуемое поле. А через параметр аниматор в методах обработки событий анимаций находить нужного врага и менять ему состояние на требуемое в нужные моменты.

  • @PlayGoIlya
    @PlayGoIlya 4 หลายเดือนก่อน +1

    Привет. У Меня не работает хотя всё также, я даже сделал анимацию хотя её нету, и всё равно не работает, как так

    • @АйтиНуб
      @АйтиНуб  4 หลายเดือนก่อน

      Привет, к сожалению я без проэкта ничего сказать не могу. Кстати закрепленный коментарий читал? Может они в юнити что-то изменили и такой способ не работает на новой версии редактора.Для чистоты эксперимента надо ту же версию брать что и у меня и пробовать. Ты же видишь, что у меня все работает, значит у тебя должно.

  • @natriy523
    @natriy523 ปีที่แล้ว +2

    как сделать так чтобы враг РАНДОМНО выбирал точку на карте и шел к ней (а при виде нас атаковал) (я буквально 0 в програмировании поэтому поясните подробно пж)

    • @assasin4863
      @assasin4863 7 หลายเดือนก่อน

      th-cam.com/video/-ctJjlZl2s8/w-d-xo.htmlsi=mjkYP_FY_Uql1Xjb

  • @mayzerhit5840
    @mayzerhit5840 ปีที่แล้ว +1

    Подскажите пожалуйста, у меня не появляется полотно при нажатии на кнопку Bake, как это исправить? Из за этого персонаж enemy не ходит а стоит на месте

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Короче так, выбираешь статические объекты (поле, деревья, дома, которые не двигаются), потом идешь соответственно Navigation здесь во вкладке Object есть Navigation static ставишь птичку, потом идешь Bake и делаешь Bake и все. Не забудь Navmesh Agent на двигающийся объект поставить.

    • @СветозарБоголюбов
      @СветозарБоголюбов ปีที่แล้ว +1

      В окне сцены проверь чтобы было черное полупрозрачное окошко AI Navigation (в старых версиях NavMesh DIsplay) и в нем нажать галочка "Show NavMash". Если черного окошка нет, то жми в правом верхнем углу окна сцены на кнопочку с тремя вертикальными точками и выбирай Overlay Menu. В этом меню включить показ окна AI Navigation.

  • @амирзакиров-п2ц
    @амирзакиров-п2ц ปีที่แล้ว +1

    как переместить анимацию в аниматор не получается просто перемещением

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Ты скорее всего пустую анимацию пытаешься закинуть, так естественно не будет работать. Как сделать анимацию смотри это видео с минуты 3-20 th-cam.com/video/A6JqNjSnoF8/w-d-xo.html

  • @zombirovan
    @zombirovan ปีที่แล้ว +1

    Можете подсказать как сделать спавнер для этих врагов врагов? У меня есть скрипт для спавна но я не могу *объект персонажа* засунуть в таргет (враг в префабах) (Я знаю что нельзя закидывать объект в префаб как быть?)

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Так сходу подсказать не могу, могу лишь по советовать готовый ассет взять, вот здесь например unityassetfree.com/search?search=spawn&submit=.

  • @Ignis_Guido
    @Ignis_Guido ปีที่แล้ว +2

    Здравствуйте, возникла проблема - при контакте врага с игроком, враг заваливается на бок падая на 90% не подскажите как это можно исправить?

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Привет. Если на объекте есть rigidbody, то в иерархии в риджитбоди есть Constants открываешь и там есть Freeze Position и Freeze Rotation, то есть заморозить позицию или ротацию. Тебе нужно ротацию, ставишь птичку на нужном векторе, здесь у тебя вектор z скорее всего и все. Ну или замораживаешь, тот вектор или позицию какую тебе надо.

    • @Ignis_Guido
      @Ignis_Guido ปีที่แล้ว +1

      @@АйтиНуб спасибо Вам, но к сожалению это не помогло. Персонаж продолжает ложиться на бок под Х rotation - 90. Можно ли ещё как - то это решить?

    • @buter_s_sirom
      @buter_s_sirom ปีที่แล้ว

      Попробуй вместе с z поворот по х заморозить

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      @@Ignis_Guido Можно, если я увижу этот проект, хочешь скинь на гугл или яндекс диск, я посмотрю.

    • @Ignis_Guido
      @Ignis_Guido ปีที่แล้ว +1

      @@АйтиНуб спасибо Вам. Я использовал ранее box collider и заменил его на коллайдер капсулы и впоследствии используя вашу настройку rigidbody смог пофиксить проблему

  • @ikizliruslan
    @ikizliruslan ปีที่แล้ว +2

    Спасибо тебе все получилось

  • @ОлегМуравьев-у2в
    @ОлегМуравьев-у2в ปีที่แล้ว +1

    Приве́т, столкнулся с такой проблемой.
    Сохраняю билд, запускаю, все работает нормально. Делаю какие-либо правки, но при следующем сохранении билда ничего не меняется. Менял папки и полностью удалял предыдущий билд, но не помогает. Сами изменения в проекте сохраняются, а билд не собирается новым, как первый раз собрал так и получается всегда.

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว +1

      Попробуй просто новый билд в другом месте сохранить.

  • @Gameplay_co2
    @Gameplay_co2 ปีที่แล้ว +1

    здравствуйте а как сделать чтобы бот ходил не по точкам а по всей карте

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Привет. К сожалению, не знаю, так как сам такого не делал.

  • @Pilipchek_stalker44
    @Pilipchek_stalker44 ปีที่แล้ว +3

    👍

  • @shtreben
    @shtreben ปีที่แล้ว +1

    8:26 что за t? У меня юнити ругается, пишет что в этом контексте нельзя употреблять t !

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Ищите ошибку, как видите здесь все работает.

    • @shtreben
      @shtreben ปีที่แล้ว

      @@АйтиНуб все исправил , спасибо

  • @sookoshvily2037
    @sookoshvily2037 ปีที่แล้ว +1

    Можете помочь, почему у меня он атакует один раз и встаёт?

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว +1

      В анимации удара loop включен, посмотри птичка в loop есть.

  • @Hdhs-qp7yo
    @Hdhs-qp7yo ปีที่แล้ว +1

    Кто нибудь сталкивался с багом:если фпс контролер выше определеного уровня, враг падает и бьет снизу вверх. Подскажите пожалуйста как решить

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว +1

      В смысле выше уровня?

    • @Hdhs-qp7yo
      @Hdhs-qp7yo ปีที่แล้ว +1

      @@АйтиНуб если fps контролёр становится выше врага, враг смотрит на него и атакует, вися как бы в воздухе

  • @prosto_danik2609
    @prosto_danik2609 ปีที่แล้ว +1

    Подскажите пожалуйста, как называется карта в assets store

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Рад бы по помочь да не могу. Я их не запоминаю, а проект давным давно удален, чтобы посмотреть. Единственное, что помню там вроде был еще зимний вариант в ассете. В ассет сторе напиши в поиске что то типа : medieval environment Что то похоже на этот, а может это он т есть, не помню assetstore.unity.com/packages/3d/environments/fantasy/fantasy-game-set-boundle-17002

    • @prosto_danik2609
      @prosto_danik2609 ปีที่แล้ว +1

      @@АйтиНуб Спасибо большое

  • @НикНейм-ч3л
    @НикНейм-ч3л ปีที่แล้ว +1

    А как сделать, допустим, ядовитое облако, находясь в котором, моб будет получать урон.
    Для меня это большая проблема

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Не делал, не знаю.

    • @НикНейм-ч3л
      @НикНейм-ч3л ปีที่แล้ว

      @@АйтиНуб , если не сложно, сделайте, пожалуйста. Я добавил в игру уголь и он по нажатию создаёт триггер, который наносит урон как игроку, так и мобу.
      С игроком работает на ура, а с мобом почему-то не работает

  • @Hdhs-qp7yo
    @Hdhs-qp7yo ปีที่แล้ว +1

    Автор, больше спасибо

  • @RomanTest-sj8ep
    @RomanTest-sj8ep ปีที่แล้ว +1

    Класс!

  • @АлексейОлегович-р9е
    @АлексейОлегович-р9е ปีที่แล้ว +1

    Почему у меня во вкладке Window нет строчки с Ai, кто-то сталкивался. Версия 2022.2

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Походу надо установить из package managerа. Ты наверное какую то не обкатаную версию Unity редактора поставил там возможны чудеса разные. Я всегда ставлю LTS версию, она стабильна. Здесь подробнее глянь:
      forum.unity.com/threads/where-is-window-ai-navigation.1296018/

  • @karasgaming3231
    @karasgaming3231 8 หลายเดือนก่อน +2

    А если нету меню Bake

    • @АйтиНуб
      @АйтиНуб  8 หลายเดือนก่อน

      Смотри закрепленный комментарий.

  • @buter_s_sirom
    @buter_s_sirom ปีที่แล้ว

    Добрый день! На данную строку кода(8:07 или около того) выдаёт такую ошибку, не могли бы ли Вы подсказать, как это исправить?
    Transform pointsObject = GameObject.FindGameObjectsWithTag("Points").transform;
    Ошибка CS1061 "GameObject[]" не содержит определения "transform", и не удалось найти доступный метод расширения "transform", принимающий тип "GameObject[]" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Привет, коды по ссылке брали? Теги стоят? Названия с названиями в скрипте совпадают?

    • @alex25loks
      @alex25loks ปีที่แล้ว

      В строчке "Transform pointsObject = GameObject.FindGameObjectsWithTag("Points").transform;" измени "FindGameObjectsWithTag" на "FindGameObjectWithTag", тогда всё будет работать, тоже такая проблема была

    • @user-lx7ng6ob5l
      @user-lx7ng6ob5l ปีที่แล้ว

      ​@@alex25loks вы даже не представляете на сколько я вам благодарен

    • @alex25loks
      @alex25loks ปีที่แล้ว

      @@user-lx7ng6ob5l Всегда пожалуйста

    • @lazzypy1926
      @lazzypy1926 ปีที่แล้ว

      Здравствуйте, попробуйте так. GameObject[] poibtObject = GameObject.FindGameObjectsWithTag("Points").transform;

  • @b0ka32
    @b0ka32 ปีที่แล้ว

    вылезает ошибка ("GetRemainingDistance" can only be called on an active agent that has been placed on a NavMesh.
    UnityEngine.StackTraceUtility:ExtractStackTrace () ) как я понял, это что-то типо "вы не навешали на navMesh на enemy" , вообще хз как фиксить, сейчас лазаю по форумам. Может сталкивался уже кто? подскажите как фиксили, пожалуйста

    • @b0ka32
      @b0ka32 ปีที่แล้ว

      это где-то в скрипте патруля

    • @N3Vlad
      @N3Vlad 5 หลายเดือนก่อน

      Я не поздно? Добавь нав меш на врага, и запеки пространство для передвижения

  • @scottdalle
    @scottdalle ปีที่แล้ว +1

    Что делать если когда враг подходит он ложится

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

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

  • @_waitfish_8248
    @_waitfish_8248 ปีที่แล้ว +1

    А что делать если перс бежит просто в перед, хотя сферы стоят и всю область выделил bake?

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Я не знаю, смотрите внимательно, что то где то пропустили, куда то не вставили. Mesh Agent есть на персе? Я не видел проект, как я могу что то сказать по сути, если с нуля сделали, как у меня, то все должно работать.

    • @fogowwsky
      @fogowwsky ปีที่แล้ว

      поставь свойство "static" на недвижимых обьектах

  • @panteley83
    @panteley83 ปีที่แล้ว +1

    а что делать если враг при погони бежит на месте?

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว +1

      Ошибки ищите. Я же не вижу ваш проект, как я могу знать.

  • @Осуждающий-и8с
    @Осуждающий-и8с ปีที่แล้ว +1

    Что делать если нет анимации покоя и других анимаций? Мне они не нужны (неважно почему) и у меня их нет . Что делать?

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Не понял!? Что у тебя за игра такая?

    • @Осуждающий-и8с
      @Осуждающий-и8с ปีที่แล้ว

      @@АйтиНуб Я делаю про унитаз)

    • @Осуждающий-и8с
      @Осуждающий-и8с ปีที่แล้ว +1

      @@АйтиНуб Это просто от нечего делать игра , про унитаз , где не нужны ему анимации =)

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      @@Осуждающий-и8с Просто действие на кнопку если, то выбирай кнопку и по нажатию выполняй нужное действие.

    • @Hdhs-qp7yo
      @Hdhs-qp7yo ปีที่แล้ว

      ​@@Осуждающий-и8сахахах

  • @ДенисКарчков
    @ДенисКарчков ปีที่แล้ว +2

    Отличный урок! Как всегда всё понятно=)
    Но есть вопрос. Чем добавление поведения мобов через add behaviour лучше создания отдельных скриптов для их контроля?

    • @СветозарБоголюбов
      @СветозарБоголюбов ปีที่แล้ว +2

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

    • @nikolayskoblov7480
      @nikolayskoblov7480 11 หลายเดือนก่อน

      @@СветозарБоголюбоввот тут и возникает вопрос как все таки ПРАВИЛЬНО делать - единый скрипт или вот эти StateMachineBehavior? Ведь в них можно и обработку ввода сделать и таким образом и игрока тоже реализовать через эти скрипты

  • @BoBr01012
    @BoBr01012 ปีที่แล้ว +1

    Видео очень хорошее объясняете тоже хорошо но почему я не могу использовать Bake в Navigation?

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Спасибо за отзыв. Выделяешь все статические объекты: здания, деревья и т.д и нажимаешь bake. Должно работать.

    • @buter_s_sirom
      @buter_s_sirom ปีที่แล้ว +1

      У меня заработало только когда я все объекты сделала дочерними для одного из них, может у Вас также

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      @@buter_s_sirom Например точки должны иметь общего родителя. Да и вообще группировать надо, чтобы легче было потом.

  • @thtvr6652
    @thtvr6652 ปีที่แล้ว +1

    Что делать если во вкладке виндус нету раздела Al

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Не знаю, уменя версия редактора 2021.3.0f1 там все есть, может в более новых версиях что то изменилось, куда то в другое место перенесли navigation, поищите.

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว +1

      Да изменилось в новых версиях. Учитесь на будущее сами искать такое, сейчас система ai navigation находится в package manager вот видео здесь th-cam.com/video/u2EQtrdgfNs/w-d-xo.html

    • @thtvr6652
      @thtvr6652 ปีที่แล้ว +1

      @@АйтиНуб спасибо

  • @SaOzd
    @SaOzd ปีที่แล้ว

    У меня проблема когда я тестирую игру на андроид то, на телефоне враги двигаются но не перемешаются, интересно почему?

    • @SaOzd
      @SaOzd ปีที่แล้ว

      Кажется проблема в NavMeshAgent

    • @Hdhs-qp7yo
      @Hdhs-qp7yo ปีที่แล้ว

      ​@@SaOzdздравствуйте,вы смогли решить?

  • @Ablatytu_
    @Ablatytu_ 5 หลายเดือนก่อน +1

    ArgumentOutORangeException: Index was out of range. Must be non-negative and less than the size of the collection.
    Parameter name: index
    Теги все навешаны правильно, AI тоже, никаких конфликтов с другими скриптами нет. Версия юнити конечно новая, но сомневаюсь, что в этом проблема, главное AI старый я установил

    • @АйтиНуб
      @АйтиНуб  5 หลายเดือนก่อน

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

    • @Ablatytu_
      @Ablatytu_ 5 หลายเดือนก่อน

      @@АйтиНуб так у меня всего 4 объекта в коллекции

    • @Ablatytu_
      @Ablatytu_ 5 หลายเดือนก่อน

      @@АйтиНубя могу вам проект тогда скинуть? Потому что даже в пустом проекте, та же самая ошибка

  • @repouH4uK
    @repouH4uK 9 หลายเดือนก่อน +1

    кто может подсказать почему у меня в 14 строке транмформ подчёркнуто?

    • @АйтиНуб
      @АйтиНуб  9 หลายเดือนก่อน

      Смотри, у меня здесь старая версия редактора, у тебя скорее всего новая уже обновленная, поэтому может у них что-то там поменялось уже. Когда наводишь курсор ничего не написано?

    • @repouH4uK
      @repouH4uK 9 หลายเดือนก่อน

      @@АйтиНуб я уже разобрался я просто из вашего скрипта который прикреплён к ролику взял эту строку и вставил в свой скрипт и у меня всё заработало

  • @daniilloparev947
    @daniilloparev947 ปีที่แล้ว +1

    Что делать если у меня что-то с кодом не то вроде все правильно и копировал код имам делал все равно не получается

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

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

    • @daniilloparev947
      @daniilloparev947 ปีที่แล้ว +1

      ​@@АйтиНуб Вроде больше нет ошибок но теперь он бесконечно стоит на месте

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว +1

      @@daniilloparev947 Я что могу? У меня твоего проекта нет, как я могу знать, что там.

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Вышли проект, если хочешь я скажу в чем проблема.

    • @daniilloparev947
      @daniilloparev947 ปีที่แล้ว

      @@АйтиНуб да

  • @neko4ka0
    @neko4ka0 ปีที่แล้ว +3

    Сразу лайк авансом. И я первый)

  • @Chesna8198
    @Chesna8198 ปีที่แล้ว +1

    А что делать если нет пункта Ai?

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Какого пункта AI и где нету, конкретнее? UnityEngine.AI это пространство имен.

  • @geronfamili593
    @geronfamili593 ปีที่แล้ว

    5:51 как это сделать? Я не понимаю, на какие клавишу нужно нажимать

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Раскомментировать писанину и оставить только методы, если ты про гарячие клавиши, то можно было бы в самой программе посмотреть или в интернете Ctrl + K Ctrl + U.По ссылке в описании можно готовый скрипт скачать и не мучаться.

    • @geronfamili593
      @geronfamili593 ปีที่แล้ว

      @@АйтиНуб Большое спасибо за ответ

  • @crazyfilin4459
    @crazyfilin4459 ปีที่แล้ว +2

    Хэлп
    ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index

    • @никитаковалев-к5у
      @никитаковалев-к5у ปีที่แล้ว +1

      У мень была такая же проблема. Сделай список не с Transform а с GameObject. Потом обращаяся не .position, а .transform.position.😅😊

    • @notgay228ultra
      @notgay228ultra 2 หลายเดือนก่อน

      @@никитаковалев-к5у Привет, у тебя не осталось кода?

    • @Samorezz-zi7do
      @Samorezz-zi7do 2 หลายเดือนก่อน

      @@никитаковалев-к5у а можно поподробнее как это сделать и что заменить в коде

  • @НикНейм-ч3л
    @НикНейм-ч3л ปีที่แล้ว +1

    Туториал неплохой, наконец сделал мобу больший ИИ, чем просто ходить по карте, но у меня такой вопрос: а если мобу нужно атаковать не только игрока? Представим, что я хочу добавить в игру зомби. Он будет враждебен как к игроку, так и к рыцарю. Рыцарь аналогично, только реагирует уже на зомби. Как такое реализовать?

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Тут надо все продумать так не скажу сразу, как правильно, я не профи. Некоторые вообще не так делают ии и не с тегами делают, а с компонентом, например у кого есть компонент с названием Enemy на того и нападает, то есть в инспекторе добавить скрипт с названием Enemy и там логику. Ну это так не объяснить, надо делать , пробовать.

    • @НикНейм-ч3л
      @НикНейм-ч3л ปีที่แล้ว +1

      @@АйтиНуб , у меня появилась идея. Как только это будет реализовано, я могу сообщить

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      @@НикНейм-ч3л Ok

    • @НикНейм-ч3л
      @НикНейм-ч3л ปีที่แล้ว

      @@АйтиНуб , есть хорошая новость. Кажись, я смог это реализовать. Есть ВК или Дискорд?

    • @sadkotik
      @sadkotik ปีที่แล้ว

      @@НикНейм-ч3л Привет! Тоже учусь разрабатывать игры, ищу везде гайды, чтобы разбираться лучше. Если есть возможность, можно как-то связаться с тобой и увидеть как у тебя получилось реализовать такой ии? У самой допетрить не получается особо, потому надеюсь на помощь😅

  • @kotokombo6751
    @kotokombo6751 ปีที่แล้ว

    Второй баг в твоем коде ты в апдейте рандомно создаешь точку куда двигаться от этого он постоянно меняет кординаты. Опять задебажил там 8 точек и каж дебаг лог выдает дич каждый кадр. Рандом надо вынести за апдейт.

  • @PwaweDafe
    @PwaweDafe 5 หลายเดือนก่อน +1

    Что делать если персонаж в пол уходит?

    • @АйтиНуб
      @АйтиНуб  5 หลายเดือนก่อน

      Проверте коллайдеры на персонаже.

    • @PwaweDafe
      @PwaweDafe 4 หลายเดือนก่อน +1

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

    • @АйтиНуб
      @АйтиНуб  4 หลายเดือนก่อน

      @@PwaweDafe К сожалению ничего не могу сказать я уже юнити не занимаюсь.

    • @АйтиНуб
      @АйтиНуб  4 หลายเดือนก่อน

      @@PwaweDafe К сожалению, я с юнити уже давно распрощался, ничего сказать не могу.

  • @никто-ю8р
    @никто-ю8р 10 หลายเดือนก่อน

    А у меня токого значения не что мне делать

  • @killmersy2504
    @killmersy2504 ปีที่แล้ว +1

    А как сделать так чтоб им не проходил сквозь стены

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Он и не должен проходить, если у тебя везде есть коллайдеры на всех объектах и соответственно правильно настроены.

    • @killmersy2504
      @killmersy2504 ปีที่แล้ว +1

      @@АйтиНуб ну я создал ИИ и он проходит через стен а я меш рендер включил

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      @@killmersy2504 Коллайдер на нем есть и на стенах причем здесь меш. Коллайдеры соприкасаются и не пускают, это как барьер.

    • @killmersy2504
      @killmersy2504 ปีที่แล้ว +1

      @@АйтиНуб то есть дело не в стенах а в ИИ

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      @@killmersy2504 На любом объекте, если ты хочешь чтобы через него что-то пролетало наскыозь, должен висеть коллайдер. Например у тебя персонаж стоит на земле, у нее есть коллайдер в инспекторе, если ты уберещь его, то персонаж провалится в бездну. На персонаже и на стенах должны быть коллайдеры.

  • @OS-ez9re
    @OS-ez9re 11 หลายเดือนก่อน +2

    он бегал только к одной точке. решение:
    у вас было пара ошибок, вот скрипты правильные:
    IdleBehaviour:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class IdleBehaviour : StateMachineBehaviour
    {
    float timer;
    Transform player;
    float chaseRange = 10;
    // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    timer = 0f;
    player = GameObject.FindGameObjectWithTag("Player").transform;
    }
    // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    timer += Time.deltaTime;
    if (timer > 2) {
    timer = 0f;
    animator.SetBool("isPatrolling", true);
    }
    float distance = Vector3.Distance(animator.transform.position, player.position);
    if (distance < chaseRange) {
    animator.SetBool("isChasing", true);
    timer = 0f;
    }

    }
    // OnStateExit is called when a transition ends and the state machine finishes evaluating this state
    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    }
    }
    PatrolBehaviour:
    using UnityEngine.AI;
    using System.Collections.Generic;
    using UnityEngine;
    public class PatrolBehaviour : StateMachineBehaviour
    {
    float timer;
    int random;
    List points = new List();
    NavMeshAgent agent;
    Transform player;
    float chaseRange = 10;
    // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    timer = 0;
    Transform pointsObject = GameObject.FindGameObjectWithTag("Points").transform;
    foreach (Transform t in pointsObject)
    points.Add(t);
    random = Random.Range(0, 9);
    agent = animator.GetComponent();
    agent.SetDestination(points[random].position);
    player = GameObject.FindGameObjectWithTag("Player").transform;
    }
    // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    if (agent.remainingDistance 5) {
    animator.SetBool("isPatrolling", false);
    timer = 0f;
    }
    float distance = Vector3.Distance(animator.transform.position, player.position);
    if (distance < chaseRange) {
    animator.SetBool("isChasing", true);
    timer = 0f;
    }
    }
    // OnStateExit is called when a transition ends and the state machine finishes evaluating this state
    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    agent.SetDestination(agent.transform.position);
    }
    }
    ChaseBehaviour:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.AI;
    public class ChaseBehaviour : StateMachineBehaviour
    {
    NavMeshAgent agent;
    Transform player;
    float attackRange = 2;
    // float chaseRange = 10;
    // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    agent = animator.GetComponent();
    agent.speed = 4;
    player = GameObject.FindGameObjectWithTag("Player").transform;
    }
    // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    agent.SetDestination(player.position);
    float distance = Vector3.Distance(animator.transform.position, player.position);
    if (distance < attackRange)
    animator.SetBool("isAttacking", true);

    if (distance > 10)
    animator.SetBool("isChasing", false);
    }
    // OnStateExit is called when a transition ends and the state machine finishes evaluating this state
    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    agent.SetDestination(agent.transform.position);
    agent.speed = 2;
    }
    }
    AttackBehaviour:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class AttackBehaviour : StateMachineBehaviour
    {
    Transform player;
    // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    player = GameObject.FindGameObjectWithTag("Player").transform;
    }
    // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    animator.transform.LookAt(player);
    float distance = Vector3.Distance(animator.transform.position, player.position);
    if (distance > 3)
    animator.SetBool("isAttacking", false);
    if (distance > 10)
    animator.SetBool("isChasing", false);
    }
    // OnStateExit is called when a transition ends and the state machine finishes evaluating this state
    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    }
    }

  • @sergeygornostaev328
    @sergeygornostaev328 ปีที่แล้ว +1

    привет) а у меня почему ходит к одной точке(

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Внимательно смотрите, что то не сделали значит. Все точки добавили в массив?

    • @sergeygornostaev328
      @sergeygornostaev328 ปีที่แล้ว +1

      @@АйтиНуб У вас анимации Generic ,а с humanoid остается кружится на месте

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      @@sergeygornostaev328 Если кружится на месте значит не видит куда ему идти. NavMesh Agent стоит? Наугад не могу помочь тебе, хочешь кинь прект скажу ошибку.

  • @kotokombo6751
    @kotokombo6751 ปีที่แล้ว

    Баг в скрипте когда заносиш поинты в листовый мосив. У меня 8 поинтов заноситься в масив потом при следующем вызове этой анимации снова они же заносяться. Кароче в скрипте перед timer = 0 надо дописать points.Clear(); Ато масив разрастаеться до бесконечности. Задебажыл там 8 , 16, 25 и так далее.

  • @Orl_a_n_Do
    @Orl_a_n_Do 10 หลายเดือนก่อน +1

    Вот только не понял как вкладка AI в Window появилась

    • @АйтиНуб
      @АйтиНуб  10 หลายเดือนก่อน

      Она там и была это на новых версиях ai navigation надо устанавливать, в старых версиях редактора она там была. В левом верхнем углу версия редактора указана.

    • @karasgaming3231
      @karasgaming3231 8 หลายเดือนก่อน

      ​@@АйтиНуб вкладки Bake нету

  • @kotokombo6751
    @kotokombo6751 ปีที่แล้ว

    Ну и третий баг ты скопировал таймер он не дожыдаеться пока он дойдет до точки. И тупо меняет направление. Тоести по истечению 10 секунд поф дошел нет менят точку.

  • @ЛидаИсмагулова-о3с
    @ЛидаИсмагулова-о3с ปีที่แล้ว +1

    Очень понравился ваш урок, но у меня враг не реагирует на игрока хотя я tag на игрока наложила. Патруль работает а остальное нет

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

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

    • @ЛидаИсмагулова-о3с
      @ЛидаИсмагулова-о3с ปีที่แล้ว +1

      @@АйтиНуб Спасибо, вообще у меня игрок от третьего лица и я попробовала добавить asset от первого лица и все заработало однако я не понимаю почему на моего игрока не реагирует

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      @@ЛидаИсмагулова-о3с ОК. Еще бы доступ открыть, было бы хорошо, а то я без доступа скачать то не могу.

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      @@ЛидаИсмагулова-о3с У тебя там проблема с контроллером и камерой, у меня почему то твой перс в другие стороны ходит, жму в лево она враво и наоборот, но это не суть. В коде все ровно. Для начала удали first person controller ведь он не нужен. Мышку тоже не выключила при игре. Короче ты должна сделать, а лучше взять уже готовый third person controller и пробовать. Я взял вот этотunityassetfree.com/file/invector-third-person-controller-basic-locomotion-template как установить свою модель можно посмотреть в этом видео th-cam.com/video/MQAj4ppKOoM/w-d-xo.html где то с 5 минуты. Я правда пробовал с ихним ботом, все работало прекрасно, но с твоей моделью присутствуют артефакты. Короче вывод с врагом и скриптами все хорошо, а вот проблема есть в контроллере. Если будешь пробовать то выставляй координаты игрока на позиции в инспекторе transform position по x = -410, по y = 0.2 и по z = 120, чтобы долго не мучилась и на место возле врага сразу встал персонаж. Я предлагаю пробовать или с этим контроллером или подобрать любой другой на сайте есть выбор. Я еще посмотрю, если найду как сделать сниму видео и вышлю. А пока пробуй сама, главное все ненужное всегда удаляй, чтобы не было в сцене куча контроллеров, камер и прочего, а то они конфликтуют. Врага не трогаешь и скрипты с ним связанные, а ищещь контроллер или пишешь свой.

    • @ЛидаИсмагулова-о3с
      @ЛидаИсмагулова-о3с ปีที่แล้ว +1

      @@АйтиНуб Хорошо ,спасибо большое за подробное объяснение

  • @4ll4inS3r13s
    @4ll4inS3r13s 11 หลายเดือนก่อน

    помогите пж, у меня во вкладке Window нет AI

    • @АйтиНуб
      @АйтиНуб  11 หลายเดือนก่อน

      В новых версиях по моему устанавливать надо в package manager. Вот видео может поможет th-cam.com/video/u2EQtrdgfNs/w-d-xo.html
      И на будущее, там постоянно что то будет в unity меняться, так что ищите или в гугле или на официанльном сайте какие обновления в каких версиях были. Вот результаты www.google.com/search?client=firefox-b-d&q=ai+navigation+in+unity

    • @4ll4inS3r13s
      @4ll4inS3r13s 11 หลายเดือนก่อน

      @@АйтиНубБлагодарю

    • @4ll4inS3r13s
      @4ll4inS3r13s 11 หลายเดือนก่อน +1

      У меня не получается найти Bake после установки этого, где он расположен

    • @АйтиНуб
      @АйтиНуб  11 หลายเดือนก่อน

      @@4ll4inS3r13s У меня старая версия движка. Вот здесь смотри th-cam.com/video/2f2azhep87I/w-d-xo.html

    • @4ll4inS3r13s
      @4ll4inS3r13s 11 หลายเดือนก่อน

      а какого года? я тоже такой установлю
      @@АйтиНуб

  • @DizHelp.official
    @DizHelp.official ปีที่แล้ว

    у меня нету al

  • @user-zq7hq2ix4f
    @user-zq7hq2ix4f ปีที่แล้ว +1

    урок хороший, но шрифт в vs нужно больше делать

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      В более новых видео уже сделан, да и скрипт готовый есть в описании.

    • @user-zq7hq2ix4f
      @user-zq7hq2ix4f ปีที่แล้ว +1

      @@АйтиНуб спасибо, понял не буду бухтеть

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      @@user-zq7hq2ix4f Ничего страшного, я сам виноват, лопухнулся по началу.

  • @terggrgegergre
    @terggrgegergre 7 หลายเดือนก่อน +1

    а что если нет AI

    • @АйтиНуб
      @АйтиНуб  7 หลายเดือนก่อน

      Смотрите закрепленный комментарий.

  • @artgin3811
    @artgin3811 ปีที่แล้ว

    Спасибо большое за урок! Все работает как надо, но если врагов сделать больше 3х они начинают иногда тупить в одну точку и никак не разойдутся...

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว +2

      Спасибо. Дело в том, что в моих именно и не только в моих видео не есть решение для создания полноценной игры, а так сказать подсказка к дальнейшем вашим действием. То есть вы должны сами освоить программирование, но опираясь на какие то методы в моих видео. На платных курсах или уроках там уже серьезная разработка, а здесь чтобы хотя бы вы поняли что к чему.

    • @aramharutyunyan5681
      @aramharutyunyan5681 ปีที่แล้ว

      Можно сделать как с харвесторами в стратегиях, когда они ждут своей очереди что бы войти в здание и отдать ресурсы
      То есть, сделать так что если в точке уже находится патрульныц, то другой патрульный туда не шёл
      Это можно сделать таким образом
      Создать класс объекта и там вписать геймобджект патрульный
      И метод которая говорит кто этот патрульный и который убирает его а в патрульном сделать проверку на состояние поля геймобджекта, если он null то можно смело идти, а если нет то ищем другой
      Это проблема всех NavMeshAgent-ов, мы им даём один пункт и они всеми силами пытаются туда добраться, и друг с другом как будто в толчки играют

  • @M.E.V..
    @M.E.V.. ปีที่แล้ว

    Все сделал и ни чего не происходит. Просто стоит в idle

  • @Imperatorakio1
    @Imperatorakio1 ปีที่แล้ว

    Ктото знает а как сделать так чтобы враг рандомно выбирал точку?

    • @COIDAT-
      @COIDAT- ปีที่แล้ว

      Он так и делает

    • @DissKAHom
      @DissKAHom ปีที่แล้ว

      //создание случайно точки для движения
      float randomZ = Random.Range(-walkPointRange, walkPointRange);
      float randomX = Random.Range(-walkPointRange, walkPointRange);
      wayPoint = new Vector3(transform.position.x + randomX, transform.position.y, transform.position.z + randomZ);
      if(Physics.Raycast(wayPoint, -transform.up, 2f, whatIsGround ))
      {
      walkPointSet = true;
      }

  • @MrFnafetski
    @MrFnafetski 9 หลายเดือนก่อน +1

    у меня персонаж идёт прямо и всё

    • @АйтиНуб
      @АйтиНуб  9 หลายเดือนก่อน +1

      Если скрипт берете у меня смотрите чтобы переменные и объекты имели такие же названия как в скрипте или меняйте на свои, анимации стоят и переменные?.

  • @LIDESD
    @LIDESD ปีที่แล้ว +1

    чета у меня 900 ошибок

    • @АйтиНуб
      @АйтиНуб  ปีที่แล้ว

      Читай и исправляй, там наверное все 900 ошибок с одной связано.

  • @ZxcHorusLite
    @ZxcHorusLite 9 หลายเดือนก่อน

    помогите исправить ошибки пожалуйста
    1) NullReferenceException: Object reference not set to an instance of an object
    PatrolBehaviour.OnStateUpdate (UnityEngine.Animator animator, UnityEngine.AnimatorStateInfo stateInfo, System.Int32 layerIndex) (at Assets/scripts/PatrolBehaviour.cs:37)
    2) "GetRemainingDistance" can only be called on an active agent that has been placed on a NavMesh.
    UnityEngine.StackTraceUtility:ExtractStackTrace ()
    PatrolBehaviour:OnStateUpdate (UnityEngine.Animator,UnityEngine.AnimatorStateInfo,int) (at Assets/scripts/PatrolBehaviour.cs:30)
    обе ошибки появляються при анимации хождения при этом все анимации работают
    проверил все теги и названия
    может ли это быть из-за того что враг состоит из нескольких объектов?

  • @Chebupel.CandGdeveloper
    @Chebupel.CandGdeveloper 5 หลายเดือนก่อน +1

    что делать у меня нпс под землю падает по плечи?

    • @АйтиНуб
      @АйтиНуб  5 หลายเดือนก่อน

      Коллайдеры на нем проверь.