Материалы в рендеринге: что нужно знать


Сцена может быть отлично смоделирована, свет выставлен, камера на месте — но если материалы выглядят неправильно, рендер не спасти. Хром, который похож на пластик. Бетон, который читается как серая краска. Дерево, в котором что-то не так, но непонятно что. Работа с материалами — это та точка, где нужно одновременно понимать физику и чувствовать картинку. Именно материалы чаще всего отделяют нормальный рендер от убедительного.
Если вы работаете в 3D — не важно, анимация это, архвиз, продуктовая визуализация или VFX — вам нужно понимать, как реальные поверхности взаимодействуют со светом и как это воспроизвести в рендер-движке. Этот гайд про базовые вещи, без которых материалы не будут работать.
Перед тем как лезть в настройки шейдера, стоит разобраться, что вообще происходит, когда свет попадает на поверхность. Все материалы делают со светом одно и то же — отражают, поглощают, рассеивают — просто в разных пропорциях. Из-за этого сталь не похожа на кожу, а стекло — на резину.
Свет может отражаться от поверхности — как от зеркала — или проходить сквозь неё, меняя направление. Второе называется преломлением: вспомните, как трубочка в стакане воды выглядит сломанной. Полированная поверхность отражает свет чётко и в одном направлении. Шлифованная — размывает отражение. Матовая — рассеивает его почти полностью. Понимание этого нужно каждый раз, когда вы настраиваете стекло, воду, зеркала или любой блестящий материал.
Цвет объекта — это результат того, какие длины волн он поглощает, а какие отражает обратно. Кирпич поглощает всё, кроме красного. Лист дерева — всё, кроме зелёного. С полупрозрачными материалами история интереснее: кожа, воск, мрамор пропускают часть света внутрь, где он рассеивается. Это явление называется подповерхностным рассеиванием (SSS). Без него кожа в рендере выглядит как пластик, а воск — как камень.
Блестящая поверхность даёт чёткие, сфокусированные отражения — как капот только что вымытой машины. Шероховатая — размывает блики и делает поверхность матовой, как глиняный горшок или необработанный бетон. На практике roughness — один из параметров, которые вы будете крутить чаще всего. Небольшая подвижка в значении может перевести материал из «пластикового» в «настоящий».
PBR — это подход к настройке материалов, который используется в большинстве современных движков: V-Ray, Arnold, Redshift, Cycles, Unreal Engine. Суть простая — вместо того чтобы подгонять вид материала вручную, вы описываете его физические свойства, а движок сам считает, как он будет выглядеть при любом освещении. Главное преимущество: материал, собранный по PBR, корректно смотрится и в студийном свете, и на улице, и в ночной сцене. Не надо перенастраивать при каждой смене окружения.
Этот параметр отвечает за то, металл перед нами или нет. Металлы отражают свет иначе — они окрашивают отражения в свой цвет (золото даёт тёплые, медь — рыжеватые). Неметаллы дают нейтральные белые отражения. В большинстве PBR-шейдеров metalness — это просто переключатель: 0 или 1. Промежуточные значения используются для переходных зон — окисленный металл, краска поверх металла.
Roughness описывает микрорельеф поверхности, из-за которого отражённый свет рассеивается. Ноль — идеальное зеркало. Единица — абсолютно матовая поверхность. В реальности почти всё находится между этими крайностями. И самое важное — roughness редко бывает одинаковым по всему объекту. Там, где касаются руками — поверхность чуть блестит. Там, где скапливается пыль — становится матовее. Эта неравномерность и делает материал живым.
Альбедо — это цвет материала при равномерном нейтральном освещении. Без теней, без бликов — просто чистый цвет. В PBR это база, от которой строится всё остальное. Важный момент: значения альбедо должны быть в разумном диапазоне. В природе не существует абсолютно чёрных или абсолютно белых поверхностей, и в ваших текстурах их тоже быть не должно. Типичная ошибка — запечь в альбедо-карту тени или затенение (ambient occlusion). Материал с таким альбедо будет врать при любом другом освещении.
Материал с одинаковыми значениями по всей поверхности выглядит искусственно. Текстурные карты добавляют ту вариативность, которая есть у реальных поверхностей: перепады цвета, неровности, царапины, следы использования. Обычно хороший материал собирается из нескольких карт, каждая из которых управляет своим аспектом:
Базовый цвет. В PBR-сетапе это должна быть чистая карта без запечённых теней — представьте, как поверхность выглядела бы при идеально ровном освещении со всех сторон.
Имитирует мелкий рельеф, не трогая саму геометрию. Швы кирпичной кладки, переплетение ткани, царапины на металле — всё это можно передать через normal map. Один из самых полезных инструментов: добавляет массу деталей, почти не нагружая сцену.
Управляет отражательной способностью по поверхности. В metalness-воркфлоу карта указывает, где металл, а где нет. В specular-воркфлоу — напрямую задаёт силу отражений. Оба подхода работают, большинство современных движков по умолчанию используют metalness.
В отличие от normal map, displacement реально двигает геометрию. Это даёт настоящий объём — видимый по силуэту и на скользящих углах. Стоит дороже по вычислениям, но для крупных планов каменной кладки, коры или грубой ткани разница заметна.
Задаёт вариацию шероховатости по поверхности. Без неё материал выглядит однородно и сразу считывается как CG. С ней — появляются потёртости на углах, пыль в углублениях, следы от пальцев. Хорошая roughness-карта — один из самых эффективных способов добавить реалистичности.
За последние годы инструменты для работы с материалами стали очень мощными. Вот основное, чем пользуются на практике:
Индустриальный стандарт. Painter позволяет рисовать текстуры прямо по 3D-модели с мгновенной обратной связью. Designer — нодовый редактор для создания процедурных тайловых материалов с нуля. Если вы профессионально занимаетесь материалами, скорее всего, работаете с одним из них или с обоими.
Огромная библиотека реальных материалов и поверхностей, отсканированных методом фотограмметрии. Раньше это был отдельный продукт Quixel, сейчас — часть экосистемы Epic Games, доступная через маркетплейс Fab. Если нужны фотореалистичные земля, камень, стены, дерево — быстрее всего начать отсюда.
Каждый крупный пакет — 3ds Max, Maya, Blender, Cinema 4D, Houdini — имеет свой редактор материалов. Где-то это слоты с параметрами, где-то полноценный нодовый граф. На практике базовые текстуры обычно делают в Substance, а финальную подстройку материала — уже в 3D-программе или прямо в рендер-движке.
Знание теории и владение инструментами — это база. А вот что на практике даёт самый заметный скачок:
Лучшие специалисты по материалам — это люди, которые постоянно разглядывают предметы вокруг. Возьмите обычную кружку. Посмотрите, как блестит глазурь, как на донышке матовое неглазурованное кольцо, как от скольжения по столу остались микроцарапины. Фото-референсы — это хорошо, но живое наблюдение при разном свете даёт совсем другой уровень понимания.
В жизни поверхности почти никогда не состоят из одного слоя. Автомобильная краска — это база, металлические частицы и лак сверху. Старый паркет — лак, потёртости, грязь в щелях. Воспроизведение этих слоёв, даже очень тонкое, сразу отделяет живой материал от плоского.
Ничто в реальном мире не бывает идеально чистым, гладким и однородным. Отпечатки, пыль, потёртости на рёбрах, мелкие царапины, разводы — всё это делает рендер осязаемым. Слишком чистый материал моментально выглядит фальшиво. Это, пожалуй, самый простой и при этом самый эффективный способ повысить реалистичность.
Одинаковый roughness по всей поверхности — первый признак компьютерной графики. На рёбрах обычно поверхность блестит от износа. В углублениях — матовеет от пыли. Даже новые предметы имеют тонкую вариацию. Хорошая roughness-карта делает для реалистичности больше, чем почти любая другая текстура в отдельности.
В эти ловушки попадают даже опытные люди. Знать о них заранее — значит сэкономить себе часы отладки:
Умение работать с материалами — навык, который растёт на протяжении всей карьеры в 3D. Базовые принципы — как свет ведёт себя на поверхностях, как PBR описывает это поведение, как текстурные карты управляют деталями — не зависят от конкретного движка или программы. Когда вы понимаете эти вещи, переход между инструментами становится значительно проще, а качество материалов растёт в любом проекте.
Когда сцена готова и хочется увидеть материалы в полном качестве — с нормальным светом, высокими сэмплами и без компромиссов — облачная рендер-ферма даёт мощности, чтобы не держать свой компьютер занятым на полдня. TurboRender работает со всеми основными 3D-программами и рендер-движками. Можно попробовать бесплатно — загрузите сцену и посмотрите, как выглядят ваши материалы, когда железо не ограничивает.
Новые статьи, новости о скидках и обновлениях плагинов