No video

Уничтожение врага в виде частиц - Unity легко

В этом видео я покажу, как реализовать уничтожение врага в виде частиц (particle) в Unity.
• Мигание врага при урон... - предыдущий урок, по миганию врага при уроне
Номер карты для поддержки - 4149629398195479
/ graphicaldesignua - мой патреон для поддержки)
t.me/joinchat/K3HCV0nUjP4X7kC... - телеграм канал в котором можете пообщаться с другими разработчиками.

Пікірлер: 105

  • @user-gz7oy5mh4v
    @user-gz7oy5mh4v4 жыл бұрын

    Вааах радуешь с каждым днём я аж не успеваю) теперь боюсь как бы твои видео не пропали и не стали платными

  • @michaelmichael8602
    @michaelmichael86024 жыл бұрын

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

  • @Nobody_7777
    @Nobody_77774 жыл бұрын

    Бро, спасибо тебе огромное за твой канал, я задался целью просмотреть каждое твоё видео, и каждый раз когда появляются вопросы, обращаюсь к твоему творчеству. Всё по факту и очень доходчиво. За комментарии к коду отдельное спасибо! Не в коем случае не бросай свою деятельность, даже если это не приносит денег, ты приносишь большую пользу многим людям, а это дороже денег! СПАСИБО ТЕБЕ!

  • @LEGENDA472
    @LEGENDA4724 жыл бұрын

    Просто лучший, твои ролики мотивируют обучатся дальше. Спасибо!

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

    Я человек простой, вижу видео - ставлю лайк.

  • @druzhe9402
    @druzhe94024 жыл бұрын

    Боже, ведь сколько встречал каналов по шарпу... вы-лучший!

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

    Вау.Это очень интересно,спасибо.

  • @drofin
    @drofin3 жыл бұрын

    Спасибо ,очень доходчиво .

  • @jackripper7578
    @jackripper75782 жыл бұрын

    Огромное тебе спасибо!! Ты очень мне помог!

  • @user-tu7sj9mx2n
    @user-tu7sj9mx2n4 жыл бұрын

    А как чтоб частицы имели текстуру противника, ну типо реально противник рассыпался, а не просто разлетелся белыми частицами? Ну вот чтоб как на превьюшке. Сними пожалуйста об этом ролик)

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    Договорились)

  • @user-nf3ck4eq5u

    @user-nf3ck4eq5u

    4 жыл бұрын

    @@graphicaldesign2776 сделай ещё что бы рассыпался не только противник , что бы наш герой тоже разваливался при смерти

  • @michaelmichael8602

    @michaelmichael8602

    4 жыл бұрын

    @@user-nf3ck4eq5u просто сделай тоже самое, но только со своим персонажем

  • @user-tu7sj9mx2n
    @user-tu7sj9mx2n4 жыл бұрын

    Уже почти 20000 подписчиков, ох, желаю ещё пару нулей и успехов)))

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    Благодарю

  • @ytugihjok
    @ytugihjok2 жыл бұрын

    Видео супер!

  • @maximka_play639
    @maximka_play6394 жыл бұрын

    Ты супер))))

  • @FloatingGames
    @FloatingGames4 жыл бұрын

    Продолжай)))

  • @-workout4118
    @-workout41184 жыл бұрын

    Ясно,Танос:)

  • @SPORTCHEER
    @SPORTCHEER4 жыл бұрын

    Прикольно!

  • @nyakatoon
    @nyakatoon2 жыл бұрын

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

  • @hizar2617
    @hizar26174 жыл бұрын

    5:25 Вместо того чтобы писать explosionRef = new Vector3 (transform.position.x, transform.position.y, transform position.z) можно просто написать explosionRef = transform.position

  • @hizar2617

    @hizar2617

    4 жыл бұрын

    А так, спасибо за ролик

  • @nonurukkhai2095
    @nonurukkhai20954 жыл бұрын

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

  • @killerferplay614

    @killerferplay614

    2 жыл бұрын

    Такую игру я не знаю, опиши в ДС, MR. X#5990

  • @user-tx4rr3wp5e
    @user-tx4rr3wp5e4 жыл бұрын

    Идея для урока,сделать таймер допустим от 10 секунд до 0, и после того как таймер дойдёт до 0 игрок проигрывает

  • @themax7806
    @themax78064 жыл бұрын

    Видео как всегда класс. И пожалуйста покажи как сделать лазерную пешку

  • @Shorts-hn5wo
    @Shorts-hn5wo4 жыл бұрын

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

  • @xji3b50
    @xji3b504 жыл бұрын

    Здравствуйте, а не подскажите почему у меня персонаж сталкивается с центром игровой зоны, и почему у меня через раз он прыгает выше чем должен

  • @cosmogoose
    @cosmogoose3 ай бұрын

    Блин, на превью вообще другое показалось( Думал, будет как "Мистер Старк, что-то мне не хорошо"

  • @DeadlyMet
    @DeadlyMet4 жыл бұрын

    Оуу, а я думал буду смотреть эффект таноса 😔 как на превью

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    Так а в чем сложность сделать такой эффект? Это обычная анимация.

  • @DeadlyMet

    @DeadlyMet

    4 жыл бұрын

    @@graphicaldesign2776 я думал это реализуется через шейдеры в шйдерграфе, а как анимацией сделать - ума не приложу 🤔

  • @user-nk7uo2qy4b
    @user-nk7uo2qy4b4 жыл бұрын

    Можно, пожалуйста, рабочую ссылку на телеграмм канал? p.s. по названию GDC найти не удаётся :(

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    так ссылка рабочая. И название рабочее. Забей в браузерную версию

  • @urn4916
    @urn49163 жыл бұрын

    Такой эффект как в превью можно сделать с помощью Маски и Системы частиц.(могу записать видос)

  • @user-ks3rj1zg4v
    @user-ks3rj1zg4v4 жыл бұрын

    Привет,помоги мне советом, пожалуйста??? я делаю игру на Андроид !!!!я хочу сделать бесконечный уровень(как у Doodle Jump)чтоб после смерти,карта оставалась прежней,а обекты меняли свое положение??Игра в формате 3d,зарание спасибо

  • @-workout4118

    @-workout4118

    4 жыл бұрын

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

  • @user-ks3rj1zg4v

    @user-ks3rj1zg4v

    4 жыл бұрын

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

  • @supin_dimas7708
    @supin_dimas77084 жыл бұрын

    Интересно. А как тебе вариант, сделать, чтобы враг распадался на части тела (т. е. те же частицы только в формате частей противника) . Типо поделить на части текстуру врага и сделать из них один Prefab. Сделать всем этим частям Rigidbody2D и настроить физику. В скрипте написать, чтобы когда кол-во жизни спускалось до нуля, враг исчезал, а на его координатах возникал Prefab, и спустя несколько секунд полностью исчезли. Надеюсь неплохая идея. Хоть и очень похоже на то, что ты сделал.

  • @gaitavr1992

    @gaitavr1992

    4 жыл бұрын

    Это анимацией проще всего сделать

  • @supin_dimas7708

    @supin_dimas7708

    4 жыл бұрын

    @@gaitavr1992 думаю, ты прав

  • @gaitavr1992
    @gaitavr19924 жыл бұрын

    От вызова Invoke лучше вообще отказаться. И поменьше нелокализированных строк, такой код в дальнейшем очень сложно будет поддерживать

  • @user-vu1xr8ji2b
    @user-vu1xr8ji2b4 жыл бұрын

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

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    Продолжение? что там еще в продолжением?

  • @bkWorm-gx2pi
    @bkWorm-gx2pi4 жыл бұрын

    Не могу найти телеграм канал, даже если вбиваю название GDC, как на него попасть?

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    Пробуй через браузер

  • @user-nf3ck4eq5u
    @user-nf3ck4eq5u4 жыл бұрын

    Привет.Помоги пожалуйста)Написал такой же скрипт как и в твоём ролике "Как сделать движение камеры за персонажем в Unity - легко" а мне выдаёт "'GameObject' does not contain a defintion for 'transform' and no accessible extension met"

  • @user-nf3ck4eq5u

    @user-nf3ck4eq5u

    4 жыл бұрын

    До этого сделал только управление персонажем и смерть персонажа по твоим роликам)

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    надо искать проблему с блоком transform

  • @user-nf3ck4eq5u

    @user-nf3ck4eq5u

    4 жыл бұрын

    @@graphicaldesign2776 а как ее найти?

  • @user-nf3ck4eq5u

    @user-nf3ck4eq5u

    4 жыл бұрын

    @@graphicaldesign2776 где искать эту ошибку?

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    @@user-nf3ck4eq5u все очевидней чем кажется, в скрипте. Больше сказать ничего не могу, не видя проекта.

  • @-workout4118
    @-workout41184 жыл бұрын

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

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

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

  • @-workout4118

    @-workout4118

    4 жыл бұрын

    @@graphicaldesign2776Я примерно представляю как это сделать,но из-за того что 1 месяц изучаю с# и unity ,весьма трудно ;( Но спасибо за совет,попробую. Так же думаю это не плохая идея для видео😊😊😊

  • @SlavonMasterJack

    @SlavonMasterJack

    4 жыл бұрын

    @@-workout4118 я **ошу адовые скрипты. Такой вот рецепт усредненный, потому что вариаций масса. Сначала берешь Canvas, на него - Panel с двумя кнопками. Первая - рестарт, вторая - сброс PlayerPrefs (поймешь, зачем). Кнопочки дочерние к панели. И создаешь вторую панель - с одной кнопкой для сброса PlayerPrefs и текстом "ТЫ СДОХ ОКОНЧАТЕЛЬНО" (примерно такого содержания). Потом берется notepad, Visual Studio не открывается - это не про нас. Берешь значит скрипт, и фигачишь туда примерно(!) следующее: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class IfPlayerDeadsSecondTime : MonoBehaviour { public GameObject player; //твой игрок должен иметь тэг "Player" public GameObject gameOverPanel; //всплывающая панель окончания игры public GameObject restartPanel; // всплывающая панель рестарта // Start is called before the first frame update void Start() { player = GameObject.FindGameObjectWithTag("Player"); //присваиваем переменной твоего игрока gameOverPanel.SetActive(false); //скрываем пепрвую панель restartPanel.SetActive(false); // скрываем вторую панель } // Update is called once per frame void Update() { if (player == null) //если игрока больше нет, что очень печально { FirstDead(); //вызываем метод первой смерти } else if (player == null && PlayerPrefs.HasKey("deadboy")) // если игрок погиб и он уже погибал ранее, то { GameOver(); //совсем конечная станция, игра окончена, всем спасибо } } void FirstDead() //метод первой смерти { PlayerPrefs.SetInt("deadboy", 1); // сохраняем в реестр ключ с именем deadboy. Если он будет сохранен, мы запоминаем, что игрок уже однажды погиб restartPanel.SetActive(true); // показываем панель рестарта } void GameOver() //метод окончания игры { gameOverPanel.SetActive(true); // показываем панель с окончанием игры и надписью, если нужно } void RestartLevel() //метод для кнопки, чтобы перезагрузить уровень { SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 0); } void DeleteAllPrefs() //метод для кнопки сброса PlayerPrefs, всех и сразу)0 { PlayerPrefs.DeleteAll(); //удаляем PlayerPrefs } } Добавляешь на сцену пустой объект, вешаешь на него скрипт. В переменные запихиваешь свои панели рестарта и гейм овера. Игрока можешь запихнуть, а можешь и нет - скрипт сам его найдет, если ты тэг выставил. К кнопкам через Event System привязываешь методы для перезапуска и сброса PlayerPrefs. Поищи в инете, если не знаешь, как делать. Смерть твоего персонажа должна быть через удаление. Надеюсь, так ты и сделал. Добавляешь на сцену огромное количество спрайтов, эффектов, объектов, мобы и платформы сверху. Все это запускается. Скрипт скрывает две твоих панели. Первый раз погибаешь - появляется панель с кнопками перезапуска и сброса PlayerPrefs(для отладки). В этот момент мы уже запомнили, что ты умер. Перезапускаешь, а PlayerPrefs все помнит.Потом шкрябаешь пальцами по клавиатуре, чтобы опять умереть. Шкрябаешь и приговариваешь ""Ух е"". Умираешь второй раз - и с сохраненным ключиком возникает прикол. Он-то есть, и поэтому тебе показывается сцена окончательно смерти. Если перезапустишь сцену и умрешь снова - все равно гейм овер будет, рестарта не будет. Чтобы убрать PlayerPrefs, у тебя есть метод в скрипте, написанным мною. Тут у тебя на лбу пот выступает. Любезно нажимаешь на кнопочку, заранее приготовленную, и сбрасываешь PlayerPrefs. Примерно такой код. Надо ли говорить, что от такой оптимизации обои от стен отклеиваются?)

  • @-workout4118

    @-workout4118

    4 жыл бұрын

    @@SlavonMasterJack ебать копать

  • @sembarinbom620

    @sembarinbom620

    4 жыл бұрын

    @@-workout4118 лучше и не скажешь

  • @dimalis1576
    @dimalis15763 жыл бұрын

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

  • @sembarinbom620
    @sembarinbom6204 жыл бұрын

    Слушай дружище. Я вот предлагаю тему для видио. Сделать кнопку под разные разрешение экрана для пк игр. Допустим для 2-3 видов разрешения. Чтоб в самой игре можно было зайти в настройки, нажать кнопку разрешение экрана и там бы высветелись 3 вида разных размеров экрана. И чтоб при нажатие какого нибудь разрешение экран поменял свой размеры. Я понимаю что это очень сложно. Но я думаю это будет многим очень интересно

  • @alegor5530

    @alegor5530

    4 жыл бұрын

    Я не думаю что это очень сложно😁

  • @sembarinbom620

    @sembarinbom620

    4 жыл бұрын

    @@alegor5530 сделать кнопку под разрешение экранов и вставить туда эти разрешения да не сложно. Но вот чтоб сжималось всё или расширялось под разные экраны я думаю сложно.

  • @Hroopzz
    @Hroopzz4 жыл бұрын

    Можно ли как-то сделать, чтобы частицы зависили от "скина" врага?(И не писать большой код)

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    В плане? не понял вопроса.

  • @Hroopzz

    @Hroopzz

    4 жыл бұрын

    @@graphicaldesign2776 Нус, смотри Частицы белые, а враг черный . А я бы хотел сделать частицы черные - враг черный(Частицы красные - враг красный).Т.е. частицы напрямую зависят от врага( спрайта )

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    @@Hroopzz создать разные партиклы, и вызывать нужный.

  • @alegor5530

    @alegor5530

    4 жыл бұрын

    @@Hroopzz перематай на примерно 1:20 там будут рассказывать о материале, ты просто сделай 2д материал и задай ему нужный цвет и помести вместо белого материала

  • @SlavonMasterJack

    @SlavonMasterJack

    4 жыл бұрын

    Чувак, простейший метод. Сделай себе материал с нужным цветом. Наложи на спрайт врага (допустим, красный), он у тебя покрасится. Потом сделай скрипт, который повесишь на объект с партиклами, который будешь спавнить при попадании. Размести его по центру врага. Сделай новый скрипт для этого объекта, в скрипте сделай ссылку на материал, типа GetComponent или что-то такое. Объект с партиклами дочерний к врагу. В этом скрипте, что на партиклах, получай материал противника и меняй его в своих партиклах. Покрасишь врага в зеленый - паротикл системс через созданный скрипт будет забирать материал врага и использовать его при создании эффектов. Наверное, как-то так. Ну, как один из вариантов. Так можешь красить хоть 100500 систем частиц с разными частицами, главное - чтобы у тебя они были на одной текстуре (сеточкой, чтобы не запариваться). Кхе.

  • @nepochat
    @nepochat4 жыл бұрын

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

  • @user-nk7uo2qy4b

    @user-nk7uo2qy4b

    4 жыл бұрын

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

  • @SlavonMasterJack

    @SlavonMasterJack

    4 жыл бұрын

    Изи, мэн. Берешь скрипт префаба своей пули. Добавляешь переменную impactEffect, типа GameObject, в скрипт пули добавляешь следующее: void OnCollisionEnter2D(Collision2D other) //метод при столкновении с коллайдером. Можешь с триггером, суть не меняется { if (other.gameObject.tag != playerTag) //если тэг противника не равен игроку ( { Destroy(gameObject); //удаляешь свой снаряд Instantiate(impactEffect, transform.position, transform.rotation); //на месте попадания снаряда появляется impactEffect } } А inpactEffect - это твой эффектный разлет частиц. Сделай новый скрипт InvokeDestroy и напиши: using System.Collections; using System.Collections.Generic; using UnityEngine; public class InvokeDestroy : MonoBehaviour { public int time = 2; // Update is called once per frame void Start() { Invoke("DestroyBefore", time); } void DestroyBefore() { Destroy(gameObject); } } Добавляешь на геймобжект, где у тебя система частиц. И этот скрипт удалит ее через 2 секунды. Можно без этого, если тебе нужна кровь на стенах. Тогда можно добавить спрайт крови, выставить нужный layer и вызывать его как inpactEffect точно таким же способом. Ну, добавь методы нанесения урона, фичи всякие, соль-перец по вкусу. Ничего сложного. Примерно так же работает и на hit.point, если юзаешь рэйкасты.

  • @nepochat

    @nepochat

    4 жыл бұрын

    @@SlavonMasterJack точно. Это же элементарно. Спасибо, мэн!

  • @evilvirraZzz
    @evilvirraZzz4 жыл бұрын

    Кстаааати , а ты знаешь Unity DOTS ?))

  • @leonavdeev1345
    @leonavdeev13454 жыл бұрын

    Почему не снимаешь видео про Unity3D?

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    Хм, как сказать) Потому что снимаю 2D)

  • @leonavdeev1345

    @leonavdeev1345

    4 жыл бұрын

    @@graphicaldesign2776 Но не всегда же так, только 2д, 3д охватит больше аудитории

  • @yirakaigorodsev2691

    @yirakaigorodsev2691

    4 жыл бұрын

    @@leonavdeev1345 Большинство приемов в 2д спокойно можно перенести в 3д

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    @@yirakaigorodsev2691 Что не всегда?

  • @leonavdeev1345

    @leonavdeev1345

    4 жыл бұрын

    @@yirakaigorodsev2691 Да не не все

  • @fannybrothers6978
    @fannybrothers69784 жыл бұрын

    load красным подчеркнут шо делать???

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    Не грустить, и справлять.

  • @fannybrothers6978

    @fannybrothers6978

    4 жыл бұрын

    @@graphicaldesign2776 а как?)

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    @@fannybrothers6978 а я откуда знаю?

  • @fannybrothers6978

    @fannybrothers6978

    4 жыл бұрын

    @@graphicaldesign2776 понял, принял

  • @user-io8mq1gn8p
    @user-io8mq1gn8p4 жыл бұрын

    Скоро будет видио под андроид управление,выстрела и т.д

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    Это вопрос?

  • @user-io8mq1gn8p

    @user-io8mq1gn8p

    4 жыл бұрын

    Да

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    @@user-io8mq1gn8p Никто не говорил что будут такие видео.

  • @user-io8mq1gn8p

    @user-io8mq1gn8p

    4 жыл бұрын

    @@graphicaldesign2776 ты сам говорил месяц назад что пока занять по позже сделаю. Круто ты делаешь

  • @graphicaldesign2776

    @graphicaldesign2776

    4 жыл бұрын

    @@user-io8mq1gn8p Когда-то сделаю, я же не говорил что через месяц будет.

  • @evilvirraZzz
    @evilvirraZzz4 жыл бұрын

    Про дол жай :)

  • @killerferplay614
    @killerferplay6142 жыл бұрын

    Для чего тебе system? Лучше их удалить

  • @mctire1586
    @mctire15863 жыл бұрын

    Что за бред

Келесі