Основные параметры в 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