Когда вы собираете игру для разных платформ, вам следует подумать о разрешении текстур для целевой платформы, размере и качестве. Вы можете установить стандартные настройки и затем их изменить под определённую платформу.
This page details the Texture Overrides specific to Android. A description of the general Texture Overrides can be found here.
Texture Format | Какое внутреннее представление используется для текстуры. Это компромисс между размером и качеством. В примерах ниже мы покажем финальный размер внутриигровой текстуры размером 256х256: |
RGB Compressed DXT1 | Сжатая RGB текстура. Поддерживается Nvidia Tegra. 4 бита на пиксель (32 КБ для 256х256 текстуры). |
RGBA Compressed DXT5 | Сжатая RGBA текстура. Поддерживается Nvidia Tegra. 6 бит на пиксель (64 КБ для 256х256 текстуры). |
RGB Compressed ETC 4 bits | Сжатая RGB текстура. Это стандартный формат текстуры для проектов на Android. ETC1 является частью OpenGL ES 2.0 и поддерживается всеми OpenGL ES 2.0 графическими процессорами. Не поддерживает альфа-каналы. 4 бита на пиксель (32 КБ для 256х256 текстуры). |
RGB Compressed PVRTC 2 bits | Сжатая RGB текстура. Поддерживается графическими процессорами Imagination PowerVR. 2 бита на пиксель (16 КБ для 256х256 текстуры). |
RGBA Compressed PVRTC 2 bits | Сжатая RGBA текстура. Поддерживается графическими процессорами Imagination PowerVR. 2 бита на пиксель (16 КБ для 256х256 текстуры). |
RGB Compressed PVRTC 4 bits | Сжатая RGB текстура. Поддерживается графическими процессорами Imagination PowerVR. 4 бита на пиксель (32 КБ для 256х256 текстуры). |
RGBA Compressed PVRTC 4 bits | Сжатая RGBA текстура. Поддерживается графическими процессорами Imagination PowerVR. 4 бита на пиксель (32 КБ для 256х256 текстуры). |
RGB Compressed ATC 4 bits | Сжатая RGB текстура. Поддерживается графическими процессорами Qualcomm Snapdragon. 4 бита на пиксель (32 КБ для 256х256 текстуры). |
RGBA Compressed ATC 8 bits | Сжатая RGBA текстура. Поддерживается графическими процессорами Qualcomm Snapdragon. 6 бита на пиксель (64 КБ для 256х256 текстуры). |
RGB 16 bit | 65 тысяч цветов без альфа канала. Использует больше памяти чем сжатые форматы, но может быть подходящим для интерфейса или чётких текстур без градиентов. 128 КБ для 256х256 текстуры. |
RGB 24 bit | Truecolor, но без альфа канала (192 КБ для 256х256 текстуры). |
Alpha 8 bit | Альфа канал высокого качества, но без цветов (64 КБ для 256х256 текстуры). |
RGBA 16 bit | Truecolor низкого качества. Стандартный вид сжатия для текстур с альфа-каналом. 128 КБ для 256х256 текстуры. |
RGBA 32 bit | Truecolor с альфа каналом - это высшее качество сжатия для текстур с альфа каналом (256 КБ для 256х256 текстуры). |
Compression quality | Выберите Fast для более высокой производительности, Best для лучше качества изображения и Normal для баланса. |
Пока вы не нацелены на определённое оборудование, вроде Tegra, мы рекомендуем использовать ETC1 сжатие. Если есть надобность, вы можете хранить внешний альфа канал и в то же время извлекать пользу из отпечатка текстуры поменьше.
Unity can use ETC1 for textures with Alpha, provided they are placed on some Atlas (by specifying the packing tag) and the build is for Android. You can opt in for this by setting the “Compress using ETC1” checkbox for the texture. Under the hood Unity will split the resulting atlas into two textures, each without alpha and then combine them in the final parts of the render-pipeline.
Если вы определённо намерены хранить альфа канал в текстуре, то RGBA 16-бит - вид сжатия поддерживаемый всеми производителями оборудования.
Текстуры можно импортировать из DDS файлов, но на данный момент поддерживается только DXT или несжатый пиксельный формат.
Если ваше приложение использует сжатие текстур, текстуры будут разжаты в RGBA 32 и храниться в памяти вместе со сжатыми. Таким образом, в данном случае вы теряете время на разжатие текстур и теряете память, храня из дважды. Также может быть негативное влияние на производительность рендеринга.