1. Мастер-нода.
Мастер-нода - это что-то наподобие главное центра управления. Именно она даёт внешний вид объекта. Например, в вход Albedo подключается сам цвет объекта. Если мы выберем красный, то наш объект станет красным. Например, в вход Alpha передаётся прозрачность объекта. И так далее. Все входы и примеры мы рассмотрим далее в этой статье, поэтому не бойтесь, что что-то не поняли.
2. Типы Shader Graph.
1. Unlit Graph
Тип шейдера, который не реагирует на освещение. Давайте посмотрим, как выглядит мастер-нода.
Как мы видим она отличается от PBR Master. Это и понятно. Так как, например, как объекту можно задать металлический блеск, если объекту всё равно на свет?
Давайте применим этот ShaderGraph на материал.
Для этого создайте материал, перейдите в окно инспектора и прямо под названием есть Shader. Во всплывающем окне выберите Shader Graph.
Теперь выбираем созданный нами шейдер.
Теперь перекидываем этот материал на любой объект. Я применил его на куб.
На скриншот выше вы видите результат. Для наглядности я создал направленный источник света. На кубе справа я применил Unlit Shader, а на левом PBR Shader(В следующем пункте подробнее). Как мы видим, правый игнорирует свет. Игнорирует настолько, что мы не видим даже граней куба.
2. PBR Graph
В отличии от Unlit Graph PBR Graph реагирует на свет.
Опять посмотрим на этот скриншот.
На левом кубе PBR Graph. И как мы видим, он прекрасно реагирует на источник света.
3. Sub Graph.
Если мы создадим Sub Graph, то после открытия не увидим мастер-ноды. Так как Sub Graph не является самостоятельным шейдером. Это больше утилита. Например, у нас есть огромная связка, в которой мы применяем к текстуре какие-нибудь свойства. Эту связку мы очень часто используем в разный шейдерах. Но вот её копировать не удобно. И даже если мы захотим что-то в ней поменять, то придётся заходить в каждый Shader Graph и в нём менять эту связку. Вот на помощь и приходит Sub Graph. Мы можем в нём создать эту связку и передать итог в любой шейдер.
Например, на скриншоте снизу я создал Sub Graph, в котором применяю цвет(дальше в статье мы это разберём). После чего я файл с этим Sub Graph'ом переношу в наш уже созданный в позапрошлом пункте Unlit Graph. И применяю к мастер-ноде этот цвет. И как видим, наш куб поменял цвет.
3. Базовые ноды.
1. Введение
Если вы не поняли, то нодами называются все вот эти квадратики. Например на предыдущем скриншоте мы используем ноду цвета(Color), ноду Sub Graph(Out_Vector4, а в окне справа SubGraph) и мастер-ноду(Unlit Master).
Так же для создания большинства нод достаточно нажать на правую кнопку мыши>Create Node.
Так же на всех нодах существует вход и выход(In, out), у них в скобочках написано, сколько значений они принимают. Более подробнее я разберу это на примере цвета далее.
2. Цвет.
Для выбора цвета, существует нода Color.
Разберём её устройство.
- При нажатии на этот прямоугольник, мы можем выбрать нужный цвет.
- Это выход ноды, мы можем взяться за неё и перетянуть нить к другой ноде ко входу.
- Показывает, что выход передаёт 4 значения(Красный, зелёный, синий, прозрачность(эквивалент x, y, z, w)). Если мы передадим 4 значения к входу, который принимает только 2 значения, то 3-тье и 4-ое значение не передадутся.
- Выбор режима:
- Default - обычное отображение цвета.
- HDR - возможность передавать более яркий цвет(см. скриншот снизу).
Например, я выберу режим HDR и поставлю интенсивность на 3. Подключу всё это к мастер-ноде:
Теперь наш цвет на нашем кубе стал таким интенсивным, что он даже начал светиться!
Интересный факт:
Так как мы передали цвет с такой интенсивностью в вход Albedo, значит он применился, как цвет, что означает, что его яркость зависит от освещённости. Говоря простыми словами, чем он ближе к источнику освещения, тем ярче будет свечение этого куба.
3. Числа.
Ноды Vector могут служить для разных вещей. Например, в них можно записать координаты или цвет, если в x, y, z, w передавать соответственно r, g, b, a.
Например, я передал единицу по красному каналу, по зелёному и синему 0.
На данный урок базовых нод достаточно, рассмотрим больше в следующем уроке.
4. Property.
Это своеобразные переменные. Например, я хочу изменить цвет быстро или из кода, но я не могу постоянно запускать окно Shader Graph, чтобы это сделать. Намного легче изменять через инспектор. В этом нам поможет Property. Можно создать его двумя способами.
1. Первый способ
- Нажимаем на +.
- Выбираем нужный тип переменной.
- В окне появится переменная. Можно выставить значение по желанию.
- Перетягиваем переменную из окна в Shader Graph. И соединяем с мастер-нодой.
- Теперь в инспекторе мы можем изменять значения.
2. Второй способ.
- Нажимаем правой кнопкой мыши по нужной ноде.
- Выбираем Convert To Property
Урок подошёл к концу. Я писал его довольно долго. Поэтому надеюсь получилось хорошо. Велик шанс, что где-то в статье я опечатался, поэтому прошу написать об этом в комментариях. Следующий урок будет через пару дней. Также пишите, а чём бы вы хотели узнать. В следующем уроке изучим несколько базовых нод и математические вычисления.