No video
Уничтожение врага в виде частиц - Unity легко
В этом видео я покажу, как реализовать уничтожение врага в виде частиц (particle) в Unity.
• Мигание врага при урон... - предыдущий урок, по миганию врага при уроне
Номер карты для поддержки - 4149629398195479
/ graphicaldesignua - мой патреон для поддержки)
t.me/joinchat/K3HCV0nUjP4X7kC... - телеграм канал в котором можете пообщаться с другими разработчиками.
Пікірлер: 105
Вааах радуешь с каждым днём я аж не успеваю) теперь боюсь как бы твои видео не пропали и не стали платными
Случайно наткнулся на ваш канал, и он действительно крутой. Спасибо за то, что вы делаете!!
Бро, спасибо тебе огромное за твой канал, я задался целью просмотреть каждое твоё видео, и каждый раз когда появляются вопросы, обращаюсь к твоему творчеству. Всё по факту и очень доходчиво. За комментарии к коду отдельное спасибо! Не в коем случае не бросай свою деятельность, даже если это не приносит денег, ты приносишь большую пользу многим людям, а это дороже денег! СПАСИБО ТЕБЕ!
Просто лучший, твои ролики мотивируют обучатся дальше. Спасибо!
Я человек простой, вижу видео - ставлю лайк.
Боже, ведь сколько встречал каналов по шарпу... вы-лучший!
Вау.Это очень интересно,спасибо.
Спасибо ,очень доходчиво .
Огромное тебе спасибо!! Ты очень мне помог!
А как чтоб частицы имели текстуру противника, ну типо реально противник рассыпался, а не просто разлетелся белыми частицами? Ну вот чтоб как на превьюшке. Сними пожалуйста об этом ролик)
@graphicaldesign2776
4 жыл бұрын
Договорились)
@user-nf3ck4eq5u
4 жыл бұрын
@@graphicaldesign2776 сделай ещё что бы рассыпался не только противник , что бы наш герой тоже разваливался при смерти
@michaelmichael8602
4 жыл бұрын
@@user-nf3ck4eq5u просто сделай тоже самое, но только со своим персонажем
Уже почти 20000 подписчиков, ох, желаю ещё пару нулей и успехов)))
@graphicaldesign2776
4 жыл бұрын
Благодарю
Видео супер!
Ты супер))))
Продолжай)))
Ясно,Танос:)
Прикольно!
Проверил, и увидел что после проигрывания остаеться обьект с партиклами, можно его как то убрать не создавая еще один скрипт?
5:25 Вместо того чтобы писать explosionRef = new Vector3 (transform.position.x, transform.position.y, transform position.z) можно просто написать explosionRef = transform.position
@hizar2617
4 жыл бұрын
А так, спасибо за ролик
Брат урок полезный, спасибо! Не хочешь делать урок про игру с камерой под углом типа как Донт старв! Думаю идея хорошая и в интернете нет таких! Точнее есть только на английском! Думаю хорошая идея! Спасибо за уроки!
@killerferplay614
2 жыл бұрын
Такую игру я не знаю, опиши в ДС, MR. X#5990
Идея для урока,сделать таймер допустим от 10 секунд до 0, и после того как таймер дойдёт до 0 игрок проигрывает
Видео как всегда класс. И пожалуйста покажи как сделать лазерную пешку
а я добавляю паритикулы но из за того что у меня есть фон, то он за фоном стоит. как его поставить на передний план?
Здравствуйте, а не подскажите почему у меня персонаж сталкивается с центром игровой зоны, и почему у меня через раз он прыгает выше чем должен
Блин, на превью вообще другое показалось( Думал, будет как "Мистер Старк, что-то мне не хорошо"
Оуу, а я думал буду смотреть эффект таноса 😔 как на превью
@graphicaldesign2776
4 жыл бұрын
Так а в чем сложность сделать такой эффект? Это обычная анимация.
@DeadlyMet
4 жыл бұрын
@@graphicaldesign2776 я думал это реализуется через шейдеры в шйдерграфе, а как анимацией сделать - ума не приложу 🤔
Можно, пожалуйста, рабочую ссылку на телеграмм канал? p.s. по названию GDC найти не удаётся :(
@graphicaldesign2776
4 жыл бұрын
так ссылка рабочая. И название рабочее. Забей в браузерную версию
Такой эффект как в превью можно сделать с помощью Маски и Системы частиц.(могу записать видос)
Привет,помоги мне советом, пожалуйста??? я делаю игру на Андроид !!!!я хочу сделать бесконечный уровень(как у Doodle Jump)чтоб после смерти,карта оставалась прежней,а обекты меняли свое положение??Игра в формате 3d,зарание спасибо
@-workout4118
4 жыл бұрын
Посмотри видео на этом канале про создание ранера.(немного измени и все)+ на англо язычном ютубе есть видео на эти темы
@user-ks3rj1zg4v
4 жыл бұрын
@@-workout4118 да,только у меня очень много префабов и каждая новая преграда это новый префаб.Мне нада знать конкретно где и какой будеь стоять
Интересно. А как тебе вариант, сделать, чтобы враг распадался на части тела (т. е. те же частицы только в формате частей противника) . Типо поделить на части текстуру врага и сделать из них один Prefab. Сделать всем этим частям Rigidbody2D и настроить физику. В скрипте написать, чтобы когда кол-во жизни спускалось до нуля, враг исчезал, а на его координатах возникал Prefab, и спустя несколько секунд полностью исчезли. Надеюсь неплохая идея. Хоть и очень похоже на то, что ты сделал.
@gaitavr1992
4 жыл бұрын
Это анимацией проще всего сделать
@supin_dimas7708
4 жыл бұрын
@@gaitavr1992 думаю, ты прав
От вызова Invoke лучше вообще отказаться. И поменьше нелокализированных строк, такой код в дальнейшем очень сложно будет поддерживать
Привет. Слушайте может я чего то не знаю, но когда будет продолжение ранера? Ответьте пожалуйста.
@graphicaldesign2776
4 жыл бұрын
Продолжение? что там еще в продолжением?
Не могу найти телеграм канал, даже если вбиваю название GDC, как на него попасть?
@graphicaldesign2776
4 жыл бұрын
Пробуй через браузер
Привет.Помоги пожалуйста)Написал такой же скрипт как и в твоём ролике "Как сделать движение камеры за персонажем в Unity - легко" а мне выдаёт "'GameObject' does not contain a defintion for 'transform' and no accessible extension met"
@user-nf3ck4eq5u
4 жыл бұрын
До этого сделал только управление персонажем и смерть персонажа по твоим роликам)
@graphicaldesign2776
4 жыл бұрын
надо искать проблему с блоком transform
@user-nf3ck4eq5u
4 жыл бұрын
@@graphicaldesign2776 а как ее найти?
@user-nf3ck4eq5u
4 жыл бұрын
@@graphicaldesign2776 где искать эту ошибку?
@graphicaldesign2776
4 жыл бұрын
@@user-nf3ck4eq5u все очевидней чем кажется, в скрипте. Больше сказать ничего не могу, не видя проекта.
Слушай,а как сделать что бы если игрок умирал,появлялось меню и он мог (нажимаешь на кнопку и продолжаешь с этого же места) но если умираешь еще раз,тогда game over:)
@graphicaldesign2776
4 жыл бұрын
Ох, задать к этому всему условия. Не очень сложно. Первая гибель показывает меню, а вторая перезагружает сцену.
@-workout4118
4 жыл бұрын
@@graphicaldesign2776Я примерно представляю как это сделать,но из-за того что 1 месяц изучаю с# и unity ,весьма трудно ;( Но спасибо за совет,попробую. Так же думаю это не плохая идея для видео😊😊😊
@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
4 жыл бұрын
@@SlavonMasterJack ебать копать
@sembarinbom620
4 жыл бұрын
@@-workout4118 лучше и не скажешь
я вот ждал что противник разлетится как на превью к видео. а тут такое....
Слушай дружище. Я вот предлагаю тему для видио. Сделать кнопку под разные разрешение экрана для пк игр. Допустим для 2-3 видов разрешения. Чтоб в самой игре можно было зайти в настройки, нажать кнопку разрешение экрана и там бы высветелись 3 вида разных размеров экрана. И чтоб при нажатие какого нибудь разрешение экран поменял свой размеры. Я понимаю что это очень сложно. Но я думаю это будет многим очень интересно
@alegor5530
4 жыл бұрын
Я не думаю что это очень сложно😁
@sembarinbom620
4 жыл бұрын
@@alegor5530 сделать кнопку под разрешение экранов и вставить туда эти разрешения да не сложно. Но вот чтоб сжималось всё или расширялось под разные экраны я думаю сложно.
Можно ли как-то сделать, чтобы частицы зависили от "скина" врага?(И не писать большой код)
@graphicaldesign2776
4 жыл бұрын
В плане? не понял вопроса.
@Hroopzz
4 жыл бұрын
@@graphicaldesign2776 Нус, смотри Частицы белые, а враг черный . А я бы хотел сделать частицы черные - враг черный(Частицы красные - враг красный).Т.е. частицы напрямую зависят от врага( спрайта )
@graphicaldesign2776
4 жыл бұрын
@@Hroopzz создать разные партиклы, и вызывать нужный.
@alegor5530
4 жыл бұрын
@@Hroopzz перематай на примерно 1:20 там будут рассказывать о материале, ты просто сделай 2д материал и задай ему нужный цвет и помести вместо белого материала
@SlavonMasterJack
4 жыл бұрын
Чувак, простейший метод. Сделай себе материал с нужным цветом. Наложи на спрайт врага (допустим, красный), он у тебя покрасится. Потом сделай скрипт, который повесишь на объект с партиклами, который будешь спавнить при попадании. Размести его по центру врага. Сделай новый скрипт для этого объекта, в скрипте сделай ссылку на материал, типа GetComponent или что-то такое. Объект с партиклами дочерний к врагу. В этом скрипте, что на партиклах, получай материал противника и меняй его в своих партиклах. Покрасишь врага в зеленый - паротикл системс через созданный скрипт будет забирать материал врага и использовать его при создании эффектов. Наверное, как-то так. Ну, как один из вариантов. Так можешь красить хоть 100500 систем частиц с разными частицами, главное - чтобы у тебя они были на одной текстуре (сеточкой, чтобы не запариваться). Кхе.
А как сделать так, что бы партиклы срабатывали в конкретной точке, куда выстрелил игрок?
@user-nk7uo2qy4b
4 жыл бұрын
Если реализовывать стрельбу рейкастом, то есть свойство hit.point возвращающее координату попадания луча коллайдер. Далее останется передать эту координату врагу
@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
4 жыл бұрын
@@SlavonMasterJack точно. Это же элементарно. Спасибо, мэн!
Кстаааати , а ты знаешь Unity DOTS ?))
Почему не снимаешь видео про Unity3D?
@graphicaldesign2776
4 жыл бұрын
Хм, как сказать) Потому что снимаю 2D)
@leonavdeev1345
4 жыл бұрын
@@graphicaldesign2776 Но не всегда же так, только 2д, 3д охватит больше аудитории
@yirakaigorodsev2691
4 жыл бұрын
@@leonavdeev1345 Большинство приемов в 2д спокойно можно перенести в 3д
@graphicaldesign2776
4 жыл бұрын
@@yirakaigorodsev2691 Что не всегда?
@leonavdeev1345
4 жыл бұрын
@@yirakaigorodsev2691 Да не не все
load красным подчеркнут шо делать???
@graphicaldesign2776
4 жыл бұрын
Не грустить, и справлять.
@fannybrothers6978
4 жыл бұрын
@@graphicaldesign2776 а как?)
@graphicaldesign2776
4 жыл бұрын
@@fannybrothers6978 а я откуда знаю?
@fannybrothers6978
4 жыл бұрын
@@graphicaldesign2776 понял, принял
Скоро будет видио под андроид управление,выстрела и т.д
@graphicaldesign2776
4 жыл бұрын
Это вопрос?
@user-io8mq1gn8p
4 жыл бұрын
Да
@graphicaldesign2776
4 жыл бұрын
@@user-io8mq1gn8p Никто не говорил что будут такие видео.
@user-io8mq1gn8p
4 жыл бұрын
@@graphicaldesign2776 ты сам говорил месяц назад что пока занять по позже сделаю. Круто ты делаешь
@graphicaldesign2776
4 жыл бұрын
@@user-io8mq1gn8p Когда-то сделаю, я же не говорил что через месяц будет.
Про дол жай :)
Для чего тебе system? Лучше их удалить
Что за бред