Текстуры неба

Макет кубемапы неба

Компрессия текстур неба

Используйте BC6H_SF16 формат для HDR текстур неба

Расположение файлов текстур неба

Папка с готовыми HDR файлами тексур неба в ресурсах игры:

main\scene\texture\common\environment\hdr\

Файлы HDR текстур неба

Название файлаНазначениеРазмерПримечание

<name>.dds

cubemap, основная текстура неба

4k

generated\<name>_diffuse.dds

diffuse map

128 x 128

generated\<name>_specular.dds

specular map, текстура бликов неба

512 x 512

в mips лежат карты отражения для разной степени шероховатости

Конверсия текстур неба из EXR формата в игру

Исходники для текстур неба должны быть в формате EXR

Инструментарий

НазваниеУстановкаПримечание

Распаковываем архив в нужную папку

cmgen

Скрипт предполагает установку на диск C:\ по стандартному пути

Инструмент для работы с кубмапами, который является частью Filament библиотеки для Android. Разработчики Gem RTS используют собственную версию cmgen, адаптированную под специфику работы с текстурами неба для игр на движке Gem RTS

Настройки скрипта конверсии основной текстуры неба с помощью cmgen

cmgen.exe --type=horizontal --format=dds --compression=16 --extract=out --size=4096 <name>.exr

Пояснения Запускаем cmgen.exe со следующими параметрами:

  • type=horizontal

  • format=dds

  • compression=16

  • extract=out

  • size=4096

  • <name>.exr

Настройки скрипта конверсии основной текстуры неба с помощью nvidia texture tools

--format bc6 --texture-type cubemap --quality normal --mips --mip-filter box --no-mip-gamma-correct --no-mip-pre-alpha

Пояснения Запускаем nvidia texture tool со следующими параметрами:

  • format bc6

  • texture-type cubemap

  • quality normal

  • mips

  • mip-filter box

  • no-mip-gamma-correct

  • no-mip-pre-alpha

Настройки скрипта конверсии текстуры бликов неба с помощью cmgen

cmgen.exe --type=horizontal --format=dds --clamp --compression=16 --ibl-ld=out --size=512 <name>.exr

Пояснения Запускаем cmgen.exe со следующими параметрами:

  • type=horizontal

  • format=dds

  • clamp

  • compression=16

  • ibl-ld=out

  • size=512

  • <name>.exr

Настройки скрипта конверсии текстуры бликов неба с помощью nvidia texture tools

--format bc6 --texture-type cubemap --quality normal --no-mips --extract-from-atlas --atlas-mips 6

Пояснения Запускаем nvidia texture tool со следующими параметрами:

  • format bc6

  • texture-type cubemap

  • quality normal

  • no-mips

  • extract-from-atlas

  • atlas-mips 6

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

Обязательно нужно проверять результат на каждом шаге, чтобы очередная операция при работе с текстурой неба не вырезала HDR, сведя большие значения к 1

  1. Исходные текстуры в формате EXR сложить в папку in\

  2. Переименовывать файлы по мере необходимости

  3. Удалить из папки in\ лишние файлы

  4. Запустить скрипт конверсии

  5. Скрипт создаст на каждую .exr текстуру в папке in\ по 3 файла в папке temp\ и в папке out\

  6. Файлы из папки out\ можно скопировать в ресурсы игры в папку packagename\scene\texture\common\environment\hdr\

Пример

Пусть исходный файл kloofendal_48d_partly_cloudy_4k.exr находится в папке in\

В процессе конвертации в папке temp\ после обработки в программе cmgen.exe появятся промежуточные файлы в формате .exr:

  • kloofendal_48d_partly_cloudy_4k.exr

  • kloofendal_48d_partly_cloudy_4k_diffuse.exr

  • kloofendal_48d_partly_cloudy_4k_specular.exr

В папке out\ - будут создан файлы в формате dds, готовые к размещению в ресурсах игры

  • kloofendal_48d_partly_cloudy_4k.dds

  • generated\kloofendal_48d_partly_cloudy_4k_diffuse.dds

  • generated\kloofendal_48d_partly_cloudy_4k_specular.dds

Last updated