Справочник нод шейдеров
Нод: 95, категорий: 7 — для сборки материалов графами. Как ими пользоваться, — в Графах материалов.
Типы портов: float, vec2, vec3 и vec4. vec3 несёт цвет или направление; соединение портов разной ширины обрабатывается за вас там, где это осмысленно.
const
Фиксированные значения, которые вы вводите.
| Нода | Что делает | Входы | Выходы |
|---|---|---|---|
constFloat | Фиксированное число. | — | out:float |
constVec3 | Фиксированная тройка. | — | out:vec3 |
input
Откуда берутся значения: UV, нормаль поверхности, время, текстуры, рисуемый экземпляр.
| Нода | Что делает | Входы | Выходы |
|---|---|---|---|
cameraDistance | Насколько этот пиксель далёк от камеры. Хорошо для растворения с расстоянием. | — | out:float |
chromaKey — Chroma key | Убирает цвет, делая зелёный экран прозрачным. | color:vec3, key:vec3, similarity:float, smoothness:float, spill:float | rgba:vec4 |
instanceColor — Instance Color | Оттенок, который несёт эта копия. | — | out:vec3 |
instanceId — Instance ID | Какая копия инстансированного объекта рисуется — подайте её в хеш, чтобы сделать каждую копию разной. | — | out:float |
materialRef — Material | Подтягивает другой материал как отправную точку. | — | out:vec3 |
normal | Куда смотрит поверхность. | — | out:vec3 |
normalMap | Применяет карту нормалей, добавляя детали поверхности без лишней геометрии. | uv:vec2, strength:float | out:vec3 |
paramColor — Param (color) | Цвет, вынесенный так же. | — | out:vec3 |
paramFloat — Param (float) | Число, вынесенное в настройки материала, — меняется без правки графа. | — | out:float |
position | Точка на поверхности, в собственном пространстве объекта. | — | out:vec3 |
sampleLod — Sample Texture LOD | Сэмплирует на выбранном уровне размытия — дешёвая мягкость. | uv:vec2, lod:float | rgba:vec4 |
screenUv | Где пиксель на экране, а не на поверхности. | — | out:vec2 |
texelFetch — Texel Fetch | Читает ровно один пиксель, без фильтрации. | texel:vec2 | rgba:vec4 |
texelSize — Texture Size | Размер одного пикселя текстуры — для эффектов с сэмплированием соседей. | — | size:vec2, texel:vec2 |
texture | Сэмплирует изображение в заданных координатах. | uv:vec2 | rgba:vec4 |
time | Секунды с момента старта сцены. Всё, что движется, начинается отсюда. | — | out:float |
triplanar | Проецирует текстуру сразу с трёх сторон, чтобы геометрия без развёртки или с растяжением выглядела правильно. | scale:float, blend:float | rgba:vec4 |
uv | Текстурные координаты рисуемого пикселя — основа большинства узоров. | — | out:vec2 |
viewDirection | Направление от поверхности к камере. | — | out:vec3 |
worldPosition | Та же точка в мировом пространстве — для эффектов, которые остаются на месте, когда объект движется. | — | out:vec3 |
light
Слагаемые освещения, которые вы формируете сами.
| Нода | Что делает | Входы | Выходы |
|---|---|---|---|
fresnel | Сильнее под скользящими углами — контровой свет, силовые поля, блеск на машине. | power:float, normal:vec3 | out:float |
lit — Lit (scene lights) | Стандартное освещение, чтобы собственный граф всё равно правильно сидел в сцене. | color:vec3, roughness:float, specular:float, normal:vec3 | out:vec3 |
toonLit — Toon (scene lights) | Полосатое освещение для стилизованного вида. | color:vec3, steps:float, normal:vec3 | out:vec3 |
math
Арифметика и кривые над одиночными числами.
| Нода | Что делает | Входы | Выходы |
|---|---|---|---|
abs | Отбрасывает знак. | x:float | out:float |
add | Складывает. | a:float, b:float | out:float |
atan2 | Угол до точки — так строят радиальные узоры. | y:float, x:float | out:float |
ceil | Округляет вверх. | x:float | out:float |
clamp | Держит значение внутри диапазона. | x:float, min:float, max:float | out:float |
cos | Косинус. | x:float | out:float |
divide | Делит. | a:float, b:float | out:float |
exp | e в степени входа. | x:float | out:float |
fbm | Слоистый шум — облака, дым, ржавчина, рельеф. | uv:vec2, scale:float, octaves:float | out:float |
floor | Округляет вниз. | x:float | out:float |
fract | Только дробная часть — стандартный способ заставить что угодно повторяться. | x:float | out:float |
log | Натуральный логарифм. | x:float | out:float |
max | Большее из двух. | a:float, b:float | out:float |
min | Меньшее из двух. | a:float, b:float | out:float |
mix | Смешивает два значения. | a:float, b:float, t:float | out:float |
mod | Остаток; другой способ закольцевать значение. | x:float, y:float | out:float |
multiply | Умножает. | a:float, b:float | out:float |
noise | Плавные случайные значения. Отправная точка для всего органического. | uv:vec2, scale:float | out:float |
oneMinus | Переворачивает значение 0–1. Обманчиво полезная. | x:float | out:float |
posterize | Прижимает значения к нескольким ступеням — полосы, но намеренные. | x:float, steps:float | out:float |
pow | Возводит в степень. | x:float, e:float | out:float |
remap | Перекладывает из одного диапазона в другой. | x:float, inMin:float, inMax:float, outMin:float, outMax:float | out:float |
round | Округляет до ближайшего. | x:float | out:float |
sign | Даёт −1, 0 или 1. | x:float | out:float |
sin | Синус — с него начинается любое покачивание, пульсация и рябь. | x:float | out:float |
smoothstep | Мягкая граница, с градиентом между двумя порогами. Рабочая лошадка графов шейдеров. | from:float, to:float, x:float | out:float |
sqrt | Квадратный корень. | x:float | out:float |
step | Жёсткая граница: ниже порога 0, выше — 1. | edge:float, x:float | out:float |
subtract | Вычитает. | a:float, b:float | out:float |
tan | Тангенс. | x:float | out:float |
voronoi | Клеточные узоры: чешуя, растрескавшаяся земля, витраж. | uv:vec2, scale:float | dist:float, cell:float |
output
Чем граф заканчивается: как поверхность выглядит на самом деле.
| Нода | Что делает | Входы | Выходы |
|---|---|---|---|
mrtOutput — Output (MRT) | Пишет несколько выходов сразу, для продвинутых конвейеров. | color:vec3, alpha:float, color1:vec3, alpha1:float, color2:vec3, alpha2:float, color3:vec3, alpha3:float | — |
output | Чем граф заканчивается: итоговый вид поверхности. | color:vec3, alpha:float, offset:vec3 | — |
surfaceOutput — Output (surface) | Физическое описание — базовый цвет, металличность, шероховатость, нормаль, свечение, альфа. | baseColor:vec3, metallic:float, roughness:float, emissive:vec3, normal:vec3, alpha:float, offset:vec3, clearcoat:float, clearcoatRoughness:float, ior:float, transmission:float, thickness:float | — |
post
Ноды, сэмплирующие отрендеренный кадр, — они превращают граф в полноэкранный эффект, а не в поверхность.
| Нода | Что делает | Входы | Выходы |
|---|---|---|---|
chromaticAberration | Разводит цветовые каналы по краям, как настоящий объектив. | uv:vec2, amount:float | out:vec3 |
contrast | Разводит светлое и тёмное. | color:vec3, amount:float | out:vec3 |
exposure | Осветляет или затемняет всё изображение. | color:vec3, amount:float | out:vec3 |
grain | Добавляет плёночное зерно. | color:vec3, intensity:float | out:vec3 |
invert | Инвертирует его. | color:vec3 | out:vec3 |
saturation | Более или менее цветное. | color:vec3, amount:float | out:vec3 |
screenColor | Сцена в том виде, в каком она уже отрисована. Использование этой ноды делает граф полноэкранным эффектом. | — | out:vec3 |
tint | Уводит изображение в сторону цвета. | color:vec3, tint:vec3 | out:vec3 |
vignette | Затемняет края кадра. | color:vec3, offset:float, darkness:float | out:vec3 |
vector
Сборка, разборка и преобразование векторов и цветов.
| Нода | Что делает | Входы | Выходы |
|---|---|---|---|
addVec3 | Складывает две тройки. | a:vec3, b:vec3 | out:vec3 |
alpha | Вытаскивает канал прозрачности. | v:vec4 | out:float |
combineVec2 | Собирает пару. | x:float, y:float | out:vec2 |
combineVec3 | Собирает тройку. | r:float, g:float, b:float | out:vec3 |
combineVec4 | Собирает четвёрку. | rgb:vec3, a:float | out:vec4 |
cross | Направление, перпендикулярное обоим. | a:vec3, b:vec3 | out:vec3 |
distance | Расстояние между двумя точками. | a:vec3, b:vec3 | out:float |
dot | Скалярное произведение — насколько совпадают два направления. | a:vec3, b:vec3 | out:float |
equirectUv — Equirect UV | Отображает направление на панорамное изображение. | dir:vec3 | uv:vec2 |
flipbook — Flipbook | Проигрывает сетку кадров в одном изображении как анимацию. | uv:vec2, frame:float, tilesX:float, tilesY:float | uv:vec2 |
gamma | Применяет гамма-кривую. | rgb:vec3, gamma:float | out:vec3 |
hsvToRgb | И обратно. | hsv:vec3 | out:vec3 |
hueToRgb | Тон сразу в цвет. | h:float | out:vec3 |
length | Насколько длинный вектор. | v:vec3 | out:float |
luminance | Насколько ярким цвет читается глазом. | rgb:vec3 | out:float |
mixVec3 | Смешивает две тройки. | a:vec3, b:vec3, t:float | out:vec3 |
multiplyVec3 | Умножает две тройки. | a:vec3, b:vec3 | out:vec3 |
normalize | То же направление, длина 1. | v:vec3 | out:vec3 |
panner | Прокручивает координаты со временем — текущая вода, конвейеры, лучи энергии. | uv:vec2, speed:vec2 | out:vec2 |
reflect | Отражает направление от поверхности. | v:vec3, normal:vec3 | out:vec3 |
rgb | Собирает цвет из трёх чисел. | v:vec4 | out:vec3 |
rgbToHsv | Цвет в тон, насыщенность и яркость — простой способ сдвинуть тон. | rgb:vec3 | out:vec3 |
scaleVec2 | Масштабирует пару на число. | v:vec2, s:float | out:vec2 |
scaleVec3 | Масштабирует тройку на число. | v:vec3, s:float | out:vec3 |
splitVec2 | Разбирает пару. | v:vec2 | x:float, y:float |
splitVec3 | Разбирает тройку. | v:vec3 | x:float, y:float, z:float |
uvTransform | Масштабирует, поворачивает и смещает координаты перед сэмплированием. | uv:vec2, tiling:vec2, offset:vec2, rotation:float, center:vec2 | out:vec2 |