PBR-материалы и почему от них зависит реалистичность
3D-моделированиеФизически корректные материалы (PBR) определяют, как поверхность реагирует на свет. Разбираем, из чего они состоят, как их настраивать и почему для синтетических датасетов это вопрос качества, а не красоты.

Что такое PBR
PBR (Physically Based Rendering) — подход к описанию материалов и освещения, основанный на физике. Вместо того чтобы вручную подбирать «блеск» и «цвет» так, чтобы картинка выглядела хорошо при одном освещении, художник задаёт измеримые свойства поверхности: каким цветом она рассеивает свет, насколько шероховата, является ли металлом. Остальное делает физическая модель отражения.
Главное достоинство подхода — предсказуемость. Материал, настроенный по PBR, выглядит правдоподобно при любом освещении: под открытым небом, в цехе с лампами дневного света, в полутёмной комнате. Старые методы требовали заново подбирать параметры под каждую сцену.
Для компьютерного зрения это принципиально. При генерации синтетического датасета один и тот же объект попадает в тысячи сцен с разным светом, фоном и ракурсом. Если материал настроен «на глаз» под один свет, в остальных сценах он будет выглядеть неправдоподобно, а модель выучит не реальные признаки объекта, а артефакты рендера. Об этом риске подробно в статье Domain gap: как сократить разрыв между рендером и реальностью.
Из чего состоит PBR-материал
Материал описывается набором параметров и текстурных карт. Существует два основных рабочих процесса, но схема «металличность и шероховатость» сегодня самая распространённая, поэтому разберём её.
Базовый цвет (albedo, base color)
Цвет поверхности в чистом виде, без теней, бликов и освещения. Это принципиальный момент: на карте базового цвета не должно быть «нарисованных» теней и светлых пятен от лампы. У неметаллов она определяет цвет рассеянного света, у металлов — цвет отражения.
Значения яркости ограничены физическими пределами. Абсолютно чёрных и абсолютно белых поверхностей не бывает: у самого тёмного угля отражение около трёх процентов, у свежего снега около девяноста. Типичная ошибка новичков — слишком светлая или слишком тёмная альбедо, из-за чего сцена выглядит «пластилиновой».
Металличность (metallic)
Показывает, металл поверхность или диэлектрик. Значение практически бинарное: ноль для дерева, пластика, камня, ткани; единица для металлов. Промежуточные значения оправданы только на переходах, например на границе ржавчины и чистого металла, или в местах грязи на металле. Если выставить металличность 0.5 «чтобы было немного блестящим», получится материал, которого в природе не существует.
Шероховатость (roughness)
Определяет, насколько размыто отражение. Ноль — идеальное зеркало, единица — полностью матовая поверхность. Это самая «живая» карта: именно она отвечает за ощущение реальности. Идеально гладких поверхностей в реальном мире почти нет: на любом стекле есть отпечатки, на любом металле — микроцарапины. Однородная карта шероховатости делает объект стерильным и выдаёт синтетику.
Карта нормалей (normal map)
Хранит мелкий рельеф поверхности: поры, насечки, плетение ткани, швы. Позволяет без увеличения числа полигонов показывать детали, которые правильно реагируют на свет. Карта нормалей часто запекается с высокополигональной модели на лёгкую.
Дополнительные карты
- Высота (height, displacement) — реальный сдвиг геометрии, нужен для крупного рельефа: брусчатки, кирпичной кладки. Требует больше вычислений.
- Окклюзия (ambient occlusion) — затемнение в углублениях и стыках.
- Прозрачность и пропускание (opacity, transmission) — для стекла, плёнки, жидкостей.
- Подповерхностное рассеяние (subsurface) — для кожи, воска, молока, листьев, мрамора, где свет частично проникает вглубь.
- Эмиссия (emission) — для светящихся элементов: индикаторов, экранов.
Таблица ориентировочных значений
Ниже приведены грубые ориентиры, которые помогают быстро проверить, не ушёл ли материал от реальности. Это стартовые значения: точные цифры подбирают по образцу.
| Материал | Металличность | Шероховатость | Особенность |
|---|---|---|---|
| Полированная сталь | 1 | 0.1–0.3 | Цвет отражения серый, без цветового оттенка |
| Потёртый алюминий | 1 | 0.3–0.6 | Анизотропные царапины |
| Глянцевый пластик | 0 | 0.1–0.3 | Отражение белое, цвет только в рассеянной части |
| Матовый пластик | 0 | 0.5–0.8 | Лёгкая вариация по поверхности |
| Дерево с лаком | 0 | 0.3–0.5 | Волокна влияют на нормали |
| Картон, бумага | 0 | 0.8–1 | Видимое волокно на карте нормалей |
| Резина | 0 | 0.7–0.9 | Очень тёмная альбедо |
| Стекло | 0 | 0.0–0.1 | Прозрачность и показатель преломления около 1.5 |
Типичные ошибки в материалах
Освещение «запечено» в цвете
Модели из фотограмметрии приходят с текстурой, содержащей тени и блики исходной съёмки. Если подставить её как базовый цвет, объект будет сам себе источником неверных теней. Нужно очищать текстуру от освещения или переделывать материал.
Идеальная однородность
Реальные поверхности неоднородны: пыль в углублениях, потёртости на выступах, отпечатки, разводы, лёгкие различия цвета. Материал с одним значением по всей поверхности выглядит искусственно. Решение — накладывать маски износа, грязи, царапин и менять параметры от места к месту.
Неправильный масштаб текстуры
Если текстура дерева наложена так, что годичные кольца размером с ладонь, а детали на ней размером с кулак, мозг сразу видит подвох. Масштаб текстур должен соответствовать реальным размерам предмета, поэтому модель сначала приводят к реальным единицам.
Нефизичные комбинации
Белые металлы с рассеянным цветом, диэлектрики с цветными отражениями при высокой металличности, шероховатость нулевая на матовом материале. Такие ошибки заметны не всегда, но на разном освещении всплывают.
Забытая линейность цветовых пространств
Карты цвета нужно интерпретировать как sRGB, а карты данных (шероховатость, металличность, нормали) как линейные. Если перепутать, шероховатость будет неправильной, а материал — «грязным» или «выцветшим». Это самая частая техническая причина странного вида материала.
PBR и качество датасетов
Теперь перейдём к главному вопросу: зачем всё это нужно, если у нас не картинка для рекламы, а обучающая выборка?
- Сопоставимость с реальными фото. Физически корректный материал даёт правдоподобные блики, тени и цвета. Модель учится на признаках, которые встретит и в реальности: форма блика на металле, текстура поверхности, переходы.
- Устойчивость к свету. Один материал корректно работает в сотнях разных условий освещения, что даёт разнообразие без перенастройки. Подробнее о светотехнической стороне — в статье Освещение в рендере: HDRI, источники и тени.
- Вариативность через параметры. Поскольку материал описан физически, мы можем программно варьировать цвет, шероховатость, степень износа и получать множество вариантов одного объекта. Это основа доменной рандомизации и заметно улучшает обобщающую способность модели.
- Корректные маски и классы. Материал не влияет на разметку, масок и рамки считаются из геометрии. Но визуально правдоподобные объекты позволяют валидировать датасет глазами: пропущенный брак виден сразу.
Нужен ли фотореализм всегда
Нет. Практика показывает, что для многих задач важнее разнообразие, чем идеальный фотореализм. Часть проектов успешно использует умеренно реалистичные материалы со сильной рандомизацией. Но если задача требует различать тонкие признаки: царапины, поверхностные дефекты, текстуру ткани, степень зрелости фрукта, то качество материалов становится критическим. Выбор уровня детализации — инженерное решение, которое мы принимаем на старте проекта вместе с заказчиком, исходя из задачи и бюджета; общие принципы описаны на странице технологии.
Как мы проверяем материалы
Простой, но эффективный набор проверок:
- Рендер объекта в нейтральном студийном свете рядом с эталонным серым шаром и хромированным шаром. Это сразу показывает общий вид и поведение отражений.
- Рендер при нескольких разных окружениях: яркое небо, помещение, закат. Материал должен выглядеть правдоподобно во всех.
- Сравнение с фотографией реального образца при похожем свете. Здесь важны не детали, а общее впечатление от блеска и цвета.
- Проверка значений: нет ли альбедо вне физического диапазона, нет ли металличности в серой зоне без причины.
- Тест на крупном плане и на дальнем: текстура не должна ни мылиться вблизи, ни давать муар издали.
Правило, которое мы используем при приёмке: материал считается готовым, если его невозможно «сломать» сменой освещения. Если на одном из окружений он начал выглядеть иначе, значит, в нём заложено что-то нефизичное.
Что делать, если нужного материала нет
Библиотеки готовых материалов полезны, но для узких задач часто не хватает именно вашей поверхности: специфической покраски, определённого вида ржавчины, конкретной упаковочной плёнки. Варианты решения:
- отсканировать образец и получить карты со скана;
- собрать материал процедурно из шума, масок и градиентов, получив бесконечные вариации;
- взять базовый материал из библиотеки и доработать его слоями износа и загрязнения.
Если ваша задача требует точного воспроизведения конкретных поверхностей, напишите нам на [email protected]: подготовим пилотный набор изображений и покажем, как материалы ведут себя в разных условиях.
Нужен датасет под вашу задачу?
Подготовим тестовую партию изображений с разметкой, чтобы вы могли проверить подход на своей модели. Напишите на [email protected] или оставьте заявку.
Читайте также
3D-моделированиеОсвещение в рендере: HDRI, источники и тени
Освещение определяет, поверит ли модель картинке из рендера. Разбираем HDRI, типы источников, тени и способы варьировать свет так, чтобы датасет охватывал реальные условия.
3D-моделированиеВиртуальная камера: объективы, шум и искажения
Идеальная камера без шума, бликов и искажений делает синтетические кадры слишком чистыми, и модель теряется на реальных снимках. Разбираем, какие параметры оптики и сенсора стоит повторять и как это делать без лишней сложности.
3D-моделированиеФотограмметрия: как получить 3D-модель реального предмета
Фотограмметрия превращает набор обычных фотографий в трёхмерную модель с текстурой. Рассказываем, как снимать, обрабатывать результат и когда этот способ лучше моделирования вручную.