Следы от шин на снегу в Unity 3D [Tutorial]
Вставка
- Опубліковано 4 чер 2024
- Эффект следов от шин, шагов персонажа, или других объектов в вашей игре на снегу, грязи или песке в Unity 3D. В нём будет использоваться Custom Render Texture из юнити, и специальный шейдер который позволит нам менять высоту плоскости снега в определенных местах
Следующее видео: • Следы от шин на снегу ...
Видео про песок: • 🎛 Игра жизнь и другие ...
Шейдер из видео про песок (для копирования): github.com/emeraldpowder/Shad...
0:00 Вступление
0:53 Шейдер рисования
7:51 Скрипт рисования мышкой
10:55 Шейдер плоскости снега
16:32 Включаем тесселляцию
18:55 Доделываем детали
20:19 Заключение
Ссылка на готовый проект: github.com/emeraldpowder/Snow...
Patreon канала - / emeraldpowder
Наш Discord - / discord
На этом канале регулярно появляются новые видео, которые позволят тебе научиться создавать игры, или подарят новые идеи и вдохновение, если ты уже умеешь. Подписывайся!
Остались какие-то вопросы, пожелания, или идеи для других видео? Смело пиши в комментарии под видео
Давно ищу подобный туториал, а тут прям всё по полочкам. Спасибо!
Еще интересна тема про физическое моделирование на видеокарте при помощи шейдеров. Буду рад, если в будущем появится видео на эту тему :)
Дай бог тебе здоровья! Спасибо большое за то что ты делаешь!
Скинул своим ученикам. Очень крутое видео!!!
Эмеральд, ты лучший ютубер по юнити, контент уникальный и интересный а главное подробный. Огромное тебе спасибо. Не понимаю почему 20 тысяч подписчиков...
Я уже давно понял, что шейдерами можно что угодно сделать
Почему тут так мало подписчиков и просмотров? Нет, я серьёзно, ты без преувеличения лучший русскоязычный учитель
Обожаю твои видосы!!! Топчик
Уникальный контент на самом деле
Особенно на российском ютубе
Никогда не понимал эти шейдеры, но видос прикольный
Больше шейдеров! спасибо за видео, очень круто)
То чувство когда для песка и жизни ты нихрена не понимал (кроме алгоритма расчета), а сейчас +/- врубился как это делается. Единсветнно я думал с тесселляцией тяжело разобраться будет (слово то какое страшное же, наверняка что-то сложное!), а тут херак 3 строки и работает )
Круто короче, спасибо
Оу май гадбл! Спасибо, что объясняешь про шейдеры. Но bat-файлик далеко не убирай)
Просто большое спасибо!
О, это как раз то что мне было нужно
Спасибо, ты лучший)
Супер, очень помог, спасибо!
Как насчёт шейдера воды с волнами?)
в стандартный шейдер добавь Bump текстуры волн и анимируй их из скрипта.Пример ниже;
не рыклама:
ua-cam.com/video/MJqX6VpSeqU/v-deo.html
@@ieretsumi Из скрипта такое себе, да и хотелось бы фичи чтобы воды не было в закрытых ёмкостях, волны создавать вокруг движущихся объектов и т.д.
Я не шарю, но вот логика.
Сделать так же, как в этом видео, инвертировать, чтобы не вниз, а вверх, сделать кисточку, не как в видео, точкой, а анимированным кольцом, расходящимся от объектов в воде, при каждом движении. Ну и естественно, таймер на кисть. Чтобы каждое воздействие на этот шейдер, сходило на нет, н
со временем, секунды через 3.
А постоянные волны, простая анимация , движужейся зебры, на карте высот.
Если прочитает тот кто шарит, скажите рабочая идея или я херни нагородил.
год искал подобный туториал, огромное спасибо, а то мой способ не очень хороший
Спасибо!)
ебать годные контент. спасибо больше, очень интересно такие гайды смотреть
Как это сделать знал, просто не доходил ещё до реализации. Спасибо, можно будет ориентироваться на какие-то вещи. Правда есть много сомнений по поводу производительности и расширяемости всего этого дела.
Для идей на какой-нибудь из роликов - как вариант "Интерактивная трава" - что может сминаться
Я вообще ни**я не понимаю в программировании, но как по мне можно сделать так: если колесо попадет на траву, то она исчезает и вместо него появляется уже задавленная трава, хз объяснил как смог😂😂
@@r_am1l изменяется наклон и всё.
Тоже не шарю.
@@azalothe3150 я кста забил пока на движки и скачал блендер🙃
годнота подъехала
Ооооочеень круто!
Крутотень!
Ты боженька!!!
Отлично видео! Спасибо! Как вариант можно рисовать снег не за счет смещения вертексов, а с помощью нормал или параллакс маппинга. Глубокие переходы таким образом не сделать, но для колеи или следов сойдет, а так же сильно сэкономит просчет геометрии.
Пожалуйста) Да, если небольшие следы тогда так будет проще и легче по производительности. Если сделать чтобы вместо Height Map рисовалась карта нормали, то даже не придётся писать шейдер Snow Plane, можно просто использовать стандартный какой-то, и в normal map задать эту текстуру
Классное видео. Не думал сделать следы, базирующиеся на текстуре, которая рисуется из ортофографической камеры? Если какой угодно объект попадает ниже снега, камера запечатлет его и передает на текстуру. Так можно сделать такой снег для абсолютно любых предметов, не только используя текстуру лап и так далее
Лучший!
спасибо.... лайк и подписка
Полезно😉
Наверно создатели Wargaming ждали пока ты снимишь видео урок, чтобы добавить следы от танков. А то никак не могли
Хотелось бы узнать про воксельную деформацию в unity, возможно видеоурок по работе в voxel farm и экспортом проектов в unity
Ахаха, черный ниже белого)
расист!
Он имел виду на шахматной доске, а ты спалился первый...))
Офигенно
Круто, давай видео про шейдеры, базу, для нубов!
можно ли в теории создать программу которая бы из обычной текстуры делал математически генерируемую тектуру ну или по крайней мере старалась повторять максимально точно
Emerald Powder, можешь рассказать про то, как можно сделать онлайн игру. Но не на маленький онлайн и так, чтобы был авторитарный сервер. А также можешь подсказать какие сервисы лучше использовать для достижения данной цели?
Лайк.
Данный шейдер, как я понял для gles3 пишется, но на многих телефонах не поддерживается она, если говорить об Android билдах. Есть какая-то возможность сделать его рабочим для любых версий и телефонов?
Спасибо.
Подписка.
Лайкос и комент для полезного контента =)) И поддержу, побольше про шейдеры
Можете снять видео про использовании управления на телефонах?
а как plane растянуть или сделать больше размером по площади, или это нужно было делать изначально?
Интересовался данной фичей, раньше, нужно была по проекту. но нигде не нашел как сделать поддержку данной фичи для стандартного Террейна. В проекта сделал костыль, в виде наложенного на нужное место террейна прямоугольника с данным шейдером-тесселяцией.
P.S. Тесселяция вообще крутая штука, для добавления детализации камней\песка\земли на террейн. К сожалению я не смог найти в открытом доступе какие туторы для тесселяции стандартного террейна в юнити, находит только если кастомные террейны. По созданию террейн-материала с поддержкой тесселяции в анреал найти гораздо проще. Может как идея для нового видоса?
А какже визуальный способ определения шейдера в URP/HDRP новых?
Видео годнота
Гайд актуален для URP 14.0.9? Сделал всё по видео, но текстура розовая. Подскажите пожалуйста!
Вопрос по двойной буферизации. Когда вы её включаете у вас полностью текстура становится черной. Почему у вас после того как вы выходите из редактора кода 7:09 у вас "Snow Height Map" обратно окрашивается в точку , у меня он так и остается полностью черным, не пойму в чем проблема.
можно сделать тоже самое в shader graph?
Ждем шейдер желтого снега
А что насчет таких игр как RDR 2? Где такой снег на террейне, сомневаюсь что у них одна большая карта высот на весь террейн, может разбито по чанкам?
Текстуры больше чем 2к/4к не стоит использовать, так что если такого качества не хватает - надо делить на чанки. И если это большой открытый мир - то конечно надо ещё всяких оптимизаций сделать, чтобы всё это не держать в оперативке, сделать разные уровни детализации, сохранять далёкие чанки на диск, или вообще удалять когда игрок отходит, там уже куча дополнительных проблем возникает
Можешь сделать туториал для начинающих по созданию игр, если есть, кинь ссылку
Привет, крутые уроки, мог бы ты снять урок по созданию шейдера который при наведении на объект делает создает обводку
У него про это вроде-бы как есть видос. Да и в интернете таких достаточно
Привет. Если подобное реализовать Voxelями, сильно просядет производительность?И как вообще относитесь к Voxel?
Привет. Можно сделать и в воксельном стиле, тут смотря как из реализовать. Если они будут все отдельными кубами, то точно просядет, а если например как-то в шейдер добавить округление, чтобы выглядело как воксели, можно сделать быстро мне кажется
Привет, какой Keymap для Rider используешь?
Привет. Я использую тот что из Intellij IDEA, где переименование Shift+F6. Тот что из студии на студию не очень похож, и ещё и все эти двойные "Ctrl+k,Ctrl+;"
@@EmeraldPowder Спасибо
А как реализовать это в шейдер графе?
А через shader graph такое нельзя сделать?
Это кончено мощно. Но знаний здесь не на 20 минут точно. Дайте мощи все понять...
А почему для создания используется шейдер. Он менее ресурсоемкий или так проще?
Если рисовать текстуру на cpu, то есть из скрипта через какой-нибудь set pixel, то будет и немного сложнее в плане кода, и менее производительно скорее всего, особенно вот если с маской как во втором видео, там где нужно две текстуры семплить и складывать. А gpu специально под такие задачи и создан
пожлуйста, побольше про шейдеры, нигде нет инфы про них
Подскажите, как заставить шейдеры работать в билде? Пробовал добавлять их в настройках графики, но помогло частично, в windows заработало, а в андроиде и вебгл так и нет. Пробовал готовый проект с песком ShaderPhysics. Эффект такой же. Unity 2019.4.2f1. В редакторе все работает, билды собираются без ошибок и в Build Report эти шейдеры присутсвуют.
В общем добавление шейдеров в настройках помогает везде, но не все работает в андроиде и опенгл.
Кто нибудь пробовал подобное запустить под андроид или опенгл? Что нужно сделать?
У меня при включенном даблбуфер шейдер PlainHighMapUpdater ничего не рисует, а при включении тесселяции не работает деформация ни в андроиде, ни в опенгл. Таргет 4.6 прокатил на андроид устройстве, а вот в опенгл нет. Если отключить даблбуфер, то рисуется, а если отключить тесселяцию, еще и деформация видна.
@@antonybe2968 вы смогли решить проблему?
@@antonybe2968 Нашли способ решить проблему??
Скажите пожалуйста, это можно использовать на любом движке?
В теории да, такой же подход можно использовать, какие-то термины могут отличаться, возможно вот эту custom texture придётся самому написать, чтобы она каждый фрейм перерисовывала себя в другую текстуру шейдером
а как запечь кучку из мешей в хейтмап таким способом? чтобы с алиасингом или градиентом по краям
Тут была в комментах идея направить квадратную камеру снизу на плоскость, и ей рндерить в текстуру, можно попробовать с этим способом поиграть, мне кажется можно интересный результат получить
Где автор unity учился?
Почему то при попытке рисовать мышкой выходит ошибка NullReferenceException: Object reference not set to an instance of the object на строчку где пускается луч Ray ray
Такая же ошибка, у вас получилось решить?
@@idrunya37 к сожалению нет, продолжил с шинами работать
о шайтан теперь я всё видел в этой жизни )) прикольно но мне бесполезно..
Ахахах, да да да))
А как шейдер снега сделать на самом тиррейне?
Я не шарю, но вот логика "Живых волн"
Сделать так же, как в этом видео, инвертировать, чтобы не вниз, а вверх, сделать кисточку, не как в видео, точкой, а анимированным кольцом, расходящимся от объектов в воде, при каждом движении. Ну и естественно, таймер на кисть. Чтобы каждое воздействие на этот шейдер, сходило на нет, со временем, секунды через 3.
А постоянные волны, простая анимация , движужейся зебры, на карте высот.
Если прочитает тот кто шарит, скажите рабочая идея или я херни нагородил.
А можно такой снег сделать не на плоской поверхности?
Тоже интересно, можно ли заставить шейдер отрисовываться на нормалях повернутых вверх и при этом закругляться по краям.
Если на почти плоской поверхности, вроде терраина, то и этот способ должен работать. А если совсем принципиально другая, например планета, или терраин с пещерами, то уже придётся добавить что-нибудь чтобы обработать правильно области которые смотрят не вверх
@@EmeraldPowder у меня игрушка про сноуборд для мобилок и там террейн с бриджем (бридж ровный, но в наклоне) - сработает?
Как-то время жизни шейдера можно реализровать, чтобы через 10 секунд исчезали вмятины?
Эй а где shader graph??
Для HDRP подойдёт?
Конечно, правда хотелось бы увидеть как это реализовать на террейне.
У меня один вопрос: кому ты душу продал или откуда ты столько знаешь? Как можно знать, что и как работает и где какие приколы \ баги...
Туториал охрененный (особенно для новичка). Только одна просьба, сделай пожалуйста побольше зум у эдитора, смотреть с телефона очень сложно.
Во вкладке сообщества есть
Сделай пожалуйста урок, как в юнити распознавать свайпы жестов: кружочки, треугольники, кривые базье (:
Нигде такого нет..
Ты просто не искал на пример вот: ua-cam.com/video/ZWB4d3cY-fE/v-deo.html
юнити это движок времён палеозоя?
я купил компуктер и установил винду, как мне теперь сделать игру по типу ведмака 3?
Смотреть видосы, учиться, пробовать, сделать десяток простых игр, потом попробовать сделать десяток игр по типу ведьмака, семь не доделать, три выпустить но понять что они никому не зашли и еле окупились, и всё-таки сделать свою которая выстрелит. Примерно так
взять 50 миллионов долларов и нанять 100 разработчиков
@@user-wp1te1uy7k индусы подойдут?
@@Beast8833 завит от квалификации) так же нужно учитывать, что нужно не только программисты, но и дизайнеры, художники, моделеры, продюсеры и т.д )
Всё отлично, только движок называется Unity. unity3d - это домен
Вроде как некоторые программы для создания скульптур работают так 🤔
Интересно насколько это будет затратно для мобил?)
Не затратно, все на ГПУ делается
@@philippb8894 И на каких мобилках гпу есть нормальный?
Если в игре будет только один снег и ничего больше, то не затратно)))
@@user-tb7yn5yy3g В моей
В новых мобилках видеокарты неплохие, думаю если поменьше сделать разрешения текстур и количество полигонов в плоскости то работать будет. Но конечно не так как на ПК
Привет, а можешь снять урок: "Как сделать следы в 2D" тоже шейдером
С помощью этого можно сделать разрушаемый мир, наподобие червячков?
Думаю можно. Не знаю как в новых червяках зона устроена, а в прошлых (World Party например) там вообще битмапа была. там же вроде и зона не рассыпается как песок или кусками, так что этого вполне хватает как битмапа
@@AlexStraga не, как в 3д червях. Но за ликбез спс.
Таким способом нет, нужно модифицировать меш, а там и обновлять коллизию
ua-cam.com/video/oV3G1K98UQc/v-deo.html
Такое бы на стандартный террейн
Комментарий.
Начел выдовать ошибку CS1644
После DoubleBuffered пропадает черный цвет и не рисует
Убери Double buffered и поставь в пассе шейдера отвечающего за маску
Blend One One
@@dogek473 Это вместо Blend One Zero сделать? Не помогло(
Upd. Я пару раз попереписывал всё тоже самое и теперь всё ок, как в видео :/ А конкретно - поменял min на max - проверил что всё стало белым, поменял обратно - всё заработало
Жалко что нельзя реально зиму создать для GTA V чтобы снег падал набирал еще следы оставались когда едешь к нему
Лол, мне перед началом видео вылезла реклама от юнити. Создайте шейдеры
Эх на вокселах это было бы пустяк
Накнец то Жепный след
Hello Can you do one in English please
ti realnka sami krutoi youtube unity uchitel
ua-cam.com/video/h_bSGoztB2g/v-deo.html
Сделай русскоязычную версию этого видео
Спасибо за идею! Кстати я где-то ещё видел видео как похожим способом делали такой блоб, но наверное это тоже не на русском было
@@EmeraldPowder просто тот "слизняк" пипец какой классный)) на том канале ещё есть про процедурную анимацию.
Я первый?
Да
2001 год
ua-cam.com/video/ND4kvK41-AQ/v-deo.html
ua-cam.com/video/dN0CxZuOirg/v-deo.html