ИИ врага "Страж" / AI Enemy - Unity легко

Поделиться
HTML-код
  • Опубликовано: 26 дек 2024

Комментарии • 255

  • @sunq_live
    @sunq_live 4 года назад +63

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

    • @chancetrace4532
      @chancetrace4532 3 года назад

      You prolly dont care but if you are bored like me during the covid times then you can watch all the latest movies on kaldrostream. I've been watching with my girlfriend recently xD

    • @hendrixquinton9592
      @hendrixquinton9592 3 года назад

      @Chance Trace Definitely, I have been using instaflixxer for since november myself =)

    • @aceskylar9176
      @aceskylar9176 3 года назад

      @Chance Trace Definitely, been using instaflixxer for since december myself :D

    • @xanderwestin7247
      @xanderwestin7247 3 года назад

      @Chance Trace definitely, I have been watching on Instaflixxer for months myself :D

    • @morgankamari9985
      @morgankamari9985 3 года назад

      @Chance Trace Definitely, I've been using Instaflixxer for since november myself =)

  • @cartonoff
    @cartonoff 3 года назад +10

    Спасибо огромное!!! Это именно то, чего мне не хватало для моей игры...

  • @DevFillinn
    @DevFillinn 2 года назад +2

    Голос красивый, и хорошо объяснил, спасибо за видео:3

  • @hurt7723
    @hurt7723 4 года назад +6

    Очень круто !

  • @e1ectr0n
    @e1ectr0n 4 года назад +5

    Добавил ИИ в раннер, теперь ИИ скидывает меня с платформы :D,как бы новое препятствие,спасибо за уроки!👍

  • @lucherpro5429
    @lucherpro5429 4 года назад +35

    public float speed;
    public int positionOfPatrol;
    public Transform point;
    bool moveingRight;
    Transform player;
    public float stoppingDistance;
    bool chill = false;
    bool angry = false;
    bool goBack = false;
    void Start()
    {
    player = GameObject.FindGameObjectWithTag("Player").transform;
    }
    void Update()
    {
    if (Vector2.Distance(transform.position, point.position) < positionOfPatrol && angry == false )
    {
    chill = true;
    }
    if (Vector2.Distance(transform.position, player.position) < stoppingDistance)
    {
    angry = true;
    chill = false;
    goBack = false;
    }
    if (Vector2.Distance(transform.position, player.position) > stoppingDistance)
    {
    goBack = true;
    angry = false;
    }
    if (chill == true)
    {
    Chill();
    }
    else if (angry == true)
    {
    Angry();
    }
    else if (goBack == true)
    {
    Goback();
    }
    }
    void Chill()
    {
    if (transform.position.x > point.position.x + positionOfPatrol)
    {
    moveingRight = false;
    }
    else if (transform.position.x < point.position.x - positionOfPatrol)
    {
    moveingRight = true;
    }
    if (moveingRight)
    {
    transform.position = new Vector2(transform.position.x + speed * Time.deltaTime, transform.position.y);
    }
    else
    {
    transform.position = new Vector2(transform.position.x - speed * Time.deltaTime, transform.position.y);
    }
    }

    void Angry()
    {
    transform.position = Vector2.MoveTowards(transform.position, player.position, speed * Time.deltaTime);
    }
    void Goback()
    {
    transform.position = Vector2.MoveTowards(transform.position, point.position, speed * Time.deltaTime);
    }
    public float speed;
    public int positionOfPatrol;
    public Transform point;
    bool moveingRight;
    Transform player;
    public float stoppingDistance;
    bool chill = false;
    bool angry = false;
    bool goBack = false;
    void Start()
    {
    player = GameObject.FindGameObjectWithTag("Player").transform;
    }
    void Update()
    {
    if (Vector2.Distance(transform.position, point.position) < positionOfPatrol && angry == false )
    {
    chill = true;
    }
    if (Vector2.Distance(transform.position, player.position) < stoppingDistance)
    {
    angry = true;
    chill = false;
    goBack = false;
    }
    if (Vector2.Distance(transform.position, player.position) > stoppingDistance)
    {
    goBack = true;
    angry = false;
    }
    if (chill == true)
    {
    Chill();
    }
    else if (angry == true)
    {
    Angry();
    }
    else if (goBack == true)
    {
    Goback();
    }
    }
    void Chill()
    {
    if (transform.position.x > point.position.x + positionOfPatrol)
    {
    moveingRight = false;
    }
    else if (transform.position.x < point.position.x - positionOfPatrol)
    {
    moveingRight = true;
    }
    if (moveingRight)
    {
    transform.position = new Vector2(transform.position.x + speed * Time.deltaTime, transform.position.y);
    }
    else
    {
    transform.position = new Vector2(transform.position.x - speed * Time.deltaTime, transform.position.y);
    }
    }

    void Angry()
    {
    transform.position = Vector2.MoveTowards(transform.position, player.position, speed * Time.deltaTime);
    }
    void Goback()
    {
    transform.position = Vector2.MoveTowards(transform.position, point.position, speed * Time.deltaTime);
    }

    • @NegaT1V174
      @NegaT1V174 4 года назад +1

      спс

    • @murdercrow6617
      @murdercrow6617 3 года назад +1

      Спс

    • @Cepega11
      @Cepega11 2 года назад +1

      из души душевной душевно в душевную душу

    • @Uniter_
      @Uniter_ 9 месяцев назад

      спс

    • @Bumark342-m4k
      @Bumark342-m4k 5 месяцев назад

      14 ошибок блять

  • @sewen_ga1s229
    @sewen_ga1s229 4 года назад +3

    Ты лучший ! Спасибо за твои спасающие уроки

  • @ИванКапустин-н3ю
    @ИванКапустин-н3ю 4 года назад +1

    Очень помогло, внес огромную ясность во всю эту тему. Спасибо большое!

  • @ОлегПоливода-е1л
    @ОлегПоливода-е1л 4 года назад +12

    Очень прикольно и понятно.)Вот только сможешь сделать анимацию для врага как к игроку так и к врагу)

  • @МаксимАверин-б5з
    @МаксимАверин-б5з 4 года назад +18

    Лежу такой вчера и думаю: "У меня враги бегают от препятствия к препятствию, нужно как-то ИИ разнообразить, а то выглядит тупо"
    Graphical Design: Пс, парень, не хочешь немного интересных решений?
    Я: Блин, да как ты угадываешь-то каждый раз? :D

    • @daniil_shpilkin
      @daniil_shpilkin 3 года назад

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

  • @jugo-stream
    @jugo-stream 3 года назад +1

    Спасибо. Все четко и понятно изложил, лайк однозначно.

  • @masterandroid2680
    @masterandroid2680 3 года назад +1

    Лучшее видео на эту тему)

  • @nikitafilatov6723
    @nikitafilatov6723 Год назад

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

  • @mrminecrafter3829
    @mrminecrafter3829 3 года назад +1

    спасибо большое автору !!!

  • @YarikTurboUA
    @YarikTurboUA 4 года назад +1

    ти не уявляєш як ти мені допоміг. Вчитель з тебе топ. Дякую за інфу

  • @hasanboyhakimov9144
    @hasanboyhakimov9144 3 года назад +1

    Спасибо вам большое

  • @tenebrae3761
    @tenebrae3761 4 года назад +2

    Воооо, очень актуально, лайк.

  • @Алексей_РУ
    @Алексей_РУ 3 года назад

    Вообще круто делаешь объясняешь так что даже я понял Ты первый кто объясняет всё и понятно

    • @Алексей_РУ
      @Алексей_РУ 3 года назад

      Если сделаю игру по твоим урокам то скиу игру сюда:)

  • @ФаридЮсубов-с8ф
    @ФаридЮсубов-с8ф 3 года назад

    Очень понятно объяснил, спасибо за отличный и полезный урок!

  • @laukkanen568
    @laukkanen568 2 года назад +2

    Помогите пожалуйста, никак не могу понять. Урок замечательный, но враг следует за игроком по двум осям x и y. Как сделать так, чтобы он следовал только по оси x. Заранее большое спасибо!!!!

    • @laukkanen568
      @laukkanen568 2 года назад +1

      Всё, сам решил проблему. Мало ли кому пригодится, нужно создать дополнительный Vector2 и указать там (player.position.x, transform.position.y), тем самым оставляя ось y без изменений. И в методе MoveTowards вторым аргументом указать нашу только что созданную переменную. Для кого-то это элементарно, но для меня (я пока учусь) было не понятно...

    • @hilkevih9086
      @hilkevih9086 2 года назад

      @@laukkanen568 скинешь код бро?) тоже учусь и не втыкаю немного.

  • @nezors7681
    @nezors7681 3 года назад +5

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

  • @gm_Maker
    @gm_Maker 4 года назад +2

    Офигенно! :)

  • @БексултанАбдураимов-к9б

    Спасибо!!!! ТЫ легенда!!!

  • @IloBizon1
    @IloBizon1 2 года назад +1

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

  • @daniil_shpilkin
    @daniil_shpilkin 3 года назад +2

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

    • @pishy_kommentu
      @pishy_kommentu 3 года назад

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

  • @RazvlekaykaBY
    @RazvlekaykaBY Год назад

    У меня Enemy стоит на месте... Проигрывается только анимация бега и всё... Всё делал как на видео.

  • @сергейкурило-б8ш
    @сергейкурило-б8ш 4 года назад +3

    Хорошие у Вас уроки!! Сделай пожалуйста видео об, неуязвимости персонажа после нанесения урона, на определённое время. Спасибо

    • @ertreynscrapyard
      @ertreynscrapyard 3 года назад

      Поздновато я однако :)
      Если ещё не нашёл, попробуй в скрипте в отнимании жизней игрока в условие запихнуть таймер, мол "если вот что-то И ПРОШЛО ТАКОЕ-ТО ВРЕМЯ, то..."

  • @Malso228
    @Malso228 3 года назад +1

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

  • @GraphKriss
    @GraphKriss 11 месяцев назад +1

    А как сделать нейтрального ИИ? Для окружения допустим в городе?

  • @MaximSiamenau
    @MaximSiamenau 3 года назад

    Отличный тутор. Сразу стало понятнее со сменой состояний. Ну и как подступиться к Navimesh

  • @WorldofHipHopRap
    @WorldofHipHopRap 3 года назад +5

    Спасибо большое) Очень классное обучение!) А подскажите, как сделать чтобы спрайт врага поворачивался к игроку или к точке не через Flip X a через Scale X?

    • @Алексей-ю5ц4р
      @Алексей-ю5ц4р 3 года назад +2

      transform.localScale = new Vector3(-1, 1, 1); в одну сторону
      transform.localScale = new Vector3(1, 1, 1); в другую сторону

  • @Ноунейм-г7й
    @Ноунейм-г7й 4 года назад +7

    Привет, можешь пожалуйста сделать курс по созданию 2D стратегии?)) ооочень хочу сделать, а многое не понимаю, но думаю всем будет интересно)

  • @kolua8683
    @kolua8683 3 года назад +1

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

  • @trulik6879
    @trulik6879 3 года назад +1

    Помогите пожалуста . Я добавил стрельбу етому боту но он не разворачиваетса и тем самым точка из которой вылетают пули смотрит в одно положение не зависимо где игрок с права или слева (когда гонитса за игроком).
    Просьба помогите его развернуть с кординатами

  • @drakoronus
    @drakoronus 4 года назад +5

    Так-с. Возникла какая-то странная проблема. До написания angry и goback вместо того, чтобы патрулировать, враг останавливался на координатах point.position.x + positionOfPatrol. Когда дописал angry и goback он теперь останавливается в координатах point и двигается только если игрок появляется в его поле зрения. В чём может быть дело?
    UPD:
    Я посмотрел повнимательнее. Он не просто останавливается, он всё ещё идёт, просто его скорость настолько мала, что он изменяет одну стотысячную координаты в секунду.
    UPD2:
    Я закомментировал всё, что было связано с GoBack, и теперь всё работает правильно (Ну естественно кроме того, что он теперь не возвращается на нужное место после окончания преследования игрока).
    UPD3:
    Оказалось, нужно было поместить goBack = false в if (chill == true). Теперь всё идеально.
    Оставлю тут этот коммент, вдруг у кого похожая проблема :Р

    • @drakoronus
      @drakoronus 4 года назад

      @@dmitriiyyyy Я уже все переделал и стер, сори

    • @Omegon1235
      @Omegon1235 3 года назад

      Привет, у меня та же проблема, но я не могу понять куда goBack = false вписывать

  • @vensentlion4944
    @vensentlion4944 4 года назад +2

    Враг патрулируют - Да, Враг идет к игроку -Да, Враг возвращается к патрулирую если герой слишком далеко - да. Собственно название видео оправдывает содержание.

  • @banmrp8369
    @banmrp8369 3 года назад +2

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

  • @darksidemods3134
    @darksidemods3134 4 года назад +1

    О спасибо крутой Ии

  • @antonmiller1364
    @antonmiller1364 4 года назад +3

    GameObject.FindGameObjectsWithTag("Player").transform ne rabotaet. Po4emu?

    • @thesixxteenteam4736
      @thesixxteenteam4736 4 года назад +4

      Anton Miller, FindGameObjectsWithTag убери букву s

  • @dexmund7490
    @dexmund7490 4 года назад +3

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

    • @qterrian4118
      @qterrian4118 4 года назад +2

      Я сделал через Flip(). Из уроков про перса.(Flip() возьми из уроков про перса )
      bool isFacingRight = true;
      void Update ()
      {
      if (transform.position.x < player.position.x && ! isFacingRight) Flip();
      else if (transform.position.x > player.position.x && isFacingRight) Flip();
      }

    • @shema6395
      @shema6395 3 года назад

      @@qterrian4118 Привет, можешь скинуть этот ролик ? Никак не могу найти

    • @qterrian4118
      @qterrian4118 3 года назад

      @@shema6395 ruclips.net/video/h13scc5tPyo/видео.html

  • @greemdim4611
    @greemdim4611 4 года назад +1

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

    • @BeDaLeK
      @BeDaLeK 4 года назад +1

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

    • @greemdim4611
      @greemdim4611 4 года назад

      @@BeDaLeK ладно

    • @greemdim4611
      @greemdim4611 4 года назад

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

  • @dilari2124
    @dilari2124 4 года назад +1

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

  • @cloudy8172
    @cloudy8172 4 года назад +2

    Слушай а можешь под следующими видосами остовлять ZIP файл с кодом или в коментах(или в опиании) просто вставлять код что-бы не корячится а так канал топ

    • @graphicaldesign2776
      @graphicaldesign2776  4 года назад +2

      Неа.

    • @vladyahnovets8867
      @vladyahnovets8867 4 года назад

      @@graphicaldesign2776 why?

    • @qiniks9279
      @qiniks9279 4 года назад

      @@graphicaldesign2776 Почему?)

    • @graphicaldesign2776
      @graphicaldesign2776  4 года назад +2

      @@qiniks9279 не в этом цель канала

    • @lazizabduhalimov2832
      @lazizabduhalimov2832 4 года назад +1

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

  • @demonASTRx
    @demonASTRx 2 года назад

    Большое спасибо.
    Но вот незадача. Когда накидываю на NPS "rigidbody" мой главный герой перестает двигаться, в чем может быть дело? На остальных обьектах без скриптов висит RB и все норм.

  • @ICECREAM-sy4dq
    @ICECREAM-sy4dq 4 года назад +4

    Как повернуть его? А то ходит и в одну сторону смотрит

    • @graphicaldesign2776
      @graphicaldesign2776  4 года назад

      Через Flip.

    • @alexcall5476
      @alexcall5476 4 года назад

      @@graphicaldesign2776 а что делать, если при использовании метода flip в методе chill всё ок, но ИИ при преследовании не меняет направление, как и при уходе в точку. А если поставить ссылку на метод flip в методы angry и goBack, то ИИ начинает вертеться.

    • @lazizabduhalimov2832
      @lazizabduhalimov2832 4 года назад

      @@alexcall5476 тут надо поменять булевые переменные chill, angry, goBack

  • @MusicStrime
    @MusicStrime 4 года назад +4

    Как сделать чтоб приследовал игрока только по х?

    • @Шарарам-г4л
      @Шарарам-г4л 3 года назад

      @@zz_gandon мда.. галочка на z нужна, чтобы объект не крутился, чел

    • @Шарарам-г4л
      @Шарарам-г4л 3 года назад

      @@zz_gandon Ты не умеешь читать? Чел спросил "Как сделать чтобы враг преследовал игрока только по х?" То есть двигался в направлении к игрогу только по X, а Y игнорил, что делается через функцию Vector2.MoveTowards. Твой freeze rotation z никак не касается этой темы.

  • @SnowDice123
    @SnowDice123 3 года назад

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

  • @harek1671
    @harek1671 2 года назад

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

  • @SlavonMasterJack
    @SlavonMasterJack 4 года назад +1

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

  • @samuraiji6522
    @samuraiji6522 3 года назад

    Привет, вроде с точкой поинт и скриптом все делал правильно, но враг вертикально трясется в состоянии GoBack. Не понимаю почему.

  • @koro4egovorya519
    @koro4egovorya519 4 года назад +1

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

  • @Vilvett1918
    @Vilvett1918 2 года назад

    Всё никак не пойму, откуда у тебя при нажатии на врага появился Speed, Point и т.д если ты в нём ничего толком не написал?

  • @DossBot007
    @DossBot007 3 года назад

    Есть косячок с этим слежением, если к примеру в момент когда бот тебя агрит, прыгаем через него и он взлетает за нами) Как это пофиксить? Заморозка по Y не помогает.

  • @aliexpress4830
    @aliexpress4830 4 года назад

    Привет,у меня тут проблема.Мой враг когда патрулирует идет назад спиной вперед.Тоесть moveingRight не работает что мне делать?

  • @hellpin5008
    @hellpin5008 2 года назад

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

    • @ruslanukr7142
      @ruslanukr7142 2 года назад

      Если разобрался, скажи как решить

  • @jrjddyzmdjdjf3730
    @jrjddyzmdjdjf3730 4 года назад

    Ой спасибо сильно тупил над етим захожу в Гугл и пишу "как сделать ии врагу" и вижу твой видос когда Ти разказал все на подзадачи сразу все понял.

  • @Uniter_
    @Uniter_ 2 года назад

    подскажите пж что не так с кодом
    (58,10): error CS0102: The type 'PatrulSlug' already contains a definition for 'Chill'
    (78,10): error CS0102: The type 'PatrulSlug' already contains a definition for 'Angry'
    (82,10): error CS0102: The type 'PatrulSlug' already contains a definition for 'GoBack'\
    вот код:
    public float speed;
    public int positionOfPatrol;
    public Transform point;
    bool moveInRight;
    Transform Player;
    public float stoppingDistance = 10;
    bool Chill = false;
    bool Angry = false;
    bool GoBack = false;
    void Start()
    {
    Player = gameObject.FindGameObjectWithTag("Player").transform;
    }
    void Update()
    {
    if (Vector2.Distance(transform.position, point.position) < positionOfPatrol && Angry == false)
    {
    Chill = true;
    }
    if (Vector2.Distance(transform.position = Player.position) < stoppingDistance)
    {
    angry = true;
    }
    if (Vector2.Distance(transform.position = Player.position) > stoppingDistance)
    {
    GoBack = true;
    }
    if (chill == true)
    {
    chill();
    }
    else if (angry == true)
    {
    Angry();
    Chill = false;
    goBack = false;
    }
    else if (goBack == true)
    {
    GoBack();
    angry = false;
    }
    }
    void Chill()
    {
    if (transform.position.x < point.position.x + positionOfPatrol)
    {
    moveInRight= false;
    }
    else if (transform.position.x > point.position.x + positionOfPatrol)
    {
    moveInRight= true;
    }
    if (moveInRight )
    {
    transform.position = new Vector2(transform.position.x + speed * Time.deltaTime, transform.position.y);
    }
    else
    {
    transform.position = new Vector2(transform.position.x - speed * Time.deltaTime, transform.position.y);
    }
    }
    void Angry()
    {
    transform.position = Vector2.MoveTowards(transform.position, Player.position, speed * Time.deltaTime);
    }
    void GoBack()
    {
    transform.position = Vector2.MoveTowards(transform.position, point.position, speed * Time.deltaTime);
    }
    }

  • @arisan9724
    @arisan9724 4 года назад +1

    ты луучший

  • @tyloo2677
    @tyloo2677 Год назад

    почему у меня бот уходит в право и совершает суицид :(

  • @кточтотин
    @кточтотин 4 года назад

    Патрулирование
    Лол я один вспомнил мем про педалирование?
    И да спасибо за урок

  • @sdeithwen1171
    @sdeithwen1171 4 года назад +1

    А можно сделать так, чтобы во время выполнения GoBack или Angry он прыгал если перед ним препятствие?

    • @sdeithwen1171
      @sdeithwen1171 4 года назад

      Если кому нужно: Просто добавьте прыжок в другой скрипт и тогда оба скрипта (Прыжок и и страж) будут работать

  • @kanon4222
    @kanon4222 Год назад

    Почему в каждом видео все поля всегда публичные. Их надо объявлять через SerializeField это же база...

  • @ЦойВероника-л7н
    @ЦойВероника-л7н Год назад

    Что делать он на месте прыгает

  • @МаксимСоколовский-ц6г

    Благодаря тебе я сделал диплом, кекв)

  • @juuzua
    @juuzua 3 года назад

    "искусственный интеллект" громко сказано)

  • @topazich_main
    @topazich_main 2 года назад

    Как сделать тоже самое, только в 3д игре??

  • @nikitaegle5533
    @nikitaegle5533 3 года назад

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

  • @markkamill4809
    @markkamill4809 4 года назад +1

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

    • @graphicaldesign2776
      @graphicaldesign2776  4 года назад

      Так это только поворот спрайта, с зависимости от стороны движения. Положительное и отрицательное по оси Х.

    • @Omegon1235
      @Omegon1235 3 года назад

      @@graphicaldesign2776 здравствуй автор, у меня проблема, враг доходит до точки и замирает но когда он видит игрока он начинает за ним следовать

  • @abysswatcher5844
    @abysswatcher5844 4 года назад

    Помогите пожалуйста. Такая проблема, Ни одна из перегрузок метода Distance не принимает 3 аргументов.
    Не запускается программа. Сделал всё как на видео.

    • @lazizabduhalimov2832
      @lazizabduhalimov2832 4 года назад

      Вы не сделали как показано на видео, добавили чтото лишнее в Vector2.Distance

    • @abysswatcher5844
      @abysswatcher5844 4 года назад

      @@lazizabduhalimov2832 О, спасибо. Правда боюсь, что за 2 месяца проблема успела решиться))

  • @oleksandrkolomiiets9978
    @oleksandrkolomiiets9978 4 года назад +2

    Приветствую , очень крутые уроки!
    Хотел бы узнать кто-то знает как сделать так , что б враг разворачивался в ту сторону , в которую идет?

    • @MegaAlexprim
      @MegaAlexprim 4 года назад

      привет ты разобрался с разворотом противника?

    • @ПавелКурзо
      @ПавелКурзо 4 года назад

      @@MegaAlexprim привет, может ты разобрался?

    • @MegaAlexprim
      @MegaAlexprim 4 года назад

      @@ПавелКурзо я забил на этот урок.

    • @doctorixx_
      @doctorixx_ 3 года назад

      Эм

    • @doctorixx_
      @doctorixx_ 3 года назад

      Это легко

  • @skrizford
    @skrizford 3 года назад

    а спрайты ты где берешь если не секрет

  • @ghiant02
    @ghiant02 3 года назад

    здраствуйте!
    у меня такая проблема то-что когда мой персонаж сталкивается с каким-то обьектом(с colider box) игрок начинает кружиться по оси z, у меня Unity2D в стиле TopDown

    • @roundzi8047
      @roundzi8047 3 года назад

      Добавь на твоего персанажа Rigidbody 2D если в 2d делаешь и заблакируй ось z

    • @roundzi8047
      @roundzi8047 3 года назад

      И вообще то макстер все показал в своём ролике. Внимательнее смотреть надо

    • @ghiant02
      @ghiant02 3 года назад

      Я давно эту проблему решил просто комментарии забыл удалить

  • @Baga523
    @Baga523 3 года назад

    Что делать если враг не переворачивается за тобой??

  • @ze1st_
    @ze1st_ 3 года назад

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

    • @ze1st_
      @ze1st_ 3 года назад

      а, всё. Просто кое чё поменял в МувеТовардс

    • @vombox9204
      @vombox9204 3 года назад

      не могли бы вы уточнить,что именно поменяли?

  • @Anciferfov
    @Anciferfov 4 года назад

    Почему раз ты разделяешь состояния, не используешь enum?

  • @posscreeptu
    @posscreeptu 4 года назад

    Graphical Design Такой вопрос, почему когда я запрещаю перемещение по x, и разрешаю по y то sprite начинает мерцать?

    • @posscreeptu
      @posscreeptu 4 года назад

      так и еще и плавает

  • @ytl1kez143
    @ytl1kez143 3 года назад

    как это можно сделать в 2д игре в корой вид сверху

  • @grishagrishin3482
    @grishagrishin3482 3 года назад

    А как вообще создать папку врага в Unity ?

  • @alexcall5476
    @alexcall5476 4 года назад

    Почему у меня мерцает игрок, когда проходит через объекты на заднем фоне или когда задний фон - это какая-то фотография?

    • @graphicaldesign2776
      @graphicaldesign2776  4 года назад

      Фотография? Ты о чем?

    • @alexcall5476
      @alexcall5476 4 года назад

      @@graphicaldesign2776 задний фон, спасибо, я понял в чём дело, нужно просто поднять уровень слоя персонажа

    • @alexcall5476
      @alexcall5476 4 года назад

      @@graphicaldesign2776 а как исправить проблему с ИИ, когда я в его коде закинул ссылку на метод flip в метод chill, angry, goBack, он начинает адово вертеться. Можете сказать, куда нужно закинуть ссылку на метод, чтобы ИИ нормально разворачивался в любом состоянии

    • @graphicaldesign2776
      @graphicaldesign2776  4 года назад

      @@alexcall5476 в Update

    • @alexcall5476
      @alexcall5476 4 года назад

      @@graphicaldesign2776 а куда именно, я ставлю в метод update во все if.

  • @r1t024
    @r1t024 3 года назад

    Итак, спасибо за урок, но возник вот такой вопрос: А как сделать возврат к исходной точке не только по оси x, но и по оси y? Буду очень благодарен если поможете, ну и сам поищу, если что-то найду, то отредачу.

    • @d1kay
      @d1kay 2 года назад

      не нашел?

  • @whyde3693
    @whyde3693 3 года назад

    У меня 2 вопроса.
    1) Не проще ли сделать состояния через enum?
    2) Как сделать нормально так, чтобы враг агрился не по расстоянию до игрока а когда увидит? Чтобы этому могла помешать стенка. Используя данный способ обнаружения игрока врядли это выйдет реализовать.

    • @txson_inc
      @txson_inc 2 года назад

      вряд-ли мой ответ сейчас поможет, но можно попробовать через Raycast

  • @МишаКречетов-у2у
    @МишаКречетов-у2у 2 года назад

    круто

  • @mrminecrafter3829
    @mrminecrafter3829 3 года назад

    крутое видео

  • @aaroncasper4464
    @aaroncasper4464 4 года назад

    привет ребят, можете помочь с проблемой, я генерирую мир 2d и бывает что блок появляется прям на месте моего персонажа, и персонаж застревает в полигон коллайдере земли и как сделать так что если он ВНУТРИ коллайдер полигона, он и выйти не может и не знаю как перезагрузить уровень в таком случае ПАМИГИТИ 2 ДНЯ УЖЕ СИЖУ

  • @ПавелБайнов-ш3я
    @ПавелБайнов-ш3я 4 года назад

    Будет ли видео о создании машины в tds шутер?

  • @alphasamec5348
    @alphasamec5348 4 года назад

    Привет, подскажи пожалуйста почему у меня страж бесконечно в лево бежит а не патрулирует? Когда меня видит, за мной бегает, с этим все норм

    • @graphicaldesign2776
      @graphicaldesign2776  4 года назад

      А что подсказать то?

    • @alphasamec5348
      @alphasamec5348 4 года назад

      @@graphicaldesign2776 Почему страж бесконечно бежит влево))

    • @syliix0
      @syliix0 4 года назад

      Поменяй место поинта направо у тебя места мало, он по факту где должен контролить стоит блок он в нём застревает

    • @syliix0
      @syliix0 4 года назад

      Ну по крайней мере я написал код верно

  • @cartonig869
    @cartonig869 3 года назад

    Привет,как сделать так что бы за игроков играл сам бот?И использовал бафы тоже сам

    • @Jam867
      @Jam867 3 года назад +2

      это надо писать ИИ

  • @hummylisii8237
    @hummylisii8237 4 года назад

    А что если он упадет например в яму но с прыжка он сможет выпрыгнуть.Как это сделать)?

    • @graphicaldesign2776
      @graphicaldesign2776  4 года назад +2

      Сделать еще один метод для этого.

    • @lazizabduhalimov2832
      @lazizabduhalimov2832 4 года назад

      У него уже был урок на эту тему, его надо добавить

  • @monsterclash6790
    @monsterclash6790 4 года назад

    Хмм, а если подпрыгнуть, то этот страж полетит. А как сделать так, чтобы он по оси Y не двигался?

    • @graphicaldesign2776
      @graphicaldesign2776  4 года назад

      Запретить движение по Y, разрешить движение по X.

    • @monsterclash6790
      @monsterclash6790 4 года назад

      @@graphicaldesign2776, а какой командой это сделать в твоём коде? Извини за то, что тебя беспокою, но я начинающий программист и всему учусь у тебя. И ещё, у меня давно висит вопрос про то, как сделать переменную, чтобы можно было к ней обращаться к ней во всём проекте. Например, деньги. Вот тебе идейка для нового видоса! Ещё раз извиняюсь за беспокойство.

    • @graphicaldesign2776
      @graphicaldesign2776  4 года назад

      Для обращения к переменной, можно использовать public.
      В моем скрипте нет команды по прыжкам.

    • @monsterclash6790
      @monsterclash6790 4 года назад

      @@graphicaldesign2776 ок, спасибо

    • @vombox9204
      @vombox9204 3 года назад

      Вы решли данную проблему?

  • @Uroboros303
    @Uroboros303 3 года назад

    Какой язык, это с#?

  • @Rikan19
    @Rikan19 4 года назад +1

    а у тебя есть готовые скрипты?

  • @ze1st_
    @ze1st_ 3 года назад

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

    • @ze1st_
      @ze1st_ 3 года назад

      Нуу, я короче уже сам всё сделал , оказывается просто попутал кое - где)

  • @РАСКАЛЬПРО
    @РАСКАЛЬПРО 3 года назад

    как сделать поворот врага?

  • @ОльгаКотяхова
    @ОльгаКотяхова 4 года назад +1

    Всё ок.

  • @UNREAL4ever
    @UNREAL4ever 4 года назад

    Привет, клевое видео. А можешь сделать урок типа антагонист бежит за игроком, а когда он его настигает то игрок умирает. Или как делать каст сцены

  • @chozagame3926
    @chozagame3926 4 года назад +2

    Привет, можешь рассказать какие книги ты читал по C# или unity?

    • @doctorixx_
      @doctorixx_ 3 года назад

      "C# для маленький и тупых" от ExtremeCode

  • @lazizabduhalimov2832
    @lazizabduhalimov2832 4 года назад

    Если кто сможет помогите пожалуйста: 1)Что лучше поворот врага через flip или rotate
    2) При повороте врага я сделал rotete 0, 180, 0 но раз в 15 раз враг просто не поворачивается и ходит лунной походкой Майкла Джексона ( и при angry мой ИИ поворачивается и при goBack)

  • @МаксимЧеремных-у1ж
    @МаксимЧеремных-у1ж 4 года назад

    Ошибку пишит в геймОбьектТег игорк, уже раз 10 перепичатал..... " does not contain for FinGameObjectTag" помогите кто более опытин.

    • @lazizabduhalimov2832
      @lazizabduhalimov2832 4 года назад

      Добавь тег игроку Player в инспекторе

  • @Люмт3
    @Люмт3 3 года назад

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

  • @mrminecrafter3829
    @mrminecrafter3829 3 года назад

    топ видео