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

Поділитися
Вставка
  • Опубліковано 12 січ 2025

КОМЕНТАРІ • 288

  • @АйтиНуб
    @АйтиНуб  Рік тому +9

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

    • @---eu1ki
      @---eu1ki Рік тому +1

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

    • @---eu1ki
      @---eu1ki Рік тому +2

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

    • @---eu1ki
      @---eu1ki Рік тому +2

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @никто-ю8р
      @никто-ю8р Рік тому

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

  • @MALDON777
    @MALDON777 8 місяців тому +8

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

    • @АйтиНуб
      @АйтиНуб  8 місяців тому +4

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

    • @Флоутенс
      @Флоутенс 7 місяців тому

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

    • @komron2008
      @komron2008 5 місяців тому

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

    • @EmilBash
      @EmilBash 5 місяців тому +1

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

    • @copying2017
      @copying2017 4 місяці тому

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

  • @toxi3114
    @toxi3114 Рік тому +6

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

  • @СветозарБоголюбов

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

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

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

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

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

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

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

    • @Ablatytu_
      @Ablatytu_ 8 місяців тому

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

    • @genuich006
      @genuich006 8 місяців тому

      @@Ablatytu_ А почему ?

  • @MCOTRISKIN47
    @MCOTRISKIN47 3 місяці тому +1

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

  • @krishovie
    @krishovie Рік тому +3

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

  • @vvaifuofficial
    @vvaifuofficial Рік тому +4

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

  • @PodvalTea
    @PodvalTea Місяць тому

    (11:54) а не легче сделать транзишн с any state к каждой анимации вместо того, чтобы настраивать переход между самими анимациями?

  • @infavi
    @infavi Рік тому +3

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

  • @GAMESPICTURE_official
    @GAMESPICTURE_official 10 місяців тому +2

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

    • @АйтиНуб
      @АйтиНуб  9 місяців тому

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

  • @M.E.V..
    @M.E.V.. Рік тому +1

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

    • @АйтиНуб
      @АйтиНуб  Рік тому +3

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

    • @Разработчик-ъ6т
      @Разработчик-ъ6т 2 місяці тому +1

      В компоненте "NawMeshAgent" увеличь параметр "Stopping Distance" (до 5 например)

  • @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 5 місяців тому

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

    • @Samorezz-zi7do
      @Samorezz-zi7do 5 місяців тому

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

  • @СветозарБоголюбов

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

  • @foxy9246
    @foxy9246 6 місяців тому +2

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

    • @АйтиНуб
      @АйтиНуб  6 місяців тому

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

    • @foxy9246
      @foxy9246 6 місяців тому

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

    • @foxy9246
      @foxy9246 6 місяців тому

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

  • @sofaglava
    @sofaglava Рік тому +2

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

    • @АйтиНуб
      @АйтиНуб  Рік тому +1

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

  • @Finel_Yqog
    @Finel_Yqog Рік тому +3

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

  • @Ablatytu_
    @Ablatytu_ 8 місяців тому +1

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

    • @АйтиНуб
      @АйтиНуб  8 місяців тому

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

    • @Ablatytu_
      @Ablatytu_ 8 місяців тому

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

    • @Ablatytu_
      @Ablatytu_ 8 місяців тому

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

  • @OS-ez9re
    @OS-ez9re Рік тому +5

    он бегал только к одной точке. решение:
    у вас было пара ошибок, вот скрипты правильные:
    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)
    {
    }
    }

  • @rickjonn5451
    @rickjonn5451 Рік тому +2

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

  • @Пошел-и1о
    @Пошел-и1о 11 місяців тому +1

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

    • @АйтиНуб
      @АйтиНуб  11 місяців тому

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

  • @prosto_vasily
    @prosto_vasily Місяць тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

  • @fumplstandoff2200
    @fumplstandoff2200 Рік тому +2

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

    • @АйтиНуб
      @АйтиНуб  Рік тому +3

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

  • @alex25loks
    @alex25loks Рік тому +2

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

  • @Artimsay-animation
    @Artimsay-animation Рік тому +2

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

    • @АйтиНуб
      @АйтиНуб  Рік тому +1

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

  • @ДенисКарчков
    @ДенисКарчков Рік тому +2

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

    • @СветозарБоголюбов
      @СветозарБоголюбов Рік тому +2

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

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

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

  • @Hdhs-qp7yo
    @Hdhs-qp7yo Рік тому +1

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

  • @Попо-э8х
    @Попо-э8х 2 місяці тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

      В строчке "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;

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

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

  • @x0bra
    @x0bra Рік тому +4

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

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

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

    • @sookoshvily2037
      @sookoshvily2037 Рік тому +2

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

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

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

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

      @@x0bra не за что)

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

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

  • @Forest_Forever
    @Forest_Forever Рік тому +2

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

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

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

  • @ikizliruslan
    @ikizliruslan Рік тому +2

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

  • @xyligan4eg1488
    @xyligan4eg1488 7 місяців тому +1

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

    • @АйтиНуб
      @АйтиНуб  7 місяців тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

  • @ИванСергеевич-ш8ш
    @ИванСергеевич-ш8ш 7 місяців тому +1

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

    • @АйтиНуб
      @АйтиНуб  7 місяців тому

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

  • @TheDiamondTubby215
    @TheDiamondTubby215 3 дні тому

    Почему не получается скачать срипт?

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

  • @НикНейм-ч3л
    @НикНейм-ч3л Рік тому +1

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @НикНейм-ч3л
      @НикНейм-ч3л Рік тому +1

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @НикНейм-ч3л
      @НикНейм-ч3л Рік тому

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

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

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

  • @Assassin-mn5is
    @Assassin-mn5is 9 місяців тому +1

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

    • @АйтиНуб
      @АйтиНуб  9 місяців тому +1

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

  • @natriy523
    @natriy523 Рік тому +2

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

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

      ua-cam.com/video/-ctJjlZl2s8/v-deo.htmlsi=mjkYP_FY_Uql1Xjb

  • @Hdhs-qp7yo
    @Hdhs-qp7yo Рік тому +1

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

    • @АйтиНуб
      @АйтиНуб  Рік тому +1

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

    • @Hdhs-qp7yo
      @Hdhs-qp7yo Рік тому +1

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @СветозарБоголюбов
      @СветозарБоголюбов Рік тому +1

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

  • @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

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

  • @krishovie
    @krishovie Рік тому +2

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

  • @Осуждающий-и8с
    @Осуждающий-и8с Рік тому +1

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

  • @PersonaGames_1
    @PersonaGames_1 Рік тому +3

    👍

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

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

  • @НикНейм-ч3л
    @НикНейм-ч3л Рік тому +1

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @НикНейм-ч3л
      @НикНейм-ч3л Рік тому

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

  • @НатальяПеревалова-х7х
    @НатальяПеревалова-х7х 8 місяців тому +1

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

    • @АйтиНуб
      @АйтиНуб  8 місяців тому

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

    • @НатальяПеревалова-х7х
      @НатальяПеревалова-х7х 8 місяців тому +1

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

    • @АйтиНуб
      @АйтиНуб  8 місяців тому

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

  • @ОлегМуравьев-у2в

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

    • @АйтиНуб
      @АйтиНуб  Рік тому +1

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

  • @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 смог пофиксить проблему

  • @Danil-q9j
    @Danil-q9j 11 місяців тому +2

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

    • @АйтиНуб
      @АйтиНуб  11 місяців тому

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

  • @амирзакиров-п2ц
    @амирзакиров-п2ц Рік тому +1

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому +1

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому +1

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

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

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

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

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

  • @АлексейОлегович-р9е

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

  • @Itzkolyu4ka
    @Itzkolyu4ka 6 місяців тому

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

    • @Itzkolyu4ka
      @Itzkolyu4ka 6 місяців тому +1

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

    • @АйтиНуб
      @АйтиНуб  5 місяців тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому +1

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

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

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

  • @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 8 місяців тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @АйтиНуб
      @АйтиНуб  Рік тому +1

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

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

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

  • @PlayGoIlya
    @PlayGoIlya 7 місяців тому +1

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

    • @АйтиНуб
      @АйтиНуб  7 місяців тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

  • @RomanTest-sj8ep
    @RomanTest-sj8ep Рік тому +1

    Класс!

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому +1

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @Danil-q9j
      @Danil-q9j 11 місяців тому

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

  • @Осуждающий-и8с
    @Осуждающий-и8с Рік тому +1

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @Осуждающий-и8с
      @Осуждающий-и8с Рік тому

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

    • @Осуждающий-и8с
      @Осуждающий-и8с Рік тому +1

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @Hdhs-qp7yo
      @Hdhs-qp7yo Рік тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

  • @никто-ю8р
    @никто-ю8р Рік тому

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

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

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

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

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

    • @Hdhs-qp7yo
      @Hdhs-qp7yo Рік тому

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

  • @user-zq7hq2ix4f
    @user-zq7hq2ix4f Рік тому +1

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @user-zq7hq2ix4f
      @user-zq7hq2ix4f Рік тому +1

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому +1

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

      @@АйтиНуб да

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому +2

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

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

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

  • @PwaweDafe
    @PwaweDafe 8 місяців тому +1

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

    • @АйтиНуб
      @АйтиНуб  8 місяців тому

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

    • @PwaweDafe
      @PwaweDafe 7 місяців тому +1

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

    • @АйтиНуб
      @АйтиНуб  7 місяців тому

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

    • @АйтиНуб
      @АйтиНуб  7 місяців тому

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

  • @ior1on.official
    @ior1on.official Рік тому

    у меня нету al

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

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

  • @ЛидаИсмагулова-о3с

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @ЛидаИсмагулова-о3с
      @ЛидаИсмагулова-о3с Рік тому +1

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @ЛидаИсмагулова-о3с
      @ЛидаИсмагулова-о3с Рік тому +1

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

  • @M.E.V..
    @M.E.V.. Рік тому

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

  • @4ll4inS3r13s
    @4ll4inS3r13s Рік тому

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @4ll4inS3r13s
      @4ll4inS3r13s Рік тому

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

    • @4ll4inS3r13s
      @4ll4inS3r13s Рік тому +1

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

    • @4ll4inS3r13s
      @4ll4inS3r13s Рік тому

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

  • @terggrgegergre
    @terggrgegergre 10 місяців тому +1

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

    • @АйтиНуб
      @АйтиНуб  9 місяців тому

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

  • @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 Рік тому +1

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

    • @АйтиНуб
      @АйтиНуб  Рік тому +1

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

  • @neko4ka0
    @neko4ka0 Рік тому +3

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

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

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

    • @АйтиНуб
      @АйтиНуб  Рік тому

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

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

    помогите исправить ошибки пожалуйста
    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)
    обе ошибки появляються при анимации хождения при этом все анимации работают
    проверил все теги и названия
    может ли это быть из-за того что враг состоит из нескольких объектов?

  • @Deaxman22
    @Deaxman22 14 днів тому

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

  • @Chebupel.CandGdeveloper
    @Chebupel.CandGdeveloper 8 місяців тому +1

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

    • @АйтиНуб
      @АйтиНуб  8 місяців тому

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