Конверсия текстур в Gem RTS

Введение

Конверсия текстур необходима для преобразования наборов текстур, созданных для Phong-материалов в компоненты PBR-материалов (PBR - Physically Based Rendering). В движке Gem RTS процесс конверсии может выполняться автоматически с помощью схем материалов, созданных в Редакторе схем.

Различия между текстурными компонентами для Phong и PBR материалов

Компоненты Phong-материала:

  • в текстурную карту diffuse запекается lightmap, которая находится в исходном .tif файле в отдельном верхнем слое и накладывается на карту цвета с помощью параметра наложения multiply;

  • для имитации бликов используется текстурная карта specular

Текстура diffuse (с запеченной картой lightmap) для Phong-материала

Компоненты PBR-материала:

  • в текстуре diffuse остается только цвет материала, а карта lightmap переносится в отдельную текстуру ambient occlusion.

  • для имитации бликов и шероховатостей поверхности используются текстурные карты metallic и roughness

Текстура diffuse для PBR материала
Текстура ambient occlusion для PBR материала

Конверсия текстур с помощью Редактора схем

С помощью Блоков конверсии в Редакторе схем можно создавать схемы материалов, которые осуществляют конверсию набора Phong-текстур в PBR-материал автоматически в процессе рендера.

Конверсия работает по принципу преобразования набора Phong-текстур (diffuse и specular) в PBR-компоненты metallic, roughness, ambient occlusion. Генерация PBR-материалов из набора Phong-текстур происходит согласно следующим предположениям:

Компонент
Предположение для конверсии

metallic

Высокое значение параметра specular соответствует физическим свойствам металла. Учитывается нижний порог яркости specular, за которым начинаются металлы.

roughness

Чем выше значение параметра specular, тем более гладкий и отражающий материал. Учитывается минимальное значение яркости specular, чтобы избежать очень гладких поверхностей. Параметр specular_power исходной схемы отвечает за размер пятна блика, что косвенно указывает на степень гладкости поверхности

ambient occlusion

Ambient occlusion запечен в diffuse текстуре. Нижние значения яркости диффузной текстуры берутся в качестве признака ambient occlusion

Блоки конверсии

Название блока конверсии
Входной пин
Выходные пины

specular

to

metallic and roughness

specular

  • metallic

  • roughness

diffuse

to

ambient occlusion

diffuse с запеченной lightmap

  • чистый diffuse

  • ambient occlusion

Внешний вид блока конверсии specular to metallic and roughness
Внешний вид блока конверсии diffuse to ambient occlusion

Создание схемы для автоматической конверсии набора Phong- текстур в PBR-материал

  1. Запустить Редактор схем.

  2. Открыть схему Phong-материала

  3. Добавить в схему блоки конверсии

  4. Подключить к входным пинам блоков конверсии Phong-текстуры diffuse и specular.

  5. Из выходящих пинов блоков конверсии свести все данные в блок Material с выбранным методом освещения.

  6. Сохранить схему в папку /gem2.

Пример сведения данных в блок Material: metallic + roughness

Пример использования блоков конверсии в схеме материала bump из папки gem2/

Cхема материала bump из папки gem2/

В Редакторе схем можно создавать новые схемы для PBR-материалов

Способы конверсии Phong-текстур в PBR

Автоматическая конверсия

С помощью блоков конверсии в схеме материала наборы Phong-текстур (diffuse, specular) преобразовываются в компоненты diffuse, ambient occlusion, metallic и roughness для PBR-материала автоматически во время рендера.

Частично-автоматическая конверсия

Карту lightmap вынести из diffuse текстуры и сохранить в отдельную текстуру ambient occlusion с помощью графического редактора.

Карта specular преобразовывается в компоненты metallic и roughness с помощью блока конверсии в схеме материала.

Конверсия с помощью графического редактора

Алгоритм действий:

  1. Из Phong-текстуры diffuse перенести карту lightmap в отдельную текстуру ambient occlusion.

  2. Преобразовать Phong-текстуру specular в карту roughness. Для этого в большинстве случаев достаточно сделать инверсию изображения specular и подкорректировать его слоем levels.

  3. На основе Phong-текстуры specular создать карту metalic, оставив самые яркие участки белыми (metallic = 1).

  4. В Редакторе схем собрать схему для PBR-материала, используя текстурные карты для PBR-материала

Назначение схемы PBR-материала на модель

При создании новых моделей рекомендуется назначать на модель материалы из папки pbr/

Схемы материалов из папки gem2/ поддерживают автоматическую конверсию набора Phong-текстур в PBR-материал во время рендера

Переэкспорт модели

  1. В программе 3D Max назначить на модель схему PBR-материала.

  2. Экспортировать модель в игру с помощью Плагина для 3d Max. В процессе эскорта в папке с моделью автоматически перезаписывается файл .material, в котором прописаны схема материала и пути к текстурам для компонент PBR-материала.

Без переэкспорта модели

  1. Открыть с помощью текстового редактора файл .material из папки с моделью.

  2. Заменить название схемы материала и пути к соответствующим PBR-текстурам (текстуры должны быть в формате .dds)

Last updated