Оптимизация текстур в UDK

Прежде чем мы начнем рассматривать варианты оптимизация текстур в UDK, я бы хотел показать список форматов текстур которые поддерживает UDK.

– .bmp
– .pcx
– .tga
– .float
– .psd
– .png

Я предпочитаю использовать формат TGA так как он поддерживаться в большинстве программ Плюс вы можете редактировать альфа канал. Но иногда текстуры в этом формате могут быть сохранены только с 32битным цветом или только альфа канал даже если его там не было. Это не очень хорошо потому что UDK при импорте файлов сжимает их с помощью встроенного компрессора DXTC. Тем не менее альфа плохо поддается компрессии а иногда вообще ее не проходит.

Для примера я возьму текстуру листа от банановой пальмы.

Мы привыкли сохранять текстуру вместе со всеми картами (diffuse, specular, normals), хотя в некоторых случая карту отражений (specular map) можно достать из диффузной карты (diffuse map)

На скриншоте выше, в редакторе материалов UDK, я вывел 2 канала из диффузной карты (diffuse map) красный и зеленый и сделал им режим наложения Multiply. Затем повторил процедуру но на этот раз повысил значение до 18. Вы можете настроить отражение в UDK или просто импортировать карту отражений (specular map) с расширением 256х256.

Иногда когда мы сохраняем текстуры забываем проверить их расширение. Всегда проверяйте ихнее расширение так как UDK импортирует только с расширением 2 (х2). Например: 256×256, 512×512, 1024×1024, 2048×2048 и т.д. Также убедитесь что файл будет сохранен с 8-битной цветностью на канал RGB\RGBA иначе в дальнейшем у вас могут возникнуть непредвиденные баги или дополнительные сложности. После того как вы загрузили текстуру в UDK убедитесь что вы выставили LOD Bias.

Как видно выше на скриншоте я загрузил свою текстуру бананового листа с расширением 1024х1024 но параметр Lod Bias я установил на 1. После этого наша текстура уменьшается на один шаг и становится с расширением 512х512. Причина по которой я уменьшил расширение текстуры это уменьшение использование памяти. Ниже я продемонстрирую это на скриншотах. Зайдите в UDK в меню View -> Browser window -> Texture Stats, вы должны увидеть окно статистики.

Как вы видите на картинке выше текстура загруженная с расширением 1024х1024 потребляет 1366kb памяти.

На этой картинке я включил LOD Bias и текстура потребляет гораздо меньше оперативной памяти.

Для объектов где нужна высокая детализация этот метод не подойдет, но если у вас в сцене присутствуют мелкие или незначительные объекты такие как трава, листья деревьев эта техника позволит вам сохранить очень много ресурсов.
Источник: cg.tutsplus.com

comments powered by HyperComments
UDK 6 апреля 2012

Отзывы на Оптимизация текстур в UDK:

expert
2012-11-26 12:29:20
особо важная информация оказалась про депиляцию))))