Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
PortableCompressedTexture2D
Наследует: Texture2D < Texture < Resource < RefCounted < Object
Предоставляет сжатую текстуру для диска и/или видеопамяти в переносимом виде.
Описание
Этот класс позволяет хранить сжатые текстуры как автономные (не импортируемые) ресурсы.
Для 2D-использования (сжатые на диске, несжатые в VRAM) рекомендуются режимы с потерями и без потерь. Для 3D-использования (сжатые в VRAM) это зависит от целевой платформы.
Если вы собираетесь использовать только настольные компьютеры, рекомендуются S3TC или BPTC. Только для мобильных устройств рекомендуется ETC2.
Для портативных автономных 3D-текстур, которые работают как на настольных компьютерах, так и на мобильных устройствах, рекомендуется Basis Universal (хотя он имеет небольшую стоимость качества и более длительное время сжатия в качестве компромисса).
Этот ресурс предназначен для создания из кода.
Свойства
|
||
resource_local_to_scene |
|
|
|
Методы
void |
create_from_image(image: Image, compression_mode: CompressionMode, normal_map: bool = false, lossy_quality: float = 0.8) |
get_compression_mode() const |
|
is_keeping_all_compressed_buffers() static |
|
void |
set_basisu_compressor_params(uastc_level: int, rdo_quality_loss: float) |
void |
set_keep_all_compressed_buffers(keep: bool) static |
Перечисления
enum CompressionMode: 🔗
CompressionMode COMPRESSION_MODE_LOSSLESS = 0
There is currently no description for this enum. Please help us by contributing one!
CompressionMode COMPRESSION_MODE_LOSSY = 1
There is currently no description for this enum. Please help us by contributing one!
CompressionMode COMPRESSION_MODE_BASIS_UNIVERSAL = 2
There is currently no description for this enum. Please help us by contributing one!
CompressionMode COMPRESSION_MODE_S3TC = 3
There is currently no description for this enum. Please help us by contributing one!
CompressionMode COMPRESSION_MODE_ETC2 = 4
There is currently no description for this enum. Please help us by contributing one!
CompressionMode COMPRESSION_MODE_BPTC = 5
There is currently no description for this enum. Please help us by contributing one!
CompressionMode COMPRESSION_MODE_ASTC = 6
There is currently no description for this enum. Please help us by contributing one!
Описания свойств
bool keep_compressed_buffer = false 🔗
Если true, то при запуске в редакторе эта текстура будет хранить сжатые исходные данные в памяти, что позволит данным сохраняться после загрузки. В противном случае сжатые исходные данные теряются после загрузки, и текстуру нельзя будет сохранить повторно.
Примечание: Для корректной работы этого свойства его необходимо установить перед create_from_image().
Vector2 size_override = Vector2(0, 0) 🔗
Позволяет изменить размер текстуры (только для 2D).
Описания метода
void create_from_image(image: Image, compression_mode: CompressionMode, normal_map: bool = false, lossy_quality: float = 0.8) 🔗
Инициализирует сжатую текстуру из базового изображения. Необходимо указать режим сжатия.
normal_map рекомендуется для обеспечения оптимального качества, если это изображение будет использоваться как карта нормалей.
Если запрашивается сжатие с потерями, можно указать настройку качества. Это соответствует качеству сжатия WebP с потерями.
CompressionMode get_compression_mode() const 🔗
Возвращает используемый режим сжатия (действителен после инициализации).
bool is_keeping_all_compressed_buffers() static 🔗
Возвращает true, если флаг переопределен для всех текстур этого типа.
void set_basisu_compressor_params(uastc_level: int, rdo_quality_loss: float) 🔗
Устанавливает параметры компрессора для сжатия Basis Universal. См. также настройки в ResourceImporterTexture.
Примечание: Для корректной работы этот метод необходимо вызвать перед create_from_image().
void set_keep_all_compressed_buffers(keep: bool) static 🔗
Если keep имеет значение true, то этот флаг переопределяется глобально для всех текстур этого типа. В основном это используется редактором.