Unity 6.3
0 онлайн 1 гость 3 в системе
Вход

Texture2D.Compress

Declaration

public void Compress(bool highQuality);

Описание

Сжатие текстуры во время выполнения в форматы DXT/BCn или ETC.

Используйте этот метод для сжатия текстур во время выполнения. Сжатые текстуры занимают меньше графической памяти и визуализируются быстрее. Дополнительные сведения о сжатии текстур см. в разделе Сжатие текстур.

Формат, в который Unity сжимает текстуру, зависит от платформы и свойств текстуры.

текстура будет иметь формат TextureFormat.DXT1 (BC1), если в исходной текстуре нет альфа-канала, и формат TextureFormat.DXT5 (BC3), если альфа-канал есть. Если исходная текстура имеет формат TextureFormat.R8, сжатая текстура будет иметь формат TextureFormat.BC4. Если исходная текстура имеет формат TextureFormat.RG16, сжатая текстура будет иметь формат TextureFormat.BC5.

На Android, iOS и tvOS текстура сжимается в один из форматов семейства ETC/EAC.

Если передать true в параметре highQuality, во время сжатия к исходной текстуре будет применено дизеринг-сглаживание. Это помогает уменьшить артефакты сжатия, но немного замедляет операцию. При сжатии ETC этот параметр игнорируется.

Если видеокарта не поддерживает сжатие либо текстура уже имеет сжатый формат, Compress не выполняет никаких действий.

В скриптах Editor обычно следует использовать EditorUtility.CompressTexture: этот метод сжимает медленнее, но с более высоким качеством, а также поддерживает другие сжатые форматы.

Кроме того, в текстуру можно загрузить уже сжатые данные вызвав функцию LoadRawTextureData, которая выполняет такую загрузку.

Дополнительные ресурсы: SetPixels, EditorUtility.CompressTexture, LoadRawTextureData.