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

  Рет қаралды 47,346

Graphical Design

Graphical Design

4 жыл бұрын

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

Пікірлер: 253
@wawsy
@wawsy 2 жыл бұрын
Спасибо огромное!!! Это именно то, чего мне не хватало для моей игры...
@sunq_dev
@sunq_dev 4 жыл бұрын
Каво???? Иду с работы и думаю, надо найти как сделать вражеский ИИ с патрулированием и чтоб от него можно было убежать для добавления к себе в игру. Пришел, ничего подобного не нашел, отложил до завтра. Перед сном, смотрю в рекомендациях твой видос вышел... кааапец. Спасибо большое за видео, ты топ
@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-ix7gq8zc3k 3 жыл бұрын
Очень помогло, внес огромную ясность во всю эту тему. Спасибо большое!
@sewen_ga1s229
@sewen_ga1s229 4 жыл бұрын
Ты лучший ! Спасибо за твои спасающие уроки
@e1ectr0n
@e1ectr0n 4 жыл бұрын
Добавил ИИ в раннер, теперь ИИ скидывает меня с платформы :D,как бы новое препятствие,спасибо за уроки!👍
@user-dv5ue1om3m
@user-dv5ue1om3m 2 жыл бұрын
Очень понятно объяснил, спасибо за отличный и полезный урок!
@nikitafilatov6723
@nikitafilatov6723 Жыл бұрын
большое прибольшое спасибо, все просто и ясно))благодарю что ваш канал есть)
@jugo-stream
@jugo-stream 3 жыл бұрын
Спасибо. Все четко и понятно изложил, лайк однозначно.
@user-ne2lq1zg3q
@user-ne2lq1zg3q 4 жыл бұрын
Очень прикольно и понятно.)Вот только сможешь сделать анимацию для врага как к игроку так и к врагу)
@DevFillinn
@DevFillinn Жыл бұрын
Голос красивый, и хорошо объяснил, спасибо за видео:3
@user-wb1yr6hg6i
@user-wb1yr6hg6i 4 жыл бұрын
Оо, то, что мне нужно, спасибо заранее
@user-vr5lm3ye7e
@user-vr5lm3ye7e 3 жыл бұрын
Вообще круто делаешь объясняешь так что даже я понял Ты первый кто объясняет всё и понятно
@user-vr5lm3ye7e
@user-vr5lm3ye7e 3 жыл бұрын
Если сделаю игру по твоим урокам то скиу игру сюда:)
@hurt7723
@hurt7723 4 жыл бұрын
Очень круто !
@masterandroid2680
@masterandroid2680 3 жыл бұрын
Лучшее видео на эту тему)
@YarikTurboUA
@YarikTurboUA 3 жыл бұрын
ти не уявляєш як ти мені допоміг. Вчитель з тебе топ. Дякую за інфу
@tenebrae3761
@tenebrae3761 4 жыл бұрын
Воооо, очень актуально, лайк.
@mrminecrafter3829
@mrminecrafter3829 3 жыл бұрын
спасибо большое автору !!!
@user-qw1xt7ow6d
@user-qw1xt7ow6d 2 жыл бұрын
Отличный тутор. Сразу стало понятнее со сменой состояний. Ну и как подступиться к Navimesh
@lucherpro5429
@lucherpro5429 3 жыл бұрын
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 3 жыл бұрын
спс
@murdercrow6617
@murdercrow6617 2 жыл бұрын
Спс
@user-pq5cv2og4u
@user-pq5cv2og4u 2 жыл бұрын
из души душевной душевно в душевную душу
@Uniter_
@Uniter_ 2 ай бұрын
спс
@user-ye8ff4rw6o
@user-ye8ff4rw6o 4 жыл бұрын
Хорошие у Вас уроки!! Сделай пожалуйста видео об, неуязвимости персонажа после нанесения урона, на определённое время. Спасибо
@ertreynscrapyard
@ertreynscrapyard 2 жыл бұрын
Поздновато я однако :) Если ещё не нашёл, попробуй в скрипте в отнимании жизней игрока в условие запихнуть таймер, мол "если вот что-то И ПРОШЛО ТАКОЕ-ТО ВРЕМЯ, то..."
@gm_Maker
@gm_Maker 4 жыл бұрын
Офигенно! :)
@hasanboyhakimov9144
@hasanboyhakimov9144 2 жыл бұрын
Спасибо вам большое
@user-jv1cc6no5l
@user-jv1cc6no5l 4 жыл бұрын
Лежу такой вчера и думаю: "У меня враги бегают от препятствия к препятствию, нужно как-то ИИ разнообразить, а то выглядит тупо" Graphical Design: Пс, парень, не хочешь немного интересных решений? Я: Блин, да как ты угадываешь-то каждый раз? :D
@daniil_shpilkin
@daniil_shpilkin 3 жыл бұрын
помоги пожалуйста, у меня не получается сделать так, что бы враг ходил от препятствия к препятствию. у меня получается так что, враг идет на лево и не меняет направления...
@user-zy3xy2xj3o
@user-zy3xy2xj3o Жыл бұрын
Спасибо!!!! ТЫ легенда!!!
@jrjddyzmdjdjf3730
@jrjddyzmdjdjf3730 4 жыл бұрын
Ой спасибо сильно тупил над етим захожу в Гугл и пишу "как сделать ии врагу" и вижу твой видос когда Ти разказал все на подзадачи сразу все понял.
@user-nn3du7eg7s
@user-nn3du7eg7s 4 жыл бұрын
Привет, можешь пожалуйста сделать курс по созданию 2D стратегии?)) ооочень хочу сделать, а многое не понимаю, но думаю всем будет интересно)
@darksidemods3134
@darksidemods3134 4 жыл бұрын
О спасибо крутой Ии
@greemdim4611
@greemdim4611 3 жыл бұрын
Очень крутой урок, но можешь сделать туториал, где враг также будет патрулировать местность, а когда к нему подойдёт персонаж, то враг будет в него стрелять и отнимать у него жизни. Было бы очень круто, если сделаешь такой туториал, я просто рылся в туториалах, нашел кое что, но это не совсем то что нужно. Хотелось бы получить туториал от тебя, ты один из лучших обучающих каналов на юнити
@BeDaLeK
@BeDaLeK 3 жыл бұрын
Вы меня простите, но тут на канале есть текущий урок - где всё разложено по полочкам. Есть урок по системе здоровья. Есть уроки по стрельбе. Уроки по поведению противников. Если Вы не в состоянии объединить их вместе - может стоит задуматься о том - стоит ли Вам делать игры? По всем ситуациям из всех игр видео уроков не наделаешься - жизни не хватит. А просто копировать чужой код - от этого мало чему научишься.
@greemdim4611
@greemdim4611 3 жыл бұрын
@@BeDaLeK ладно
@greemdim4611
@greemdim4611 3 жыл бұрын
Я просто являюсь художником и неплохо рисую анимации, персонажей в векторной графике, использовал свои навыки в двух завершенных проектах, но захотелось именно самому сделать игру
@WorldofHipHopRap
@WorldofHipHopRap 3 жыл бұрын
Спасибо большое) Очень классное обучение!) А подскажите, как сделать чтобы спрайт врага поворачивался к игроку или к точке не через Flip X a через Scale X?
@user-kb3ds5su2h
@user-kb3ds5su2h 2 жыл бұрын
transform.localScale = new Vector3(-1, 1, 1); в одну сторону transform.localScale = new Vector3(1, 1, 1); в другую сторону
@vensentlion4944
@vensentlion4944 4 жыл бұрын
Враг патрулируют - Да, Враг идет к игроку -Да, Враг возвращается к патрулирую если герой слишком далеко - да. Собственно название видео оправдывает содержание.
@cloudy8172
@cloudy8172 4 жыл бұрын
Слушай а можешь под следующими видосами остовлять ZIP файл с кодом или в коментах(или в опиании) просто вставлять код что-бы не корячится а так канал топ
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Неа.
@vladyahnovets8867
@vladyahnovets8867 4 жыл бұрын
@@graphicaldesign2776 why?
@qiniks9279
@qiniks9279 3 жыл бұрын
@@graphicaldesign2776 Почему?)
@graphicaldesign2776
@graphicaldesign2776 3 жыл бұрын
@@qiniks9279 не в этом цель канала
@lazizabduhalimov2832
@lazizabduhalimov2832 3 жыл бұрын
Знаете ребятки смысл в том чтобы хотя бы переписать, так хоть что то запомнишь, но просто скопировав забудешь более чем половину кода
@user-hc3ke1wy1j
@user-hc3ke1wy1j 3 жыл бұрын
Патрулирование Лол я один вспомнил мем про педалирование? И да спасибо за урок
@UNREAL4ever
@UNREAL4ever 4 жыл бұрын
Привет, клевое видео. А можешь сделать урок типа антагонист бежит за игроком, а когда он его настигает то игрок умирает. Или как делать каст сцены
@user-ew4fu9sx5j
@user-ew4fu9sx5j 4 жыл бұрын
Благодаря тебе я сделал диплом, кекв)
@arisan9724
@arisan9724 4 жыл бұрын
ты луучший
@nezors7681
@nezors7681 2 жыл бұрын
автор, скинь пожалуйста код, для большей наглядности(если можно)
@nikitaegle5533
@nikitaegle5533 2 жыл бұрын
Урок классный, но вопросик, как сделать так, чтобы враг не подходил в плотную и было небольшое расстояние
@user-co6xh7ln5q
@user-co6xh7ln5q 4 жыл бұрын
По твоим урокам игру для Google Play делаю, пока все шикарно) Но я думаю тебе стоит выкладывать скрипты под видео
@UNREAL4ever
@UNREAL4ever 4 жыл бұрын
не, смысл в программировании тогда
@maxlmo.
@maxlmo. 4 жыл бұрын
@@UNREAL4ever все таки надо скрипти, если уже все виучил и лень переписивать код с видео
@xies_a
@xies_a 3 жыл бұрын
@@maxlmo. ты русский то не выучил, c# явно не выучил ты
@kolua8683
@kolua8683 3 жыл бұрын
Я немного не понял насчет поворота врага? , что именно его поворачивает? я написал часть кода про поворот , но он не поворачиваеться в сторону игрока , всегда в одну сторону смотрит
@mrminecrafter3829
@mrminecrafter3829 3 жыл бұрын
крутое видео
@dilari2124
@dilari2124 3 жыл бұрын
Привет, вроде всё правильно сделал, но ошибка появляется, когда враг начинает патрулировать он доходит до дистанции патрулирования и его начинает трести назад он не идёт, может подскажешь в чём именно ошибка?
@markkamill4809
@markkamill4809 4 жыл бұрын
Спасибо за видео. Подскажите как сделать так, что бы враг отслеживал где находится игрок, если игрок перепрыгнет его то враг должен повернуться за ним. В добавок к этому коду по патрулированию аи.
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Так это только поворот спрайта, с зависимости от стороны движения. Положительное и отрицательное по оси Х.
@Omegon1235
@Omegon1235 2 жыл бұрын
@@graphicaldesign2776 здравствуй автор, у меня проблема, враг доходит до точки и замирает но когда он видит игрока он начинает за ним следовать
@drakoronus
@drakoronus 4 жыл бұрын
Так-с. Возникла какая-то странная проблема. До написания 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 вписывать
@IloBizon1
@IloBizon1 2 жыл бұрын
Привет. Как можно сделать такое но со врагом в воздухе? Хочу сделать вертолет, но не получается
@juuzua
@juuzua 2 жыл бұрын
"искусственный интеллект" громко сказано)
@DossBot007
@DossBot007 2 жыл бұрын
Есть косячок с этим слежением, если к примеру в момент когда бот тебя агрит, прыгаем через него и он взлетает за нами) Как это пофиксить? Заморозка по Y не помогает.
@user-ff7og2by8k
@user-ff7og2by8k 4 жыл бұрын
Будет ли видео о создании машины в tds шутер?
@harek1671
@harek1671 Жыл бұрын
Задумка вроде как неплохая,но код не работает. Враг всё время следит за игроком по осиY , даже если тот на другом конце карты, патрулирование вообще не происходит, возврат только к точке+дист.патрул отрабатывает ,ну и срабатывание на присутствие игрока само собой.
@demonASTRx
@demonASTRx 2 жыл бұрын
Большое спасибо. Но вот незадача. Когда накидываю на NPS "rigidbody" мой главный герой перестает двигаться, в чем может быть дело? На остальных обьектах без скриптов висит RB и все норм.
@Malso228
@Malso228 2 жыл бұрын
Слушай а подскажи пожалуйста из за чего может трястись враг а то я не понимаю ? Уточню некоторые детали я поставил поин в нужное место и когда он доходит до него то наченает как дергатса либо его колбасит
@user-rp9vj5hk2s
@user-rp9vj5hk2s 2 жыл бұрын
круто
@SlavonMasterJack
@SlavonMasterJack 4 жыл бұрын
Мой красавец почему-то приходит к одной точке, да так и стоит. Если его оттаскивать - то он возвращается к точке, но на патрулирование фыркает. Если оттащить его за шкварник вправо - вообще обижается и остается на месте. Проверил код - все верно. В чем может быть загвоздка?
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Все еще, в скрипте
@GraphKriss
@GraphKriss 5 ай бұрын
А как сделать нейтрального ИИ? Для окружения допустим в городе?
@laukkanen568
@laukkanen568 2 жыл бұрын
Помогите пожалуйста, никак не могу понять. Урок замечательный, но враг следует за игроком по двум осям x и y. Как сделать так, чтобы он следовал только по оси x. Заранее большое спасибо!!!!
@laukkanen568
@laukkanen568 2 жыл бұрын
Всё, сам решил проблему. Мало ли кому пригодится, нужно создать дополнительный Vector2 и указать там (player.position.x, transform.position.y), тем самым оставляя ось y без изменений. И в методе MoveTowards вторым аргументом указать нашу только что созданную переменную. Для кого-то это элементарно, но для меня (я пока учусь) было не понятно...
@hilkevih9086
@hilkevih9086 Жыл бұрын
@@laukkanen568 скинешь код бро?) тоже учусь и не втыкаю немного.
@user-qi4dy8ql7m
@user-qi4dy8ql7m 4 жыл бұрын
Всё ок.
@r1t024
@r1t024 3 жыл бұрын
Итак, спасибо за урок, но возник вот такой вопрос: А как сделать возврат к исходной точке не только по оси x, но и по оси y? Буду очень благодарен если поможете, ну и сам поищу, если что-то найду, то отредачу.
@d1kay
@d1kay Жыл бұрын
не нашел?
@daniil_shpilkin
@daniil_shpilkin 3 жыл бұрын
помоги пожалуйста, у меня не получается сделать так, что бы враг ходил от препятствия к препятствию. у меня получается так что, враг идет на лево и не меняет направления...
@sdeithwen1171
@sdeithwen1171 3 жыл бұрын
А можно сделать так, чтобы во время выполнения GoBack или Angry он прыгал если перед ним препятствие?
@sdeithwen1171
@sdeithwen1171 3 жыл бұрын
Если кому нужно: Просто добавьте прыжок в другой скрипт и тогда оба скрипта (Прыжок и и страж) будут работать
@whyde3693
@whyde3693 3 жыл бұрын
У меня 2 вопроса. 1) Не проще ли сделать состояния через enum? 2) Как сделать нормально так, чтобы враг агрился не по расстоянию до игрока а когда увидит? Чтобы этому могла помешать стенка. Используя данный способ обнаружения игрока врядли это выйдет реализовать.
@user-by3mi6ee3d
@user-by3mi6ee3d Жыл бұрын
вряд-ли мой ответ сейчас поможет, но можно попробовать через Raycast
@mrminecrafter3829
@mrminecrafter3829 3 жыл бұрын
топ видео
@Foxmine_Studio_official
@Foxmine_Studio_official 7 ай бұрын
а что делать если в консоле пишет ошибка и там команда stoppingDistance не существует в текущем контексте ?
@samuraiji6522
@samuraiji6522 2 жыл бұрын
Привет, вроде с точкой поинт и скриптом все делал правильно, но враг вертикально трясется в состоянии GoBack. Не понимаю почему.
@Anciferfov
@Anciferfov 4 жыл бұрын
Почему раз ты разделяешь состояния, не используешь enum?
@posscreeptu
@posscreeptu 4 жыл бұрын
Graphical Design Такой вопрос, почему когда я запрещаю перемещение по x, и разрешаю по y то sprite начинает мерцать?
@posscreeptu
@posscreeptu 4 жыл бұрын
так и еще и плавает
@dexmund7490
@dexmund7490 4 жыл бұрын
как написать условие, при котором спрайт врага будет поворачиваться в сторону движения?
@qterrian4118
@qterrian4118 3 жыл бұрын
Я сделал через 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 kzfaq.info/get/bejne/npdjpsaUmtq0qaM.html
@koro4egovorya519
@koro4egovorya519 3 жыл бұрын
Что делать если враг идет в право до бесконечности?
@aliexpress4830
@aliexpress4830 3 жыл бұрын
Привет,у меня тут проблема.Мой враг когда патрулирует идет назад спиной вперед.Тоесть moveingRight не работает что мне делать?
@lazizabduhalimov2832
@lazizabduhalimov2832 3 жыл бұрын
Если кто сможет помогите пожалуйста: 1)Что лучше поворот врага через flip или rotate 2) При повороте врага я сделал rotete 0, 180, 0 но раз в 15 раз враг просто не поворачивается и ходит лунной походкой Майкла Джексона ( и при angry мой ИИ поворачивается и при goBack)
@chozagame3926
@chozagame3926 4 жыл бұрын
Привет, можешь рассказать какие книги ты читал по C# или unity?
@doctorixx_
@doctorixx_ 2 жыл бұрын
"C# для маленький и тупых" от ExtremeCode
@hellpin5008
@hellpin5008 2 жыл бұрын
У меня проблема, враг сначала идет влево, доходит до конца положенного места, идет потом направо и как только доходит до края позиции, он стопориться и ни идет ни куда, если точку двигать, то он снова оживает, но уже не может повернуть налево. Так же ии изначально нацелен на меня, если в коде добавить что в состоянии angry другие состояния отключаются.
@ruslanukr7142
@ruslanukr7142 Жыл бұрын
Если разобрался, скажи как решить
@trulik6879
@trulik6879 3 жыл бұрын
Помогите пожалуста . Я добавил стрельбу етому боту но он не разворачиваетса и тем самым точка из которой вылетают пули смотрит в одно положение не зависимо где игрок с права или слева (когда гонитса за игроком). Просьба помогите его развернуть с кординатами
@bay-2363
@bay-2363 4 жыл бұрын
топ
@banmrp8369
@banmrp8369 3 жыл бұрын
а где можно скрипт скачать ?
@pishy_kommentu
@pishy_kommentu 3 жыл бұрын
У меня врага просто колбасит, он дёргается и проваливается под плотформы. Как это исправить? Код у меня такой же.
@user-wq9go9nc9d
@user-wq9go9nc9d 3 жыл бұрын
Сначала проверь что у тебя колайдер2д. В риджедбоди заморозь вращение оси z
@pishy_kommentu
@pishy_kommentu 3 жыл бұрын
@@user-wq9go9nc9d я просто перемещение через физику сделал и все заработало.
@SnowDice123
@SnowDice123 3 жыл бұрын
Здравствуйте у меня появилась проблема враг бесконечно идёт влево и не потрулирует как решить данную проблему
@antonmiller1364
@antonmiller1364 3 жыл бұрын
GameObject.FindGameObjectsWithTag("Player").transform ne rabotaet. Po4emu?
@thesixxteenteam4736
@thesixxteenteam4736 3 жыл бұрын
Anton Miller, FindGameObjectsWithTag убери букву s
@RazvlekaykaBY
@RazvlekaykaBY Жыл бұрын
У меня Enemy стоит на месте... Проигрывается только анимация бега и всё... Всё делал как на видео.
@aaroncasper4464
@aaroncasper4464 4 жыл бұрын
привет ребят, можете помочь с проблемой, я генерирую мир 2d и бывает что блок появляется прям на месте моего персонажа, и персонаж застревает в полигон коллайдере земли и как сделать так что если он ВНУТРИ коллайдер полигона, он и выйти не может и не знаю как перезагрузить уровень в таком случае ПАМИГИТИ 2 ДНЯ УЖЕ СИЖУ
@skrizford
@skrizford 3 жыл бұрын
а спрайты ты где берешь если не секрет
@kanon4222
@kanon4222 7 ай бұрын
Почему в каждом видео все поля всегда публичные. Их надо объявлять через SerializeField это же база...
@oleksandrkolomiiets9978
@oleksandrkolomiiets9978 3 жыл бұрын
Приветствую , очень крутые уроки! Хотел бы узнать кто-то знает как сделать так , что б враг разворачивался в ту сторону , в которую идет?
@MegaAlexprim
@MegaAlexprim 3 жыл бұрын
привет ты разобрался с разворотом противника?
@user-mq5sr1pl3q
@user-mq5sr1pl3q 3 жыл бұрын
@@MegaAlexprim привет, может ты разобрался?
@MegaAlexprim
@MegaAlexprim 3 жыл бұрын
@@user-mq5sr1pl3q я забил на этот урок.
@doctorixx_
@doctorixx_ 2 жыл бұрын
Эм
@doctorixx_
@doctorixx_ 2 жыл бұрын
Это легко
@ytl1kez143
@ytl1kez143 3 жыл бұрын
как это можно сделать в 2д игре в корой вид сверху
@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) < 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); } }
@Vilvett1918
@Vilvett1918 2 жыл бұрын
Всё никак не пойму, откуда у тебя при нажатии на врага появился Speed, Point и т.д если ты в нём ничего толком не написал?
@ze1st_
@ze1st_ 3 жыл бұрын
А как сделать чтобы когда перс был выше чем враг, тот включал режим патрулирования. А то я как то запутался и не получается). Я, если что, только недавно начал игры делать, камнями не бросайте сильно)
@ze1st_
@ze1st_ 3 жыл бұрын
Нуу, я короче уже сам всё сделал , оказывается просто попутал кое - где)
@MusicStrime
@MusicStrime 3 жыл бұрын
Как сделать чтоб приследовал игрока только по х?
@user-jy8wx8rx3h
@user-jy8wx8rx3h 3 жыл бұрын
@@zz_dev мда.. галочка на z нужна, чтобы объект не крутился, чел
@user-jy8wx8rx3h
@user-jy8wx8rx3h 3 жыл бұрын
@@zz_dev Ты не умеешь читать? Чел спросил "Как сделать чтобы враг преследовал игрока только по х?" То есть двигался в направлении к игрогу только по X, а Y игнорил, что делается через функцию Vector2.MoveTowards. Твой freeze rotation z никак не касается этой темы.
@cartonig869
@cartonig869 3 жыл бұрын
Привет,как сделать так что бы за игроков играл сам бот?И использовал бафы тоже сам
@Jam867
@Jam867 2 жыл бұрын
это надо писать ИИ
@UATeam662
@UATeam662 4 жыл бұрын
привет всё сделал правильн и выкидывает ету шыбку UnassignedReferenceException: The variable point of NewBehaviourScript1 has not been assigned. You probably need to assign the point variable of the NewBehaviourScript1 script in the inspector. UnityEngine.Transform.get_position () in :0 NewBehaviourScript1.Update () (at Assets/New Folder/NewBehaviourScript1.cs:30)
@ICECREAM-sy4dq
@ICECREAM-sy4dq 4 жыл бұрын
Как повернуть его? А то ходит и в одну сторону смотрит
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Через Flip.
@alexcall5476
@alexcall5476 4 жыл бұрын
@@graphicaldesign2776 а что делать, если при использовании метода flip в методе chill всё ок, но ИИ при преследовании не меняет направление, как и при уходе в точку. А если поставить ссылку на метод flip в методы angry и goBack, то ИИ начинает вертеться.
@lazizabduhalimov2832
@lazizabduhalimov2832 3 жыл бұрын
@@alexcall5476 тут надо поменять булевые переменные chill, angry, goBack
@The_Mavrik
@The_Mavrik 4 жыл бұрын
А если таких ИИ 100 штук на 1 уровне, то будет слишком затратно, чтоб каждый ии каждый update проверял дистанцию
@kroniecraft8339
@kroniecraft8339 4 жыл бұрын
Зачем 100? Не представляю себе как 100 таких в 1лвл запихнуть
@lazizabduhalimov2832
@lazizabduhalimov2832 3 жыл бұрын
Это ии похожий на врагов в Katana Zero а там максимум 15врагов в 1 уровне
@Baga523
@Baga523 3 жыл бұрын
Что делать если враг не переворачивается за тобой??
@ghiant02
@ghiant02 3 жыл бұрын
здраствуйте! у меня такая проблема то-что когда мой персонаж сталкивается с каким-то обьектом(с colider box) игрок начинает кружиться по оси z, у меня Unity2D в стиле TopDown
@roundzi8047
@roundzi8047 3 жыл бұрын
Добавь на твоего персанажа Rigidbody 2D если в 2d делаешь и заблакируй ось z
@roundzi8047
@roundzi8047 3 жыл бұрын
И вообще то макстер все показал в своём ролике. Внимательнее смотреть надо
@ghiant02
@ghiant02 3 жыл бұрын
Я давно эту проблему решил просто комментарии забыл удалить
@Rikan19
@Rikan19 4 жыл бұрын
а у тебя есть готовые скрипты?
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
есть
@ze1st_
@ze1st_ 3 жыл бұрын
а что делать, если у меня , когда игрок выше врага, то врага дергает вверх(как я понял именно в состоянии Angry)
@ze1st_
@ze1st_ 3 жыл бұрын
а, всё. Просто кое чё поменял в МувеТовардс
@vombox9204
@vombox9204 3 жыл бұрын
не могли бы вы уточнить,что именно поменяли?
@dilask7112
@dilask7112 3 жыл бұрын
А в 3д игре работать если да то я пошол создавать гта 5
@abysswatcher5844
@abysswatcher5844 3 жыл бұрын
Помогите пожалуйста. Такая проблема, Ни одна из перегрузок метода Distance не принимает 3 аргументов. Не запускается программа. Сделал всё как на видео.
@lazizabduhalimov2832
@lazizabduhalimov2832 3 жыл бұрын
Вы не сделали как показано на видео, добавили чтото лишнее в Vector2.Distance
@abysswatcher5844
@abysswatcher5844 3 жыл бұрын
@@lazizabduhalimov2832 О, спасибо. Правда боюсь, что за 2 месяца проблема успела решиться))
@hummylisii8237
@hummylisii8237 4 жыл бұрын
А что если он упадет например в яму но с прыжка он сможет выпрыгнуть.Как это сделать)?
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Сделать еще один метод для этого.
@lazizabduhalimov2832
@lazizabduhalimov2832 3 жыл бұрын
У него уже был урок на эту тему, его надо добавить
@alphasamec5348
@alphasamec5348 4 жыл бұрын
Привет, подскажи пожалуйста почему у меня страж бесконечно в лево бежит а не патрулирует? Когда меня видит, за мной бегает, с этим все норм
@graphicaldesign2776
@graphicaldesign2776 3 жыл бұрын
А что подсказать то?
@alphasamec5348
@alphasamec5348 3 жыл бұрын
@@graphicaldesign2776 Почему страж бесконечно бежит влево))
@xies_a
@xies_a 3 жыл бұрын
Поменяй место поинта направо у тебя места мало, он по факту где должен контролить стоит блок он в нём застревает
@xies_a
@xies_a 3 жыл бұрын
Ну по крайней мере я написал код верно
@user-sf5vi3hr6u
@user-sf5vi3hr6u 3 жыл бұрын
как сделать поворот врага?
@monsterclash6790
@monsterclash6790 4 жыл бұрын
Хмм, а если подпрыгнуть, то этот страж полетит. А как сделать так, чтобы он по оси Y не двигался?
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Запретить движение по Y, разрешить движение по X.
@monsterclash6790
@monsterclash6790 4 жыл бұрын
@@graphicaldesign2776, а какой командой это сделать в твоём коде? Извини за то, что тебя беспокою, но я начинающий программист и всему учусь у тебя. И ещё, у меня давно висит вопрос про то, как сделать переменную, чтобы можно было к ней обращаться к ней во всём проекте. Например, деньги. Вот тебе идейка для нового видоса! Ещё раз извиняюсь за беспокойство.
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Для обращения к переменной, можно использовать public. В моем скрипте нет команды по прыжкам.
@monsterclash6790
@monsterclash6790 4 жыл бұрын
@@graphicaldesign2776 ок, спасибо
@vombox9204
@vombox9204 3 жыл бұрын
Вы решли данную проблему?
Как спрятаться от врага  - Unity легко
12:05
Graphical Design
Рет қаралды 4 М.
Just try to use a cool gadget 😍
00:33
123 GO! SHORTS
Рет қаралды 61 МЛН
Would you like a delicious big mooncake? #shorts#Mooncake #China #Chinesefood
00:30
Кәріс өшін алды...| Synyptas 3 | 10 серия
24:51
kak budto
Рет қаралды 1,3 МЛН
Мигание врага при уроне - Unity легко
11:47
Graphical Design
Рет қаралды 11 М.
Переходишь с Unity на Godot? Посмотри это видео!
25:19
Тот Самый Келин
Рет қаралды 103 М.
31 portals of impossible shape
35:50
optozorax
Рет қаралды 630 М.
Как сделать БОССА в Unity | by Brackeys
20:35
maxvell-game developer
Рет қаралды 18 М.
I Made a Neural Network with just Redstone!
17:23
mattbatwings
Рет қаралды 557 М.
Результаты Game Jam июль
2:07:26
Graphical Design
Рет қаралды 16 М.
Just try to use a cool gadget 😍
00:33
123 GO! SHORTS
Рет қаралды 61 МЛН