Конверсия текстур в Gem RTS
Last updated
Last updated
Конверсия текстур необходима для преобразования наборов текстур, созданных для Phong-материалов в компоненты PBR-материалов (PBR - Physically Based Rendering). В движке Gem RTS процесс конверсии может выполняться автоматически с помощью схем материалов, созданных в Редакторе схем.
в текстурную карту diffuse
запекается lightmap
, которая находится в исходном .tif файле в отдельном верхнем слое и накладывается на карту цвета с помощью параметра наложения multiply;
для имитации бликов используется текстурная карта specular
в текстуре diffuse
остается только цвет материала, а карта lightmap
переносится в отдельную текстуру ambient occlusion
.
для имитации бликов и шероховатостей поверхности используются текстурные карты metallic
и roughness
С помощью Блоков конверсии в Редакторе схем можно создавать схемы материалов, которые осуществляют конверсию набора Phong-текстур в PBR-материал автоматически в процессе рендера.
Конверсия работает по принципу преобразования набора Phong-текстур (diffuse и specular) в PBR-компоненты metallic, roughness, ambient occlusion. Генерация PBR-материалов из набора Phong-текстур происходит согласно следующим предположениям:
Запустить Редактор схем.
Открыть схему Phong-материала
Добавить в схему блоки конверсии
Подключить к входным пинам блоков конверсии Phong-текстуры diffuse и specular.
Из выходящих пинов блоков конверсии свести все данные в блок Material с выбранным методом освещения.
Сохранить схему в папку /gem2.
Пример использования блоков конверсии в схеме материала bump из папки gem2/
В Редакторе схем можно создавать новые схемы для PBR-материалов
С помощью блоков конверсии в схеме материала наборы Phong-текстур (diffuse
, specular
) преобразовываются в компоненты diffuse
, ambient occlusion
, metallic
и roughness
для PBR-материала автоматически во время рендера.
Карту lightmap
вынести из diffuse
текстуры и сохранить в отдельную текстуру ambient occlusion
с помощью графического редактора.
Карта specular
преобразовывается в компоненты metallic
и roughness
с помощью блока конверсии в схеме материала.
Алгоритм действий:
Из Phong-текстуры diffuse
перенести карту lightmap
в отдельную текстуру ambient occlusion
.
Преобразовать Phong-текстуру specular
в карту roughness
.
Для этого в большинстве случаев достаточно сделать инверсию изображения specular и подкорректировать его слоем levels.
На основе Phong-текстуры specular
создать карту metalic
, оставив самые яркие участки белыми (metallic = 1
).
В Редакторе схем собрать схему для PBR-материала, используя текстурные карты для PBR-материала
При создании новых моделей рекомендуется назначать на модель материалы из папки pbr/
Схемы материалов из папки gem2/
поддерживают автоматическую конверсию набора Phong-текстур в PBR-материал во время рендера
В программе 3D Max назначить на модель схему PBR-материала.
Экспортировать модель в игру с помощью Плагина для 3d Max. В процессе эскорта в папке с моделью автоматически перезаписывается файл .material, в котором прописаны схема материала и пути к текстурам для компонент PBR-материала.
Открыть с помощью текстового редактора файл .material из папки с моделью.
Заменить название схемы материала и пути к соответствующим PBR-текстурам (текстуры должны быть в формате .dds)
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