PortableCompressedTexture2D
Provides a compressed texture for disk and/or VRAM in a way that is portable.
Provides a compressed texture for disk and/or VRAM in a way that is portable.
This class allows storing compressed textures as self contained (not imported) resources. For 2D usage (compressed on disk, uncompressed on VRAM), the lossy and lossless modes are recommended. For 3D usage (compressed on VRAM) it depends on the target platform. If you intend to only use desktop, S3TC or BPTC are recommended. For only mobile, ETC2 is recommended. For portable, self contained 3D textures that work on both desktop and mobile, Basis Universal is recommended (although it has a small quality cost and longer compression time as a tradeoff). This resource is intended to be created from code.
Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.
Constructors1
PortableCompressedTexture2DConstructor
public PortableCompressedTexture2D();Properties3
KeepCompressedBufferProperty
public bool KeepCompressedBuffer { get; set; }If true, when running in the editor, this texture will keep the source-compressed data in memory, allowing the data to persist after loading. Otherwise, the source-compressed data is lost after loading and the texture can't be re-saved.
Note: This property must be set before PortableCompressedTexture2D.CreateFromImage for this to work.
SizeOverrideProperty
public Vector2 SizeOverride { get; set; }Allows overriding the texture's size (for 2D only).
_DataProperty
public byte[] _Data { get; set; }Methods9
CreateFromImagevoid
public void CreateFromImage(Image image, PortableCompressedTexture2D.CompressionMode compressionMode, bool normalMap = false, float lossyQuality = 0.8f);Initializes the compressed texture from a base image. The compression mode must be provided.
normal_map is recommended to ensure optimum quality if this image will be used as a normal map.
If lossy compression is requested, the quality setting can optionally be provided. This maps to Lossy WebP compression quality.
| Name | Type | Default |
|---|---|---|
image | Image | — |
compressionMode | PortableCompressedTexture2D.CompressionMode | — |
normalMap | bool | false |
lossyQuality | float | 0.8f |
GetCompressionModePortableCompressedTexture2D.CompressionMode
public PortableCompressedTexture2D.CompressionMode GetCompressionMode();Return the compression mode used (valid after initialized).
PortableCompressedTexture2D.CompressionModeGetSizeOverrideVector2
public Vector2 GetSizeOverride();Vector2IsKeepingAllCompressedBuffersbool
public static bool IsKeepingAllCompressedBuffers();Returns true if the flag is overridden for all textures of this type.
boolIsKeepingCompressedBufferbool
public bool IsKeepingCompressedBuffer();boolSetBasisuCompressorParamsvoid
public void SetBasisuCompressorParams(int uastcLevel, float rdoQualityLoss);Sets the compressor parameters for Basis Universal compression. See also the settings in ResourceImporterTexture.
Note: This method must be called before PortableCompressedTexture2D.CreateFromImage for this to work.
| Name | Type | Default |
|---|---|---|
uastcLevel | int | — |
rdoQualityLoss | float | — |
SetKeepAllCompressedBuffersvoid
public static void SetKeepAllCompressedBuffers(bool keep);If keep is true, overrides the flag globally for all textures of this type. This is used primarily by the editor.
| Name | Type | Default |
|---|---|---|
keep | bool | — |
SetKeepCompressedBuffervoid
public void SetKeepCompressedBuffer(bool keep);| Name | Type | Default |
|---|---|---|
keep | bool | — |
SetSizeOverridevoid
public void SetSizeOverride(Vector2 size);| Name | Type | Default |
|---|---|---|
size | Vector2 | — |