Каво???? Иду с работы и думаю, надо найти как сделать вражеский ИИ с патрулированием и чтоб от него можно было убежать для добавления к себе в игру. Пришел, ничего подобного не нашел, отложил до завтра. Перед сном, смотрю в рекомендациях твой видос вышел... кааапец. Спасибо большое за видео, ты топ
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
Лежу такой вчера и думаю: "У меня враги бегают от препятствия к препятствию, нужно как-то ИИ разнообразить, а то выглядит тупо" Graphical Design: Пс, парень, не хочешь немного интересных решений? Я: Блин, да как ты угадываешь-то каждый раз? :D
помоги пожалуйста, у меня не получается сделать так, что бы враг ходил от препятствия к препятствию. у меня получается так что, враг идет на лево и не меняет направления...
Помогите пожалуйста, никак не могу понять. Урок замечательный, но враг следует за игроком по двум осям x и y. Как сделать так, чтобы он следовал только по оси x. Заранее большое спасибо!!!!
Всё, сам решил проблему. Мало ли кому пригодится, нужно создать дополнительный Vector2 и указать там (player.position.x, transform.position.y), тем самым оставляя ось y без изменений. И в методе MoveTowards вторым аргументом указать нашу только что созданную переменную. Для кого-то это элементарно, но для меня (я пока учусь) было не понятно...
помоги пожалуйста, у меня не получается сделать так, что бы враг ходил от препятствия к препятствию. у меня получается так что, враг идет на лево и не меняет направления...
Поздновато я однако :) Если ещё не нашёл, попробуй в скрипте в отнимании жизней игрока в условие запихнуть таймер, мол "если вот что-то И ПРОШЛО ТАКОЕ-ТО ВРЕМЯ, то..."
Слушай а подскажи пожалуйста из за чего может трястись враг а то я не понимаю ? Уточню некоторые детали я поставил поин в нужное место и когда он доходит до него то наченает как дергатса либо его колбасит
Спасибо большое) Очень классное обучение!) А подскажите, как сделать чтобы спрайт врага поворачивался к игроку или к точке не через Flip X a через Scale X?
Я немного не понял насчет поворота врага? , что именно его поворачивает? я написал часть кода про поворот , но он не поворачиваеться в сторону игрока , всегда в одну сторону смотрит
Помогите пожалуста . Я добавил стрельбу етому боту но он не разворачиваетса и тем самым точка из которой вылетают пули смотрит в одно положение не зависимо где игрок с права или слева (когда гонитса за игроком). Просьба помогите его развернуть с кординатами
Так-с. Возникла какая-то странная проблема. До написания angry и goback вместо того, чтобы патрулировать, враг останавливался на координатах point.position.x + positionOfPatrol. Когда дописал angry и goback он теперь останавливается в координатах point и двигается только если игрок появляется в его поле зрения. В чём может быть дело? UPD: Я посмотрел повнимательнее. Он не просто останавливается, он всё ещё идёт, просто его скорость настолько мала, что он изменяет одну стотысячную координаты в секунду. UPD2: Я закомментировал всё, что было связано с GoBack, и теперь всё работает правильно (Ну естественно кроме того, что он теперь не возвращается на нужное место после окончания преследования игрока). UPD3: Оказалось, нужно было поместить goBack = false в if (chill == true). Теперь всё идеально. Оставлю тут этот коммент, вдруг у кого похожая проблема :Р
Враг патрулируют - Да, Враг идет к игроку -Да, Враг возвращается к патрулирую если герой слишком далеко - да. Собственно название видео оправдывает содержание.
Я сделал через 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(); }
Очень крутой урок, но можешь сделать туториал, где враг также будет патрулировать местность, а когда к нему подойдёт персонаж, то враг будет в него стрелять и отнимать у него жизни. Было бы очень круто, если сделаешь такой туториал, я просто рылся в туториалах, нашел кое что, но это не совсем то что нужно. Хотелось бы получить туториал от тебя, ты один из лучших обучающих каналов на юнити
Вы меня простите, но тут на канале есть текущий урок - где всё разложено по полочкам. Есть урок по системе здоровья. Есть уроки по стрельбе. Уроки по поведению противников. Если Вы не в состоянии объединить их вместе - может стоит задуматься о том - стоит ли Вам делать игры? По всем ситуациям из всех игр видео уроков не наделаешься - жизни не хватит. А просто копировать чужой код - от этого мало чему научишься.
Я просто являюсь художником и неплохо рисую анимации, персонажей в векторной графике, использовал свои навыки в двух завершенных проектах, но захотелось именно самому сделать игру
Привет, вроде всё правильно сделал, но ошибка появляется, когда враг начинает патрулировать он доходит до дистанции патрулирования и его начинает трести назад он не идёт, может подскажешь в чём именно ошибка?
Слушай а можешь под следующими видосами остовлять ZIP файл с кодом или в коментах(или в опиании) просто вставлять код что-бы не корячится а так канал топ
Большое спасибо. Но вот незадача. Когда накидываю на NPS "rigidbody" мой главный герой перестает двигаться, в чем может быть дело? На остальных обьектах без скриптов висит RB и все норм.
@@graphicaldesign2776 а что делать, если при использовании метода flip в методе chill всё ок, но ИИ при преследовании не меняет направление, как и при уходе в точку. А если поставить ссылку на метод flip в методы angry и goBack, то ИИ начинает вертеться.
@@zz_gandon Ты не умеешь читать? Чел спросил "Как сделать чтобы враг преследовал игрока только по х?" То есть двигался в направлении к игрогу только по X, а Y игнорил, что делается через функцию Vector2.MoveTowards. Твой freeze rotation z никак не касается этой темы.
Задумка вроде как неплохая,но код не работает. Враг всё время следит за игроком по осиY , даже если тот на другом конце карты, патрулирование вообще не происходит, возврат только к точке+дист.патрул отрабатывает ,ну и срабатывание на присутствие игрока само собой.
Мой красавец почему-то приходит к одной точке, да так и стоит. Если его оттаскивать - то он возвращается к точке, но на патрулирование фыркает. Если оттащить его за шкварник вправо - вообще обижается и остается на месте. Проверил код - все верно. В чем может быть загвоздка?
Есть косячок с этим слежением, если к примеру в момент когда бот тебя агрит, прыгаем через него и он взлетает за нами) Как это пофиксить? Заморозка по Y не помогает.
У меня проблема, враг сначала идет влево, доходит до конца положенного места, идет потом направо и как только доходит до края позиции, он стопориться и ни идет ни куда, если точку двигать, то он снова оживает, но уже не может повернуть налево. Так же ии изначально нацелен на меня, если в коде добавить что в состоянии angry другие состояния отключаются.
Спасибо за видео. Подскажите как сделать так, что бы враг отслеживал где находится игрок, если игрок перепрыгнет его то враг должен повернуться за ним. В добавок к этому коду по патрулированию аи.
Помогите пожалуйста. Такая проблема, Ни одна из перегрузок метода Distance не принимает 3 аргументов. Не запускается программа. Сделал всё как на видео.
здраствуйте! у меня такая проблема то-что когда мой персонаж сталкивается с каким-то обьектом(с colider box) игрок начинает кружиться по оси z, у меня Unity2D в стиле TopDown
@@graphicaldesign2776 а как исправить проблему с ИИ, когда я в его коде закинул ссылку на метод flip в метод chill, angry, goBack, он начинает адово вертеться. Можете сказать, куда нужно закинуть ссылку на метод, чтобы ИИ нормально разворачивался в любом состоянии
Итак, спасибо за урок, но возник вот такой вопрос: А как сделать возврат к исходной точке не только по оси x, но и по оси y? Буду очень благодарен если поможете, ну и сам поищу, если что-то найду, то отредачу.
У меня 2 вопроса. 1) Не проще ли сделать состояния через enum? 2) Как сделать нормально так, чтобы враг агрился не по расстоянию до игрока а когда увидит? Чтобы этому могла помешать стенка. Используя данный способ обнаружения игрока врядли это выйдет реализовать.
привет ребят, можете помочь с проблемой, я генерирую мир 2d и бывает что блок появляется прям на месте моего персонажа, и персонаж застревает в полигон коллайдере земли и как сделать так что если он ВНУТРИ коллайдер полигона, он и выйти не может и не знаю как перезагрузить уровень в таком случае ПАМИГИТИ 2 ДНЯ УЖЕ СИЖУ
@@graphicaldesign2776, а какой командой это сделать в твоём коде? Извини за то, что тебя беспокою, но я начинающий программист и всему учусь у тебя. И ещё, у меня давно висит вопрос про то, как сделать переменную, чтобы можно было к ней обращаться к ней во всём проекте. Например, деньги. Вот тебе идейка для нового видоса! Ещё раз извиняюсь за беспокойство.
А как сделать чтобы когда перс был выше чем враг, тот включал режим патрулирования. А то я как то запутался и не получается). Я, если что, только недавно начал игры делать, камнями не бросайте сильно)
Если кто сможет помогите пожалуйста: 1)Что лучше поворот врага через flip или rotate 2) При повороте врага я сделал rotete 0, 180, 0 но раз в 15 раз враг просто не поворачивается и ходит лунной походкой Майкла Джексона ( и при angry мой ИИ поворачивается и при goBack)
Каво???? Иду с работы и думаю, надо найти как сделать вражеский ИИ с патрулированием и чтоб от него можно было убежать для добавления к себе в игру. Пришел, ничего подобного не нашел, отложил до завтра. Перед сном, смотрю в рекомендациях твой видос вышел... кааапец. Спасибо большое за видео, ты топ
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
@Chance Trace Definitely, I have been using instaflixxer for since november myself =)
@Chance Trace Definitely, been using instaflixxer for since december myself :D
@Chance Trace definitely, I have been watching on Instaflixxer for months myself :D
@Chance Trace Definitely, I've been using Instaflixxer for since november myself =)
Спасибо огромное!!! Это именно то, чего мне не хватало для моей игры...
Голос красивый, и хорошо объяснил, спасибо за видео:3
Очень круто !
Добавил ИИ в раннер, теперь ИИ скидывает меня с платформы :D,как бы новое препятствие,спасибо за уроки!👍
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);
}
спс
Спс
из души душевной душевно в душевную душу
спс
14 ошибок блять
Ты лучший ! Спасибо за твои спасающие уроки
Очень помогло, внес огромную ясность во всю эту тему. Спасибо большое!
Очень прикольно и понятно.)Вот только сможешь сделать анимацию для врага как к игроку так и к врагу)
Лежу такой вчера и думаю: "У меня враги бегают от препятствия к препятствию, нужно как-то ИИ разнообразить, а то выглядит тупо"
Graphical Design: Пс, парень, не хочешь немного интересных решений?
Я: Блин, да как ты угадываешь-то каждый раз? :D
помоги пожалуйста, у меня не получается сделать так, что бы враг ходил от препятствия к препятствию.
у меня получается так что, враг идет на лево и не меняет направления...
Спасибо. Все четко и понятно изложил, лайк однозначно.
Лучшее видео на эту тему)
большое прибольшое спасибо, все просто и ясно))благодарю что ваш канал есть)
спасибо большое автору !!!
ти не уявляєш як ти мені допоміг. Вчитель з тебе топ. Дякую за інфу
Спасибо вам большое
Воооо, очень актуально, лайк.
Вообще круто делаешь объясняешь так что даже я понял Ты первый кто объясняет всё и понятно
Если сделаю игру по твоим урокам то скиу игру сюда:)
Очень понятно объяснил, спасибо за отличный и полезный урок!
Помогите пожалуйста, никак не могу понять. Урок замечательный, но враг следует за игроком по двум осям x и y. Как сделать так, чтобы он следовал только по оси x. Заранее большое спасибо!!!!
Всё, сам решил проблему. Мало ли кому пригодится, нужно создать дополнительный Vector2 и указать там (player.position.x, transform.position.y), тем самым оставляя ось y без изменений. И в методе MoveTowards вторым аргументом указать нашу только что созданную переменную. Для кого-то это элементарно, но для меня (я пока учусь) было не понятно...
@@laukkanen568 скинешь код бро?) тоже учусь и не втыкаю немного.
автор, скинь пожалуйста код, для большей наглядности(если можно)
Офигенно! :)
Спасибо!!!! ТЫ легенда!!!
Привет. Как можно сделать такое но со врагом в воздухе?
Хочу сделать вертолет, но не получается
помоги пожалуйста, у меня не получается сделать так, что бы враг ходил от препятствия к препятствию.
у меня получается так что, враг идет на лево и не меняет направления...
Можешь пожалуйста скинуть ссылку на материал, через который ты сделал врага?
У меня Enemy стоит на месте... Проигрывается только анимация бега и всё... Всё делал как на видео.
Хорошие у Вас уроки!! Сделай пожалуйста видео об, неуязвимости персонажа после нанесения урона, на определённое время. Спасибо
Поздновато я однако :)
Если ещё не нашёл, попробуй в скрипте в отнимании жизней игрока в условие запихнуть таймер, мол "если вот что-то И ПРОШЛО ТАКОЕ-ТО ВРЕМЯ, то..."
Слушай а подскажи пожалуйста из за чего может трястись враг а то я не понимаю ? Уточню некоторые детали я поставил поин в нужное место и когда он доходит до него то наченает как дергатса либо его колбасит
А как сделать нейтрального ИИ? Для окружения допустим в городе?
Цель ему менять.
Отличный тутор. Сразу стало понятнее со сменой состояний. Ну и как подступиться к Navimesh
Спасибо большое) Очень классное обучение!) А подскажите, как сделать чтобы спрайт врага поворачивался к игроку или к точке не через Flip X a через Scale X?
transform.localScale = new Vector3(-1, 1, 1); в одну сторону
transform.localScale = new Vector3(1, 1, 1); в другую сторону
Привет, можешь пожалуйста сделать курс по созданию 2D стратегии?)) ооочень хочу сделать, а многое не понимаю, но думаю всем будет интересно)
Я немного не понял насчет поворота врага? , что именно его поворачивает? я написал часть кода про поворот , но он не поворачиваеться в сторону игрока , всегда в одну сторону смотрит
Помогите пожалуста . Я добавил стрельбу етому боту но он не разворачиваетса и тем самым точка из которой вылетают пули смотрит в одно положение не зависимо где игрок с права или слева (когда гонитса за игроком).
Просьба помогите его развернуть с кординатами
Так-с. Возникла какая-то странная проблема. До написания angry и goback вместо того, чтобы патрулировать, враг останавливался на координатах point.position.x + positionOfPatrol. Когда дописал angry и goback он теперь останавливается в координатах point и двигается только если игрок появляется в его поле зрения. В чём может быть дело?
UPD:
Я посмотрел повнимательнее. Он не просто останавливается, он всё ещё идёт, просто его скорость настолько мала, что он изменяет одну стотысячную координаты в секунду.
UPD2:
Я закомментировал всё, что было связано с GoBack, и теперь всё работает правильно (Ну естественно кроме того, что он теперь не возвращается на нужное место после окончания преследования игрока).
UPD3:
Оказалось, нужно было поместить goBack = false в if (chill == true). Теперь всё идеально.
Оставлю тут этот коммент, вдруг у кого похожая проблема :Р
@@dmitriiyyyy Я уже все переделал и стер, сори
Привет, у меня та же проблема, но я не могу понять куда goBack = false вписывать
Враг патрулируют - Да, Враг идет к игроку -Да, Враг возвращается к патрулирую если герой слишком далеко - да. Собственно название видео оправдывает содержание.
а где можно скрипт скачать ?
О спасибо крутой Ии
GameObject.FindGameObjectsWithTag("Player").transform ne rabotaet. Po4emu?
Anton Miller, FindGameObjectsWithTag убери букву s
как написать условие, при котором спрайт врага будет поворачиваться в сторону движения?
Я сделал через 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();
}
@@qterrian4118 Привет, можешь скинуть этот ролик ? Никак не могу найти
@@shema6395 ruclips.net/video/h13scc5tPyo/видео.html
Очень крутой урок, но можешь сделать туториал, где враг также будет патрулировать местность, а когда к нему подойдёт персонаж, то враг будет в него стрелять и отнимать у него жизни. Было бы очень круто, если сделаешь такой туториал, я просто рылся в туториалах, нашел кое что, но это не совсем то что нужно. Хотелось бы получить туториал от тебя, ты один из лучших обучающих каналов на юнити
Вы меня простите, но тут на канале есть текущий урок - где всё разложено по полочкам. Есть урок по системе здоровья. Есть уроки по стрельбе. Уроки по поведению противников. Если Вы не в состоянии объединить их вместе - может стоит задуматься о том - стоит ли Вам делать игры? По всем ситуациям из всех игр видео уроков не наделаешься - жизни не хватит. А просто копировать чужой код - от этого мало чему научишься.
@@BeDaLeK ладно
Я просто являюсь художником и неплохо рисую анимации, персонажей в векторной графике, использовал свои навыки в двух завершенных проектах, но захотелось именно самому сделать игру
Привет, вроде всё правильно сделал, но ошибка появляется, когда враг начинает патрулировать он доходит до дистанции патрулирования и его начинает трести назад он не идёт, может подскажешь в чём именно ошибка?
Слушай а можешь под следующими видосами остовлять ZIP файл с кодом или в коментах(или в опиании) просто вставлять код что-бы не корячится а так канал топ
Неа.
@@graphicaldesign2776 why?
@@graphicaldesign2776 Почему?)
@@qiniks9279 не в этом цель канала
Знаете ребятки смысл в том чтобы хотя бы переписать, так хоть что то запомнишь, но просто скопировав забудешь более чем половину кода
Большое спасибо.
Но вот незадача. Когда накидываю на NPS "rigidbody" мой главный герой перестает двигаться, в чем может быть дело? На остальных обьектах без скриптов висит RB и все норм.
Как повернуть его? А то ходит и в одну сторону смотрит
Через Flip.
@@graphicaldesign2776 а что делать, если при использовании метода flip в методе chill всё ок, но ИИ при преследовании не меняет направление, как и при уходе в точку. А если поставить ссылку на метод flip в методы angry и goBack, то ИИ начинает вертеться.
@@alexcall5476 тут надо поменять булевые переменные chill, angry, goBack
Как сделать чтоб приследовал игрока только по х?
@@zz_gandon мда.. галочка на z нужна, чтобы объект не крутился, чел
@@zz_gandon Ты не умеешь читать? Чел спросил "Как сделать чтобы враг преследовал игрока только по х?" То есть двигался в направлении к игрогу только по X, а Y игнорил, что делается через функцию Vector2.MoveTowards. Твой freeze rotation z никак не касается этой темы.
Здравствуйте у меня появилась проблема враг бесконечно идёт влево и не потрулирует как решить данную проблему
Задумка вроде как неплохая,но код не работает. Враг всё время следит за игроком по осиY , даже если тот на другом конце карты, патрулирование вообще не происходит, возврат только к точке+дист.патрул отрабатывает ,ну и срабатывание на присутствие игрока само собой.
Мой красавец почему-то приходит к одной точке, да так и стоит. Если его оттаскивать - то он возвращается к точке, но на патрулирование фыркает. Если оттащить его за шкварник вправо - вообще обижается и остается на месте. Проверил код - все верно. В чем может быть загвоздка?
Все еще, в скрипте
Привет, вроде с точкой поинт и скриптом все делал правильно, но враг вертикально трясется в состоянии GoBack. Не понимаю почему.
Что делать если враг идет в право до бесконечности?
Всё никак не пойму, откуда у тебя при нажатии на врага появился Speed, Point и т.д если ты в нём ничего толком не написал?
Есть косячок с этим слежением, если к примеру в момент когда бот тебя агрит, прыгаем через него и он взлетает за нами) Как это пофиксить? Заморозка по Y не помогает.
Привет,у меня тут проблема.Мой враг когда патрулирует идет назад спиной вперед.Тоесть moveingRight не работает что мне делать?
У меня проблема, враг сначала идет влево, доходит до конца положенного места, идет потом направо и как только доходит до края позиции, он стопориться и ни идет ни куда, если точку двигать, то он снова оживает, но уже не может повернуть налево. Так же ии изначально нацелен на меня, если в коде добавить что в состоянии angry другие состояния отключаются.
Если разобрался, скажи как решить
Ой спасибо сильно тупил над етим захожу в Гугл и пишу "как сделать ии врагу" и вижу твой видос когда Ти разказал все на подзадачи сразу все понял.
подскажите пж что не так с кодом
(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);
}
}
ты луучший
почему у меня бот уходит в право и совершает суицид :(
Патрулирование
Лол я один вспомнил мем про педалирование?
И да спасибо за урок
А можно сделать так, чтобы во время выполнения GoBack или Angry он прыгал если перед ним препятствие?
Если кому нужно: Просто добавьте прыжок в другой скрипт и тогда оба скрипта (Прыжок и и страж) будут работать
Почему в каждом видео все поля всегда публичные. Их надо объявлять через SerializeField это же база...
Что делать он на месте прыгает
Благодаря тебе я сделал диплом, кекв)
"искусственный интеллект" громко сказано)
Как сделать тоже самое, только в 3д игре??
Урок классный, но вопросик, как сделать так, чтобы враг не подходил в плотную и было небольшое расстояние
Спасибо за видео. Подскажите как сделать так, что бы враг отслеживал где находится игрок, если игрок перепрыгнет его то враг должен повернуться за ним. В добавок к этому коду по патрулированию аи.
Так это только поворот спрайта, с зависимости от стороны движения. Положительное и отрицательное по оси Х.
@@graphicaldesign2776 здравствуй автор, у меня проблема, враг доходит до точки и замирает но когда он видит игрока он начинает за ним следовать
Помогите пожалуйста. Такая проблема, Ни одна из перегрузок метода Distance не принимает 3 аргументов.
Не запускается программа. Сделал всё как на видео.
Вы не сделали как показано на видео, добавили чтото лишнее в Vector2.Distance
@@lazizabduhalimov2832 О, спасибо. Правда боюсь, что за 2 месяца проблема успела решиться))
Приветствую , очень крутые уроки!
Хотел бы узнать кто-то знает как сделать так , что б враг разворачивался в ту сторону , в которую идет?
привет ты разобрался с разворотом противника?
@@MegaAlexprim привет, может ты разобрался?
@@ПавелКурзо я забил на этот урок.
Эм
Это легко
а спрайты ты где берешь если не секрет
здраствуйте!
у меня такая проблема то-что когда мой персонаж сталкивается с каким-то обьектом(с colider box) игрок начинает кружиться по оси z, у меня Unity2D в стиле TopDown
Добавь на твоего персанажа Rigidbody 2D если в 2d делаешь и заблакируй ось z
И вообще то макстер все показал в своём ролике. Внимательнее смотреть надо
Я давно эту проблему решил просто комментарии забыл удалить
Что делать если враг не переворачивается за тобой??
а что делать, если у меня , когда игрок выше врага, то врага дергает вверх(как я понял именно в состоянии Angry)
а, всё. Просто кое чё поменял в МувеТовардс
не могли бы вы уточнить,что именно поменяли?
Почему раз ты разделяешь состояния, не используешь enum?
Graphical Design Такой вопрос, почему когда я запрещаю перемещение по x, и разрешаю по y то sprite начинает мерцать?
так и еще и плавает
как это можно сделать в 2д игре в корой вид сверху
А как вообще создать папку врага в Unity ?
Почему у меня мерцает игрок, когда проходит через объекты на заднем фоне или когда задний фон - это какая-то фотография?
Фотография? Ты о чем?
@@graphicaldesign2776 задний фон, спасибо, я понял в чём дело, нужно просто поднять уровень слоя персонажа
@@graphicaldesign2776 а как исправить проблему с ИИ, когда я в его коде закинул ссылку на метод flip в метод chill, angry, goBack, он начинает адово вертеться. Можете сказать, куда нужно закинуть ссылку на метод, чтобы ИИ нормально разворачивался в любом состоянии
@@alexcall5476 в Update
@@graphicaldesign2776 а куда именно, я ставлю в метод update во все if.
Итак, спасибо за урок, но возник вот такой вопрос: А как сделать возврат к исходной точке не только по оси x, но и по оси y? Буду очень благодарен если поможете, ну и сам поищу, если что-то найду, то отредачу.
не нашел?
У меня 2 вопроса.
1) Не проще ли сделать состояния через enum?
2) Как сделать нормально так, чтобы враг агрился не по расстоянию до игрока а когда увидит? Чтобы этому могла помешать стенка. Используя данный способ обнаружения игрока врядли это выйдет реализовать.
вряд-ли мой ответ сейчас поможет, но можно попробовать через Raycast
круто
крутое видео
привет ребят, можете помочь с проблемой, я генерирую мир 2d и бывает что блок появляется прям на месте моего персонажа, и персонаж застревает в полигон коллайдере земли и как сделать так что если он ВНУТРИ коллайдер полигона, он и выйти не может и не знаю как перезагрузить уровень в таком случае ПАМИГИТИ 2 ДНЯ УЖЕ СИЖУ
Будет ли видео о создании машины в tds шутер?
Привет, подскажи пожалуйста почему у меня страж бесконечно в лево бежит а не патрулирует? Когда меня видит, за мной бегает, с этим все норм
А что подсказать то?
@@graphicaldesign2776 Почему страж бесконечно бежит влево))
Поменяй место поинта направо у тебя места мало, он по факту где должен контролить стоит блок он в нём застревает
Ну по крайней мере я написал код верно
Привет,как сделать так что бы за игроков играл сам бот?И использовал бафы тоже сам
это надо писать ИИ
А что если он упадет например в яму но с прыжка он сможет выпрыгнуть.Как это сделать)?
Сделать еще один метод для этого.
У него уже был урок на эту тему, его надо добавить
Хмм, а если подпрыгнуть, то этот страж полетит. А как сделать так, чтобы он по оси Y не двигался?
Запретить движение по Y, разрешить движение по X.
@@graphicaldesign2776, а какой командой это сделать в твоём коде? Извини за то, что тебя беспокою, но я начинающий программист и всему учусь у тебя. И ещё, у меня давно висит вопрос про то, как сделать переменную, чтобы можно было к ней обращаться к ней во всём проекте. Например, деньги. Вот тебе идейка для нового видоса! Ещё раз извиняюсь за беспокойство.
Для обращения к переменной, можно использовать public.
В моем скрипте нет команды по прыжкам.
@@graphicaldesign2776 ок, спасибо
Вы решли данную проблему?
Какой язык, это с#?
а у тебя есть готовые скрипты?
есть
А как сделать чтобы когда перс был выше чем враг, тот включал режим патрулирования. А то я как то запутался и не получается). Я, если что, только недавно начал игры делать, камнями не бросайте сильно)
Нуу, я короче уже сам всё сделал , оказывается просто попутал кое - где)
как сделать поворот врага?
Всё ок.
Привет, клевое видео. А можешь сделать урок типа антагонист бежит за игроком, а когда он его настигает то игрок умирает. Или как делать каст сцены
Привет, можешь рассказать какие книги ты читал по C# или unity?
"C# для маленький и тупых" от ExtremeCode
Если кто сможет помогите пожалуйста: 1)Что лучше поворот врага через flip или rotate
2) При повороте врага я сделал rotete 0, 180, 0 но раз в 15 раз враг просто не поворачивается и ходит лунной походкой Майкла Джексона ( и при angry мой ИИ поворачивается и при goBack)
Ошибку пишит в геймОбьектТег игорк, уже раз 10 перепичатал..... " does not contain for FinGameObjectTag" помогите кто более опытин.
Добавь тег игроку Player в инспекторе
Напишите в ответы конечный код, просто я долго его писал, а он оказался неправильным = я криворукий. Короче, мне лень переписывать
топ видео