在运行时将纹理压缩为 DXT/BCn 或 ETC 格式。
使用此方法在运行时压缩纹理。压缩纹理使用更少的图形内存,渲染速度更快。有关纹理压缩的更多信息,请参阅 纹理压缩。
Unity 将纹理压缩到的格式取决于平台和纹理属性。
如果原始纹理没有 alpha 通道,纹理将采用 DXT1 (BC1) 格式;如果原始纹理有 alpha 通道,则采用 DXT5 (BC3) 格式。如果原始纹理是 R8,则压缩格式将是 BC4。如果原始纹理是 RG16,则压缩格式将是 BC5。
在 Android、iOS 和 tvOS 上,这会将纹理压缩为 ETC/EAC 格式族。
将 true
传递给 highQuality
参数将在压缩过程中对源纹理进行抖动,这有助于减少压缩伪影,但速度稍慢。此参数对 ETC 压缩无效。
如果显卡不支持压缩或纹理已处于压缩格式,则 Compress 不会执行任何操作。
在编辑器脚本中,您可能需要使用 EditorUtility.CompressTexture,它使用更慢但压缩质量更高的压缩方式。它还可以压缩为其他压缩格式。
您还可以使用 LoadRawTextureData 函数将已预压缩的数据加载到纹理中。
其他资源:SetPixels、EditorUtility.CompressTexture、LoadRawTextureData。