Текстуры неба
Макет кубемапы неба
Компрессия текстур неба
Используйте 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
Исходные текстуры в формате EXR сложить в папку in\
Переименовывать файлы по мере необходимости
Удалить из папки in\ лишние файлы
Запустить скрипт конверсии
Скрипт создаст на каждую .exr текстуру в папке in\ по 3 файла в папке temp\ и в папке out\
Файлы из папки 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