Upload
unigine-corp
View
877
Download
3
Embed Size (px)
Citation preview
Михаил Любимов, ООО «Юниджайн»
ПЕРЕХОД К ВИЗУАЛИЗАЦИИ С УЧЕТОМ ФИЗИЧЕСКИХ СВОЙСТВ МАТЕРИАЛОВНА ПРИМЕРЕ 3D ПЛАТФОРМЫ UNIGINE 2
Традиционный подход к материалам
• Specular - задает только цвет отражения
• Нет различия между диэлектриками и металлами
• Абстрактные параметры
• Настройка «на глаз»
Проблемы традиционного подхода
• Возможна физически-некорректная настройка (нарушение закона сохранения энергии)
• Материалы сложно настроить вне конкретной сцены
• Большое количество абстрактных параметров
• Параметры материалов в разных пакетах 3D-моделирования несовместимы
Решение: PBR
PBR - Physically-Based Rendering (визуализация с учетом физических свойств материалов)
План доклада:
• Физика процессов• Математическая модель• Техническая реализация• Результаты
Физическая модель процессов
Металлы и диэлектрики
Эффект ФренеляП
роце
нт о
траж
енно
го с
вета
Угол падения
Микрорельеф
Сохранение энергии
Lпадения = Lотражения + Lпоглощения
Двулучевая функция отражательной способности
– направление света – направление взгляда наблюдателя – нормаль к поверхности D – функция распределения микро-гранейG – функция затенения микро-гранейF – функция Френеля
𝑓 (�⃗� , �⃗� , �⃗� )=𝐷 ∙𝐹 ∙𝐺¿¿
GGX BRDFФункция распределение микро-граней GGX:
– вектор между и – показатель шероховатости поверхности
Функция затенения микро-граней GGX:
Апроксимация Шлика для функции Френеля:
F0 – коэффициент отражения
Реализация на HLSL
Разные подходы к наборам текстур
Схема Metalness
• Albedo определяет цвет поверхности (RGB)
• Metalness определяет, является ли объект металлом или диэлектриком (R)
• Roughness определяет шероховатость (R)
Схема Specular
• Diffuse определяет цвет рассеянного света (RGB)
• Specular определяет цвет отраженного света (RGB)
• Gloss определяет гладкость поверхности (R)
Сравнение настроекUNIGINE 1 UNIGINE 2: PBR
Затраты на переход
• Производительность: сравнимая (+/- 10%)
• Модификаций кода: только GLSL/HLSL шейдеры
• Трудозатраты: ~1 месяц, 1 программист
Результаты• Прирост продуктивности создателей 3D контента:
• меньше путаницы в настройках,• проще переносить модели между разными
пакетами 3D моделирования,• проще переносить модели между проектами,• предсказуемость результата, меньше итераций.
• Экономия на DIP: не надо разбивать на сурфейсы по типам материала
• Экономия на текстурах при использовании Metalness