Перейти к основному содержимому

Справочник нод шейдеров

Нод: 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:floatrgba:vec4
instanceColor — Instance ColorОттенок, который несёт эта копия.out:vec3
instanceId — Instance IDКакая копия инстансированного объекта рисуется — подайте её в хеш, чтобы сделать каждую копию разной.out:float
materialRef — MaterialПодтягивает другой материал как отправную точку.out:vec3
normalКуда смотрит поверхность.out:vec3
normalMapПрименяет карту нормалей, добавляя детали поверхности без лишней геометрии.uv:vec2, strength:floatout:vec3
paramColor — Param (color)Цвет, вынесенный так же.out:vec3
paramFloat — Param (float)Число, вынесенное в настройки материала, — меняется без правки графа.out:float
positionТочка на поверхности, в собственном пространстве объекта.out:vec3
sampleLod — Sample Texture LODСэмплирует на выбранном уровне размытия — дешёвая мягкость.uv:vec2, lod:floatrgba:vec4
screenUvГде пиксель на экране, а не на поверхности.out:vec2
texelFetch — Texel FetchЧитает ровно один пиксель, без фильтрации.texel:vec2rgba:vec4
texelSize — Texture SizeРазмер одного пикселя текстуры — для эффектов с сэмплированием соседей.size:vec2, texel:vec2
textureСэмплирует изображение в заданных координатах.uv:vec2rgba:vec4
timeСекунды с момента старта сцены. Всё, что движется, начинается отсюда.out:float
triplanarПроецирует текстуру сразу с трёх сторон, чтобы геометрия без развёртки или с растяжением выглядела правильно.scale:float, blend:floatrgba:vec4
uvТекстурные координаты рисуемого пикселя — основа большинства узоров.out:vec2
viewDirectionНаправление от поверхности к камере.out:vec3
worldPositionТа же точка в мировом пространстве — для эффектов, которые остаются на месте, когда объект движется.out:vec3

light

Слагаемые освещения, которые вы формируете сами.

НодаЧто делаетВходыВыходы
fresnelСильнее под скользящими углами — контровой свет, силовые поля, блеск на машине.power:float, normal:vec3out:float
lit — Lit (scene lights)Стандартное освещение, чтобы собственный граф всё равно правильно сидел в сцене.color:vec3, roughness:float, specular:float, normal:vec3out:vec3
toonLit — Toon (scene lights)Полосатое освещение для стилизованного вида.color:vec3, steps:float, normal:vec3out:vec3

math

Арифметика и кривые над одиночными числами.

НодаЧто делаетВходыВыходы
absОтбрасывает знак.x:floatout:float
addСкладывает.a:float, b:floatout:float
atan2Угол до точки — так строят радиальные узоры.y:float, x:floatout:float
ceilОкругляет вверх.x:floatout:float
clampДержит значение внутри диапазона.x:float, min:float, max:floatout:float
cosКосинус.x:floatout:float
divideДелит.a:float, b:floatout:float
expe в степени входа.x:floatout:float
fbmСлоистый шум — облака, дым, ржавчина, рельеф.uv:vec2, scale:float, octaves:floatout:float
floorОкругляет вниз.x:floatout:float
fractТолько дробная часть — стандартный способ заставить что угодно повторяться.x:floatout:float
logНатуральный логарифм.x:floatout:float
maxБольшее из двух.a:float, b:floatout:float
minМеньшее из двух.a:float, b:floatout:float
mixСмешивает два значения.a:float, b:float, t:floatout:float
modОстаток; другой способ закольцевать значение.x:float, y:floatout:float
multiplyУмножает.a:float, b:floatout:float
noiseПлавные случайные значения. Отправная точка для всего органического.uv:vec2, scale:floatout:float
oneMinusПереворачивает значение 0–1. Обманчиво полезная.x:floatout:float
posterizeПрижимает значения к нескольким ступеням — полосы, но намеренные.x:float, steps:floatout:float
powВозводит в степень.x:float, e:floatout:float
remapПерекладывает из одного диапазона в другой.x:float, inMin:float, inMax:float, outMin:float, outMax:floatout:float
roundОкругляет до ближайшего.x:floatout:float
signДаёт −1, 0 или 1.x:floatout:float
sinСинус — с него начинается любое покачивание, пульсация и рябь.x:floatout:float
smoothstepМягкая граница, с градиентом между двумя порогами. Рабочая лошадка графов шейдеров.from:float, to:float, x:floatout:float
sqrtКвадратный корень.x:floatout:float
stepЖёсткая граница: ниже порога 0, выше — 1.edge:float, x:floatout:float
subtractВычитает.a:float, b:floatout:float
tanТангенс.x:floatout:float
voronoiКлеточные узоры: чешуя, растрескавшаяся земля, витраж.uv:vec2, scale:floatdist: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:floatout:vec3
contrastРазводит светлое и тёмное.color:vec3, amount:floatout:vec3
exposureОсветляет или затемняет всё изображение.color:vec3, amount:floatout:vec3
grainДобавляет плёночное зерно.color:vec3, intensity:floatout:vec3
invertИнвертирует его.color:vec3out:vec3
saturationБолее или менее цветное.color:vec3, amount:floatout:vec3
screenColorСцена в том виде, в каком она уже отрисована. Использование этой ноды делает граф полноэкранным эффектом.out:vec3
tintУводит изображение в сторону цвета.color:vec3, tint:vec3out:vec3
vignetteЗатемняет края кадра.color:vec3, offset:float, darkness:floatout:vec3

vector

Сборка, разборка и преобразование векторов и цветов.

НодаЧто делаетВходыВыходы
addVec3Складывает две тройки.a:vec3, b:vec3out:vec3
alphaВытаскивает канал прозрачности.v:vec4out:float
combineVec2Собирает пару.x:float, y:floatout:vec2
combineVec3Собирает тройку.r:float, g:float, b:floatout:vec3
combineVec4Собирает четвёрку.rgb:vec3, a:floatout:vec4
crossНаправление, перпендикулярное обоим.a:vec3, b:vec3out:vec3
distanceРасстояние между двумя точками.a:vec3, b:vec3out:float
dotСкалярное произведение — насколько совпадают два направления.a:vec3, b:vec3out:float
equirectUv — Equirect UVОтображает направление на панорамное изображение.dir:vec3uv:vec2
flipbook — FlipbookПроигрывает сетку кадров в одном изображении как анимацию.uv:vec2, frame:float, tilesX:float, tilesY:floatuv:vec2
gammaПрименяет гамма-кривую.rgb:vec3, gamma:floatout:vec3
hsvToRgbИ обратно.hsv:vec3out:vec3
hueToRgbТон сразу в цвет.h:floatout:vec3
lengthНасколько длинный вектор.v:vec3out:float
luminanceНасколько ярким цвет читается глазом.rgb:vec3out:float
mixVec3Смешивает две тройки.a:vec3, b:vec3, t:floatout:vec3
multiplyVec3Умножает две тройки.a:vec3, b:vec3out:vec3
normalizeТо же направление, длина 1.v:vec3out:vec3
pannerПрокручивает координаты со временем — текущая вода, конвейеры, лучи энергии.uv:vec2, speed:vec2out:vec2
reflectОтражает направление от поверхности.v:vec3, normal:vec3out:vec3
rgbСобирает цвет из трёх чисел.v:vec4out:vec3
rgbToHsvЦвет в тон, насыщенность и яркость — простой способ сдвинуть тон.rgb:vec3out:vec3
scaleVec2Масштабирует пару на число.v:vec2, s:floatout:vec2
scaleVec3Масштабирует тройку на число.v:vec3, s:floatout:vec3
splitVec2Разбирает пару.v:vec2x:float, y:float
splitVec3Разбирает тройку.v:vec3x:float, y:float, z:float
uvTransformМасштабирует, поворачивает и смещает координаты перед сэмплированием.uv:vec2, tiling:vec2, offset:vec2, rotation:float, center:vec2out:vec2