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

В этом видео я покажу как сделать ИИ врага таким образом, чтоб у него было три состояния: патрулирование, преследование и возврат к точке.
Номер карты для поддержки - 4149629398195479
/ graphicaldesignua - мой патреон для поддержки)
t.me/joinchat/K3HCV0nUjP4X7kC... - телеграм канал в котором можете пообщаться с другими разработчиками.
unity.com/ru - ссылка на Unity

Пікірлер: 255

  • @cartonoff
    @cartonoff2 жыл бұрын

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

  • @sunq_dev
    @sunq_dev4 жыл бұрын

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

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

  • @user-ix7gq8zc3k
    @user-ix7gq8zc3k3 жыл бұрын

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

  • @sewen_ga1s229
    @sewen_ga1s2294 жыл бұрын

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

  • @e1ectr0n
    @e1ectr0n4 жыл бұрын

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

  • @nikitafilatov6723
    @nikitafilatov6723 Жыл бұрын

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

  • @user-dv5ue1om3m
    @user-dv5ue1om3m3 жыл бұрын

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

  • @jugo-stream
    @jugo-stream3 жыл бұрын

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

  • @DevFillinn
    @DevFillinn Жыл бұрын

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

  • @user-ne2lq1zg3q
    @user-ne2lq1zg3q4 жыл бұрын

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

  • @user-wb1yr6hg6i
    @user-wb1yr6hg6i4 жыл бұрын

    Оо, то, что мне нужно, спасибо заранее

  • @hurt7723
    @hurt77234 жыл бұрын

    Очень круто !

  • @user-vr5lm3ye7e
    @user-vr5lm3ye7e3 жыл бұрын

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

  • @user-vr5lm3ye7e

    @user-vr5lm3ye7e

    3 жыл бұрын

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

  • @masterandroid2680
    @masterandroid26803 жыл бұрын

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

  • @mrminecrafter3829
    @mrminecrafter38293 жыл бұрын

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

  • @tenebrae3761
    @tenebrae37614 жыл бұрын

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

  • @gm_Maker
    @gm_Maker4 жыл бұрын

    Офигенно! :)

  • @hasanboyhakimov9144
    @hasanboyhakimov91442 жыл бұрын

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

  • @lucherpro5429
    @lucherpro54293 жыл бұрын

    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) { chill = true; } if (Vector2.Distance(transform.position, player.position) { 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 { 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) { chill = true; } if (Vector2.Distance(transform.position, player.position) { 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 { 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

    3 жыл бұрын

    спс

  • @murdercrow6617

    @murdercrow6617

    2 жыл бұрын

    Спс

  • @Cepega11

    @Cepega11

    2 жыл бұрын

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

  • @Uniter_

    @Uniter_

    4 ай бұрын

    спс

  • @user-cn2je5yk6g

    @user-cn2je5yk6g

    16 күн бұрын

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

  • @user-zy3xy2xj3o
    @user-zy3xy2xj3o Жыл бұрын

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

  • @user-ye8ff4rw6o
    @user-ye8ff4rw6o4 жыл бұрын

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

  • @ertreynscrapyard

    @ertreynscrapyard

    3 жыл бұрын

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

  • @user-jv1cc6no5l
    @user-jv1cc6no5l4 жыл бұрын

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

  • @daniil_shpilkin

    @daniil_shpilkin

    3 жыл бұрын

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

  • @YarikTurboUA
    @YarikTurboUA4 жыл бұрын

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

  • @darksidemods3134
    @darksidemods31344 жыл бұрын

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

  • @MaximSiamenau
    @MaximSiamenau3 жыл бұрын

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

  • @jrjddyzmdjdjf3730
    @jrjddyzmdjdjf37304 жыл бұрын

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

  • @arisan9724
    @arisan97244 жыл бұрын

    ты луучший

  • @mrminecrafter3829
    @mrminecrafter38293 жыл бұрын

    крутое видео

  • @user-nn3du7eg7s
    @user-nn3du7eg7s4 жыл бұрын

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

  • @WorldofHipHopRap
    @WorldofHipHopRap3 жыл бұрын

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

  • @user-kb3ds5su2h

    @user-kb3ds5su2h

    2 жыл бұрын

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

  • @user-rp9vj5hk2s
    @user-rp9vj5hk2s2 жыл бұрын

    круто

  • @vensentlion4944
    @vensentlion49444 жыл бұрын

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

  • @greemdim4611
    @greemdim46113 жыл бұрын

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

  • @BeDaLeK

    @BeDaLeK

    3 жыл бұрын

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

  • @greemdim4611

    @greemdim4611

    3 жыл бұрын

    @@BeDaLeK ладно

  • @greemdim4611

    @greemdim4611

    3 жыл бұрын

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

  • @user-ew4fu9sx5j
    @user-ew4fu9sx5j4 жыл бұрын

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

  • @user-hc3ke1wy1j
    @user-hc3ke1wy1j3 жыл бұрын

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

  • @mrminecrafter3829
    @mrminecrafter38293 жыл бұрын

    топ видео

  • @kolua8683
    @kolua86833 жыл бұрын

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

  • @cloudy8172
    @cloudy81724 жыл бұрын

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

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    Неа.

  • @vladyahnovets8867

    @vladyahnovets8867

    4 жыл бұрын

    @@graphicaldesign2776 why?

  • @qiniks9279

    @qiniks9279

    4 жыл бұрын

    @@graphicaldesign2776 Почему?)

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

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

  • @lazizabduhalimov2832

    @lazizabduhalimov2832

    3 жыл бұрын

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

  • @dilari2124
    @dilari21244 жыл бұрын

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

  • @bay-2363
    @bay-23634 жыл бұрын

    топ

  • @user-qi4dy8ql7m
    @user-qi4dy8ql7m4 жыл бұрын

    Всё ок.

  • @DossBot007
    @DossBot0073 жыл бұрын

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

  • @daniil_shpilkin
    @daniil_shpilkin3 жыл бұрын

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

  • @laukkanen568
    @laukkanen5682 жыл бұрын

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

  • @laukkanen568

    @laukkanen568

    2 жыл бұрын

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

  • @hilkevih9086

    @hilkevih9086

    Жыл бұрын

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

  • @Malso228
    @Malso2282 жыл бұрын

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

  • @nezors7681
    @nezors76812 жыл бұрын

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

  • @demonASTRx
    @demonASTRx2 жыл бұрын

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

  • @IloBizon1
    @IloBizon12 жыл бұрын

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

  • @Foxmine_official
    @Foxmine_official8 ай бұрын

    а что делать если в консоле пишет ошибка и там команда stoppingDistance не существует в текущем контексте ?

  • @aliexpress4830
    @aliexpress48303 жыл бұрын

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

  • @nikitaegle5533
    @nikitaegle55332 жыл бұрын

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

  • @SlavonMasterJack
    @SlavonMasterJack4 жыл бұрын

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

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    Все еще, в скрипте

  • @samuraiji6522
    @samuraiji65222 жыл бұрын

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

  • @posscreeptu
    @posscreeptu4 жыл бұрын

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

  • @posscreeptu

    @posscreeptu

    4 жыл бұрын

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

  • @trulik6879
    @trulik68793 жыл бұрын

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

  • @koro4egovorya519
    @koro4egovorya5194 жыл бұрын

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

  • @SnowDice123
    @SnowDice1233 жыл бұрын

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

  • @sdeithwen1171
    @sdeithwen11714 жыл бұрын

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

  • @sdeithwen1171

    @sdeithwen1171

    4 жыл бұрын

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

  • @juuzua
    @juuzua3 жыл бұрын

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

  • @UNREAL4ever
    @UNREAL4ever4 жыл бұрын

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

  • @drakoronus
    @drakoronus4 жыл бұрын

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

  • @drakoronus

    @drakoronus

    4 жыл бұрын

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

  • @Omegon1235

    @Omegon1235

    2 жыл бұрын

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

  • @user-ff7og2by8k
    @user-ff7og2by8k4 жыл бұрын

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

  • @user-co6xh7ln5q
    @user-co6xh7ln5q4 жыл бұрын

    По твоим урокам игру для Google Play делаю, пока все шикарно) Но я думаю тебе стоит выкладывать скрипты под видео

  • @UNREAL4ever

    @UNREAL4ever

    4 жыл бұрын

    не, смысл в программировании тогда

  • @maxlmo.

    @maxlmo.

    4 жыл бұрын

    @@UNREAL4ever все таки надо скрипти, если уже все виучил и лень переписивать код с видео

  • @xies_a

    @xies_a

    3 жыл бұрын

    @@maxlmo. ты русский то не выучил, c# явно не выучил ты

  • @dexmund7490
    @dexmund74904 жыл бұрын

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

  • @qterrian4118

    @qterrian4118

    3 жыл бұрын

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

  • @shema6395

    @shema6395

    3 жыл бұрын

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

  • @qterrian4118

    @qterrian4118

    3 жыл бұрын

    @@shema6395 kzread.info/dash/bejne/mmVn1cWcZde2qdI.html

  • @Anciferfov
    @Anciferfov4 жыл бұрын

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

  • @markkamill4809
    @markkamill48094 жыл бұрын

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

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

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

  • @Omegon1235

    @Omegon1235

    2 жыл бұрын

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

  • @r1t024
    @r1t0243 жыл бұрын

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

  • @d1kay

    @d1kay

    Жыл бұрын

    не нашел?

  • @banmrp8369
    @banmrp83693 жыл бұрын

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

  • @hellpin5008
    @hellpin50082 жыл бұрын

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

  • @ruslanukr7142

    @ruslanukr7142

    2 жыл бұрын

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

  • @pishy_kommentu
    @pishy_kommentu3 жыл бұрын

    У меня врага просто колбасит, он дёргается и проваливается под плотформы. Как это исправить? Код у меня такой же.

  • @user-wq9go9nc9d

    @user-wq9go9nc9d

    3 жыл бұрын

    Сначала проверь что у тебя колайдер2д. В риджедбоди заморозь вращение оси z

  • @pishy_kommentu

    @pishy_kommentu

    3 жыл бұрын

    @@user-wq9go9nc9d я просто перемещение через физику сделал и все заработало.

  • @aaroncasper4464
    @aaroncasper44644 жыл бұрын

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

  • @skrizford
    @skrizford3 жыл бұрын

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

  • @ytl1kez143
    @ytl1kez1433 жыл бұрын

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

  • @whyde3693
    @whyde36933 жыл бұрын

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

  • @user-by3mi6ee3d

    @user-by3mi6ee3d

    Жыл бұрын

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

  • @GraphKriss
    @GraphKriss6 ай бұрын

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

  • @CrazyBabirussa

    @CrazyBabirussa

    19 күн бұрын

    Цель ему менять.

  • @lazizabduhalimov2832
    @lazizabduhalimov28323 жыл бұрын

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

  • @Uniter_
    @Uniter_ Жыл бұрын

    подскажите пж что не так с кодом (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) { Chill = true; } if (Vector2.Distance(transform.position = Player.position) { 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 { 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); } }

  • @Vilvett1918
    @Vilvett19182 жыл бұрын

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

  • @Baga523
    @Baga5233 жыл бұрын

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

  • @ghiant02
    @ghiant023 жыл бұрын

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

  • @roundzi8047

    @roundzi8047

    3 жыл бұрын

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

  • @roundzi8047

    @roundzi8047

    3 жыл бұрын

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

  • @ghiant02

    @ghiant02

    3 жыл бұрын

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

  • @MusicStrime
    @MusicStrime4 жыл бұрын

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

  • @user-jy8wx8rx3h

    @user-jy8wx8rx3h

    3 жыл бұрын

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

  • @user-jy8wx8rx3h

    @user-jy8wx8rx3h

    3 жыл бұрын

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

  • @abysswatcher5844
    @abysswatcher58443 жыл бұрын

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

  • @lazizabduhalimov2832

    @lazizabduhalimov2832

    3 жыл бұрын

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

  • @abysswatcher5844

    @abysswatcher5844

    3 жыл бұрын

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

  • @user-dg4jf3vn7f
    @user-dg4jf3vn7f7 ай бұрын

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

  • @harek1671
    @harek1671 Жыл бұрын

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

  • @antonmiller1364
    @antonmiller13643 жыл бұрын

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

  • @thesixxteenteam4736

    @thesixxteenteam4736

    3 жыл бұрын

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

  • @RazvlekaykaBY
    @RazvlekaykaBY Жыл бұрын

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

  • @ze1st_
    @ze1st_3 жыл бұрын

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

  • @ze1st_

    @ze1st_

    3 жыл бұрын

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

  • @vombox9204

    @vombox9204

    3 жыл бұрын

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

  • @grishagrishin3482
    @grishagrishin34822 жыл бұрын

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

  • @cartonig869
    @cartonig8693 жыл бұрын

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

  • @Jam867

    @Jam867

    3 жыл бұрын

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

  • @ICECREAM-sy4dq
    @ICECREAM-sy4dq4 жыл бұрын

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

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    Через Flip.

  • @alexcall5476

    @alexcall5476

    4 жыл бұрын

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

  • @lazizabduhalimov2832

    @lazizabduhalimov2832

    3 жыл бұрын

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

  • @user-sf5vi3hr6u
    @user-sf5vi3hr6u3 жыл бұрын

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

  • @Rikan19
    @Rikan194 жыл бұрын

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

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    есть

  • @tyloo2677
    @tyloo2677 Жыл бұрын

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

  • @chozagame3926
    @chozagame39264 жыл бұрын

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

  • @doctorixx_

    @doctorixx_

    3 жыл бұрын

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

  • @kanon4222
    @kanon42228 ай бұрын

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

  • @alphasamec5348
    @alphasamec53484 жыл бұрын

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

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

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

  • @alphasamec5348

    @alphasamec5348

    4 жыл бұрын

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

  • @xies_a

    @xies_a

    3 жыл бұрын

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

  • @xies_a

    @xies_a

    3 жыл бұрын

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

  • @hummylisii8237
    @hummylisii82374 жыл бұрын

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

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

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

  • @lazizabduhalimov2832

    @lazizabduhalimov2832

    3 жыл бұрын

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

  • @ze1st_
    @ze1st_3 жыл бұрын

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

  • @ze1st_

    @ze1st_

    3 жыл бұрын

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

  • @oleksandrkolomiiets9978
    @oleksandrkolomiiets99783 жыл бұрын

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

  • @MegaAlexprim

    @MegaAlexprim

    3 жыл бұрын

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

  • @user-mq5sr1pl3q

    @user-mq5sr1pl3q

    3 жыл бұрын

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

  • @MegaAlexprim

    @MegaAlexprim

    3 жыл бұрын

    @@user-mq5sr1pl3q я забил на этот урок.

  • @doctorixx_

    @doctorixx_

    3 жыл бұрын

    Эм

  • @doctorixx_

    @doctorixx_

    3 жыл бұрын

    Это легко

  • @user-df5jb1nd5f
    @user-df5jb1nd5f2 жыл бұрын

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

Келесі