Основные параметры в PBR
Составляющие модели освещения PBR
Непрямое рассеянное
Моделирует рассеянное освещение от окружения
Задаётся специальной diffuse текстурой созданной из текстуры неба
Регулируется в энвире через envmap_amount
Влияет угол падения света
Непрямое отражение
Моделирует отражение окружения
Задаётся специальной specular текстурой, созданной из текстуры неба
Регулируется в энвире параметром envmap_amount
Влияет угол падения света и шершавость поверхности
Прямое рассеянное
Моделирует освещение источником света матовой поверхности
Задаётся в энвире
diffuse*diffuse_intensity
Влияет угол падения света
Прямое отраженное
Моделирует освещение источником света блестящей поверхности
Задаётся в энвире
diffuse*diffuse_intensity
Влияет угол падения света и шершавость поверхности
Основные параметры в PBR
В других реализациях есть дополнительные текстуры, но в текущей версии реализации PBR используются только нижеперечисленные.
Diffuse
Диффуз, он же альбедо - отражающий цвет материала, взятый без учёта освещения. Карта задает базовый цвет объекта при освещении белым светом, что делает эту текстуру основой для большинства материалов в трехмерных сценах.
<name>
3 канала sRGB gamma space
Карта содержит информацию о цвете каждого пикселя поверхности, когда на нее падает белый свет
Diffuse карты не содержат информацию о блеске или отражательной способности материала; эти аспекты задаются другими текстурными картами.
Не может быть близко к 0 - такие материалы физически не могут существовать, даже сажа и уголь отражают свет
Ambient occlusion
Текстура ambient occlusion нужна, чтобы непрямое освещение не высвечивало дырки в стволах, темные места между труб и тому подобное
<name>_ao
1 канал
[0..1]
linear space
Белым в текстуре обозначены открытые участки модели
Черным - полностью самозатененные участки модели, рассеянный свет туда попасть не может
Темные области задают те участки модели или материала, которые затеняются при освещении снаружи из-за перекрытия другими кусками модели или материала
Metallic
Карта необходима для реалистичной имитации металлических материалов в модели, так как металлические детали отражают свет не так, как диэлектрики.
<name>_mt
1 канал
[0..1]
linear space
Черным обозначаются места модели из диэлектрика
Белым - металл
Промежуточные значения нужны для мест, где металл частично проступает
metallic должен быть равен 0 для материалов, не содержащих металл: земля, вода, камни, кора дерева, листья, дерево, бетон
Цвет diffuse задаёт собственный цвет металла там, где проставлен metallic отличный от нуля
Roughness
Карта задает форму блика от света на поверхности, в зависимости от физических свойств поверхности материала и тем самым влияет на восприятие реалистичности материала
<name>_rg
1 канал
[0..1]
linear space
Черным обозначаются гладкие поверхности, например, стекло или гладь воды
Белым шершавые поверхности, например, сухая грязь или пыль.
Промежуточные значения определеяют степень шершавости
Следует избегать значений очень близких к 0, так как они будут давать очень небольшой и контрастный блик и, соответсвенно, алиасинг на картинке
Normal map
Карта нормалей поверхности для отраженного света, позволяет имитировать более детализированный рельеф поверхности материала
Работает одинаково в обеих моделях освещения PBR и Phong.
<name>_nm
3 канала sRGB gamma space
В каждом пикселе содержит координаты нормали, закодированные в RGB каналах в виде координат XYZ
Normal Map имеет два формата: OpenGL и DirectX, которые различаются направлением зеленого канала.
Lightmap
Содержимое текстуры лайтмапы включает в себя информацию о рассеянном свете, которая предварительно рассчитывается и сохраняется для дальнейшего использования в сцене. Карта рассеянного освещения нужна в случае, если есть локальный ambient occlusion для материала и глобальная карта для всего объекта.
Работает одинаково в обеих моделях освещения PBR и Phong.
<name>_nlm
1 канал
[0..1]
linear space
Черным обозначаются полностью затененные участки модели
Белым - освещенные Промежуточные значения обозначают степень освещенности
Примеры использования:
Модель забора имеет тайловую текстуру материала с картой ambient occlusion и картой lightmap целого забора в сборе
Модель гусеницы танка имеет текстуру ambient occlusion затайленного куска гусеницы самого по себе и карту lightmap, где учитывается и танк и положение катков
Translucency
Карта, которая задает просвечиваемость материала и толщину, сколько света проходит через материал.
<name>_tl
1 канал
[0..1]
linear space
Черным в текстуре обозначаются непрозрачные участки модели
Белым - полностью прозрачные
Промежуточные значения обозначают степень прозрачности
Канал задаёт только прохождение света, для задания цвета используется diffuse текстура
Примеры использования:
В текстурах травы и листьев, чтобы они не были темными с обратной стороны от света
Height
Карта высот для параллакса- специальная текстура, используемая для имитации трехмерных деталей на плоских поверхностях. Техника параллакса позволяет создавать визуально богатые и детализированные поверхности без значительных затрат на производительность
Работает одинаково в обеих моделях освещения PBR и Phong.
<name>_hm
1 канал
[0..1]
linear space
Белые участки представляют собой "высокие" точки поверхности
Черные участки — "низкие"
Шкала серого определяет различные уровни высоты.
В текущей реализации PBR эта карта не учитывается
Emissive
Карта позволяют имитировать эффекты свечения и другие источники света, которые должны выглядеть, как самостоятельно излучающие свет.
Эти карты не создают реальных световых эффектов в сцене, таких как освещение или тени от других объектов, но идеально подходят для визуального представления источников света внутри текстурированных объектов. Emissive-карты часто используются для добавления визуальной глубины и улучшения общего визуального восприятия сцены.
<name>_em
3 канала
linear space
Цвет на карте напрямую влияют на цвет излучаемого света.
Степень яркости свечения задается интенсивностью цвета на карте. Ярче цвета на карте приведут к более интенсивному свечению.
Reflectance
Карта задает отражающую способность для диэлектриков Используется в качестве параметра в схемах материалов
Сейчас параметр выставлен жестко в 4% - так как это значение большинства материалов
Имена текстур в ресурсах
Текстуры из gem2
<name>
deffus
<name>_nm
normal map
<name>_sp
specular
<name>_lm
light map
<name>_hm
height map
<name>_prlx
альтернативная версия height map
Добавленные в PBR
<name>_ao
ambient occlusion
<name>_mt
metallic
<name>_rg
roughness
<name>_tl
Translucency
Имена текстур в схемах материалов
Если одинаковых по смыслу текстур несколько, то для остальных текстур в конец названия добавляем порядкой номер, начиная с 1
diffuse
diffuse
основная текстура
bump
normal map
bumpvolume
3д карта для волн
specular
specular
lightmap
light map
height
height map
mask
маски
metallic
metallic
roughness
roughness
ao
ambient occlusion
translucency
translucency
просвечиваемость
arm
ambient occlusion + roughness + metallic
комбинированная текстура
Комбинированная PBR текстура
В данной версии Gem RTS не используется
4 канала Имя текстуры <name>_pbr
Во время моделирования удобнее работать с разными текстурами, но в итоге для игры необходимо собирать все каналы в одну PBR текстуру, чтобы меньше нагружать видеокарту. Сейчас это нужно делать вручную, но планируется сделать инструмент для автоматизации.
<name>_pbr
4 канала
RGB+Аlpha
Красный (red) - ambient occlusion
Зеленый (green) - roughness
Синий (blue) - metallic
Аlpha
Last updated