Как писать шейдеры в юнити. Часть 1. Поверхностный шейдер
Вставка
- Опубліковано 18 чер 2024
- Что такое поверхностный шейдер и как он работает. Для чего нужный uv координаты и как умножается цвет. Чем отличается float от fixed. Об этом и многом другом в первом ролике курса по шейдерам в юнити.
Ссылка на Discord - / discord
Шейдер CD диска - • Юнити шейдер сд диска
Видео про instancing - • Оптимизация игр на uni...
Шейдер космоса - • Как создать космос в ю...
"00:00 - Введение"
"00:20 - Название шейдера и его категория"
"00:52 - Параметры шейдера"
"02:26 - Что такое subshader"
"04:00 - Какие типы используются в шейдере"
"07:20 - Вычисление в поверхностном шейдере"
"08:44 - Инверсия цвета в шейдере"
"09:53 - Градиент цвета в шейдере"
"11:31 - Анимация uv координат"
Поддержка канала:
Patreon - www.patreon.com/user?u=32502669
В крипте:
BTC - 16WmTb4VTFGYrwEjjnMKNNMMzsMB1rPEqD
ETH - 0x8d35406f8317b846528d0a9ea4a34ce59968dff2
XRP - rLW9gnQo7BQhU6igk5keqYnH3TVrCxGRzm (TAG - 1438215071)
LTC- MNSWdzdVsUMnozSU5HhUPEscfxaUK3Fdck
#unity3d #shader #surfaceshader #gamedev #ityoutubersru
О, наконец то уроки по шеидерам, надеюсь по ним будет много уроков
Будет
Как всегда - топ!
Важное уточнение, в верхней панели сцены, рядом с настройками включения-выключения звука и света, по кнопке (где нарисовано две плоскости и плюсик) можно включить Always Refresh, что будет обновлять шейдер и без запуска. Это очень помогает, потому что в какой-то момент постоянные клики по Play начинают выводить из себя. Особенно, когда очень часто что-то проверяешь.
А вот этого не знал, спасибо
Респект, чувак, ты спас многол моего времени и нервов ))
спасибо большое за видео! тема шейдеров мне кажется отлично подходит, чтобы наглядно показать красоту математики в целом и в деле создания игр в частности. буду ждать следующих роликов на эту тему!
Спасибо Максим, +10 к пониманию того как это работает)
Буду продолжать)
Я уверенный мидл, но с твоими уроками всегда нахожу что-то полезное для себя! Спасибо за уроки по шейдерам - для меня они особенно полезны
Очень круто, спасибо. Особенно за разбор структуры файла, специфичного для юнити
Спасибо, это было прекрасно. Жду продолжения.
Спасибо большое за урок по шейдерам, хотелось бы побольше видео на эту тему
То что я ждал, спасибо большое
Супер контент, ждем новых уроков!
Следующее видео будет тоже по это тематике
Очень круто, давно ждал настолько подробного и понятного урока 😊👍
комментарий в поддержку)
Мое почтение! Как всегда на уровне
Пришло время учить шейдеры. Спасибо за урок!
Очень круто и полезно, а главное понятно. Ждём продолжения
Хорошо, что понятно получилось)
Офигенно! Спасибо за труд
Увидел ролик и очень хочу посмотреть. Обложка очень манит!
Жду вечера.!
Огонь только за наличие 🔥🔥🔥
Спасибо большое за разбор темы шейдеров!
Ооо.. годнота подъехала, буду ждать новые ролики по шейдерам))
Дякую, Макс! Найкраще співвідношення теорії та практики для початківців, яке я наразі знайшла🙂
Оч доступно объясняешь! Спасибо!
Твои ролики самые лучшие на русском ютубе. Никакой воды, все чётко и наглядно. Очевидно что ты очень хорошо разбираешься в том что говоришь, а не как подавляющее большинсво "что-то получилось, я не понял как, но запишу гайд"
Годная тема! Спасибо
Спасибо большое за старания, отличный урок.
Большое спасибо! Крайне подробно и интересно!
Особенно круто что есть домашнее задание, спасибо за контент
Комментарий в поддержку топового канала 👍
Выглядит неплохо , ещё не смотрела , но круто , надо попробовать
Отличное видео, большое спасибо
Спасибо, эта информация полезна для меня.
Жду следующую часть!
Отличное видео, спасибо большое! Лайк, подписка
Спасибо! очень круто!
Круть!
Нужна новая рубрика!!!!
Лукас и коммент в поддержку автора канала🔥🔥🔥
Жду продолжения)
Просто зачёт) обожаю когда объясняют шейдеры в код, а не только визуальным программированием) полезно править ассеты потом)
А можно еще видосы по рефакторингу кода? Только не совсем джунов, а то от прошлых видео волосы дыбом, совсем там зеленые были, которые даже не работали еще, только учились) Сакутин конечно круть ревьюер, но особо не объясняет) нужно понимать что у миддлов иногда западают некоторые штуки в силу специфики работы, когда не используешь и под капот не лезешь и чудишь по мелочам) хочется разбор ошибок в коде посерьезнее) такое очень помогает)
Большое спасибо за урок!
Наконец-то я нашел приличный русскоязычный канал с инфой по юнити. До этого еще Сакутин был, но тот больше по стебу других проггеров. Спасибо за видео!
Прошу не бросать тему с шейдерами ,
это очень интересно
Большое спасибо!
Наконец-то!
кайф. спасибо за урок!
Круто! Надо будет все повторить. Я работая в Maya привык к нодам, а в unity использую Amplify shader editor. Но всегда мечтал уметь писать шейдера.
Информация по шейдерам и на русском, я так тебя давно ждал
Спасибо, очень полезно. Приятно осозновать что 95% инфы я таки уже понимал ) А вот наименования в Input было неожиданным. Обычно тупо копировал целые блоки и "ничего не трогал" ) Ждем продолжения.
Работает - не трогай?)
@@gaitavr1992 отчасти) Чаще "хз откуда оно берет данные, лучше не буду трогать")
Если будуt еще уроки - обязательно буду смотреть!
Кайф. Однозначно подписка
Годно, мужик!
Топ контент!
Лайк не глядя)
лайк, подписка и плюсик в карму!
лайк и подписка, спасибо за видео
Макс - лучший!
Наконец то. Подписка
Супер
Подякував!
Афигенно
Молоток
Спасибо! Очень классный урок, в минимум времени максимум информации без "воды". Очень рада, что наткнулась на этот ролик, и посмотрю еще остальные видео обязательно и наверно не один раз. Давно хочу разобраться с шейдерами, но инфа в основном разрозненная и сложно усваивается, особенно для гуманитариев типо меня. Что за окно, в котором редактируете шейдер? Он сразу компилится?
Лайк лайк
Хороший видос. Для меня в шейдерах остаётся самым сложным это изменение вершин текстуры. Такие эффекты как падаешь в воду, а гладь воды идëт волнами. Постоянно ищу видосы с такими примерами
Это не сложно, не так давно искал что-то подобное. Правда в моем случае нужны были воксельные волны)
Nice
Наконец то
кайф
Хотелось бы больше информации по встроенным алгоритмам. Когда впервые столкнулся с шейдерами в юнити, огромное кол-во вопросов было именно про "магические слова" после #pragma и т.д...
Ура!
Отличный урок. Хотелось бы уроки по всем нюансам шейдеров и юнити. З-буфер и т. д...
Это ж только первый, вводный ролик
@@gaitavr1992 Я понимаю. Я имел ввиду, что надеюсь на продолжение темы, со всеми вытекающими.
Как всегда топ,какой паттерн больше всего подходит для реализации магазина оружия в шутере ?
Лютейший ТОП! Очень подробная и качественная подача! Вопрос: А нельзя как-то сделать подсветку синтаксиса языка шейдеров?
Востребованная тема, отличный контент!
з.ы. Увы еще раз убедилась что шейдеры это "не про меня"
В любом случае полезно находить общий язык с тех артом, особенно если ты тим лид
@@gaitavr1992 искренне преклоняюсь пред их математическим гением.
@@vicktoriashepard На самом деле это не так сложно для базового понимания. другое дело да использовать вские формулы в которых экспоненты, синусы и косинусы чтобы добиться нужного эффекта. Тут да, тут чаще всего особые мозги нужны )
@@AlexStraga базовое понимание есть, даже shader graph пользуюсь, правда не всегда понимаю что какая нода делает 😂
@@vicktoriashepard ну это норма)
Привет, сделай видео про управление от 3го лица, не могу понять концепцию кватернионов, вот прям для деревянных объясни и покажи на как это работает в юнити =)
p.s подписался, колокольчик жмякнул
сложно но итересно... =)
Привет! Подскажи, как сделать outline всегда одной ширины? Как в 2d мультиках, это через постпроцесс надо ?
У меня из старых видосов было два пост процесса, может подойдет
А нельзя ли записывать уроки по написанию шейдера вместе с созданием его в shader graph? Ну то есть чтоб одновременно можно было учиться писать код и понимать как сделать тоже самое в shader graph. А то хочется уметь создавать шейдера двумя способами))
Если вы будете писать шейдеры, то граф не проблема вообще
Ничего не понял, но очень интересно
Жаль
А renderpipeline не может ограничить какие-либо фичи в шейдерах? Я могу например в URP сделать PBR шейдер?
Основное ограничение - нет возможности писать surface шейдера.
@@user-hu9dx8wr1d Разве это ограничение?) Это счастье).
Блин, это конечно круто, что вы используете нативный код для шейдеров, и что в некоторых случаях это действительно может быть очень полезно.
Но почему не используете Shader Graph?
Разработчик, который может написать шейдер кодом, легко реализует его в графе. Наоборот это не работает, особенно интересно получится, когда встанет вопрос оптимизации
Годно, когда продолжение планируется?
Следующий видос точно
Методом проб и ошибок сделал функцию, которая делает вроде бы нечто похожее на ДЗ.
uv.y += 0.25 * sin(uv.y * 3.14) * sin(uv.x * 3.14 - _Time.y);
Я правда не особо осознаю как именно это работает. Рассуждал я примерно так: есть функция которая сдвигает все координаты на величину от -1 до 1. значит(?) нужно ограничить нулем её влияние в y = 1 и y = 0 - такое нам дает как раз статичный sin(y), а потом это надо разделить на 4 (?) потому что изначально было четыре множителя и чтобы якобы компенсировать это - делил на 4. Хотя, потом понял, что это лютый бред - 1 на 1 сколько не умножай будет 1, и компенсировать это не надо, но без этого деления(*0,25) оно почему то не работает.
В своё время нужно было написать шейдер и сам допер до всего что было в этом ролике, но вот за 5 дней
«Двухкомпонентный вектор» - имеется ввиду однострочная матрица?
Нет, это два значения
Шейдеры это не сложно по сути, просто нужно знать все функции шейдерного языка, так как IDE нету для этого дела, по крайней мере я не нашел адекватного, если есть такое подскажите
Привет всем, столько непонятных терминов, может ли кто-то посоветовать или книгу или ещё какие-то либо уроки по шейдерам с полнейшего нуля?(Я понял, здесь даже с базовым знанием математики(которого у меня нет😁) даже делать нечего)
спасибо огромное за видео столкнулся с такой проблемой что при создании шейдера он розовый и особо не как не чиниться .
полез на оверфлоу нашел что то вроде ..
"""Итак, после небольшого исследования выяснилось, что шейдерный граф/шейдеры получили обновление, и создание шейдера через окно, предоставляемое Unity, больше не работает. Как кто-то упомянул в комментариях, можно создать шейдер шейдерграфа, скомпилировать его и работать оттуда, однако это 5000 строк кода."""
я понимаю что это мои проблемы.
но какие вообще у меня есть варианты?
или только через шейдер граф что то делать.
на оверфлоу предлагают какой то другой шаблон для шейдера использовать но он выглядит в разы сложнее ...
или вообще забить на это и пробовать что то другое.
Урок по Shader Graph бы... :)
У меня есть пару видосов с shader graph
@@gaitavr1992 обязательно посмотрю, спасибо :)
а для чего тогда служит shader graph?
Для визуального программирования шейдеров. Чем вызван подобный вопрос?
@@gaitavr1992 Большинство мне рекомендовало использовать Shader Graph для того чтобы писать шейдеры, для меня это впервые писать шейдеры кодом)
Зная код, с графом проблем нет, а вот наоборот будут
А я думаю -"почему у меня симуляция уравнения дефузии нихера не пашит" - а тут блять отрицательные значения в float4 в цвете берут с модумел. Так что делать, засовывать отрицательные значения в другой канал, или есть способ убрать этот модуль для цвета?Подскажите.
А что там по IDE?
Не понял вопроса
Райдер. Или студия. Ну, или VSCode, хотя это не IDE.
@@gaitavr1992 Типа на чем можно писать шейдеры чтобы ИДЕ могла подсказывать правильные названия встроенных функций и чтобы при этом не лезть в Юнити чтобы он уже проверял на ошибки.
Кто нибудь поясните простым языком что такое шейдере, не могу найти ничего подробного
ищу double sided шейдер для URP
Граф гораздо проще изучить начинающим, по нему и документация доступна и ускоряет разработку, тем более что он и в эффектах не сильно меняется. Я по знаниям мимо проходил, хобби не больше, но кажется учиться кодить шейдеры непрактично - вчерашний скилл.
А потом инди гавно в стиме 8 Гб оперативы кушает и топовую видеокарту просит :)
а почему уже не шейдер граф бы изучать? Старые шейдера потихоньку не актуальными становятся
НУ НАКОНЕЦ ТО КТО ТО НОРМАЛЬНО ОБЪЯСНИЛ, как работают шейдеры. А то "некоторые псевдо-учителя" разведут на три часа канитель в три лица. Больше между собой "лайки-чмоки" разводят пустопорожний треп. Потом "очнутся", и не помнят, о чем вообще рассказывали.
Все хорошо, но с «хаканьем» надо что-то делать!