Распределение ориентаций

Если почти все микрограни смотрят в одном направлении, отражение концентрируется около зеркального. Если ориентации распределены шире, отражение размывается. Функция распределения нормалей, NDF, описывает эту статистику. Распространённые семейства, включая GGX, различаются формой центральной части и хвостов распределения.

Одинаковое численное значение roughness в разных моделях поэтому не гарантирует одинаковый блик. Кроме того, интерфейс может преобразовывать пользовательский параметр перед передачей внутрь модели. Для переноса материала важен визуальный эталон и описание преобразования, а не совпадение цифры на панели.

Пример из документацииШкалы параметров Principled BSDFКаждая строка меняет один параметр Principled BSDF от 0 до 1. Особенно хорошо видны расширение блика при росте roughness и переход от диэлектрика к металлу. Названия параметров относятся к историческому руководству.Blender Documentation Team · CC BY-SA 4.0 · Blender Manual 3.5
Версия и обработка изображения

Blender Manual 3.5 — архив документации от 23.02.2023; точная версия интерфейса отдельных кадров не указана. Преобразование в WebP без потерь; исходные размеры сохранены; без кадрирования, дорисовки и удаления подписей. Все авторы и источники.

Три роли в отражении

Условное разложение D, F и G удобно для понимания. D задаёт статистику подходящих микрограней. F описывает отражательную способность границы при данном угле. G учитывает, что соседние микрограни могут закрывать друг друга от света или наблюдателя. Итог содержит также геометрические нормировочные множители.

Если игнорировать masking и shadowing, шероховатая поверхность может становиться неверно яркой под острыми углами. Если неправильно учитывать энергию между событиями, изменение roughness будет менять вид материала неожиданным образом. Современные модели могут компенсировать часть потерь многократного рассеяния.

ПОПРОБУЙТЕ САМИ · МАТЕМАТИЧЕСКАЯ МОДЕЛЬ

Распределение микрограней GGX

Параметр α управляет шириной изотропной NDF. График показывает плотность ориентаций микрограней, а не изображение блика.

0,05 — узкое распределение · 1 — широкое
0,0010,010,11101000°15°30°45°60°75°90°D, ср⁻¹ · логарифмическая шкалаНаклон микронормали θₘα = 0,35Пунктир: α = 0,35
D при θₘ = 0°2,598 ср⁻¹
50% проец. площади внутри19,3°
∫ D cos θₘ dωₘ1

Формула: D(θₘ) = α² / [π · (1 + (α² − 1) cos² θₘ)²]; ∫Ω D(m) cos θₘ dωₘ = 1

Ось D логарифмическая; нормируется интеграл с cos θₘ, а не высота кривой. D может быть больше 1. Ползунок задаёт α напрямую: преобразование экранного roughness зависит от рендерера. Fresnel, masking, свет и многократное рассеяние здесь не вычисляются.

Источники: PBRT: нормировка и GGX

Анизотропия

У направленно обработанной поверхности распределение нормалей различается вдоль двух касательных осей. Поэтому шлифованный металл даёт вытянутые блики. Анизотропия зависит не только от коэффициента, но и от ориентации локального базиса. На сложной модели неправильные касательные создают швы и повороты рисунка.

Практическая рекомендация: проверяйте такую поверхность широким вытянутым источником при вращении объекта. Небольшой точечный блик иногда скрывает ошибку направления. Сначала добейтесь связного рисунка на простой геометрии, затем добавляйте детальные карты.

Пример из документацииНаправление анизотропного бликаСлева направо: поворот анизотропии 0°, 90° и направление, заданное текстурой. Изменяется форма и направление блика — наглядный пример роли касательного направления.Blender Documentation Team · CC BY-SA 4.0 · Blender Manual 3.5
Версия и обработка изображения

Blender Manual 3.5 — архив документации от 23.02.2023; точная версия интерфейса отдельных кадров не указана. Преобразование в WebP без потерь; исходные размеры сохранены; без кадрирования, дорисовки и удаления подписей. Все авторы и источники.

Логика процессаОригинальная учебная схема материала. Не является интерфейсом или измеренным образцом конкретного движка.

Связь с bump и displacement

Roughness описывает неразрешаемую статистику. Normal и bump меняют локальную ориентацию shading на более крупном масштабе. Displacement меняет реальную поверхность. Один объект может разумно использовать все три уровня: крупную форму геометрией, среднюю фактуру нормалями, мелкую обработку roughness.

Дублирование одного и того же рельефа сразу в нескольких каналах способно преувеличить шероховатость. При удалении камеры детали нормалей могут исчезать и требовать согласованной фильтрации, иначе материал меняет характер или начинает мерцать.

Что проверять в результате

Смотрите на ширину, яркость и форму блика, особенно на его дальние края. Отдельно проверяйте фронтальный и скользящий угол. Если материал выглядит хорошо только в одной позиции света, проблема может находиться в модели или параметрах, а не в художественном освещении.

Для сравнения моделей используйте одинаковый источник, экспозицию и view transform. Площадь лампы сама расширяет отражение; без её фиксации нельзя приписывать всю разницу roughness. Для предметного lookdev полезны минимум два масштаба освещения: широкий softbox и небольшой источник, выявляющий форму распределения.

Протестируйте материал с одинаковой средней roughness, но разной направленностью обработки. Если вытянутый блик поворачивается вместе с объектом правильно, локальный базис согласован. Если он неожиданно остаётся в мировом направлении или ломается по UV-швам, исправьте ориентацию. Такой тест особенно полезен для металлических цилиндров и колец: по ним хорошо видно, где статистическая модель микрограней перестала следовать физическому направлению шлифовки.