Unity5.3之后,Android平台的默认压缩纹理改为ETC2。ETC2支持半透明,使用也很方便,不过问题是尚未普及,尤其是低端机是不支持ETC2的。Unity对不支持ETC2的机子,在加载图片的时候会解压为RGBA,不过这样就会造成极大的内存浪费,也会严重影响加载速度。
对于没有透明色且为2的整次幂的正方形图片,Unity会转为ETC1,所以模型的纹理是可以用默认的压缩格式。
需要注意的是非2的整次幂的图片,以及含有半透明的图片。这里主要是UI图片资源。
Unity提供了ETC1+Alpha的支持。在图片分页进行如图所示的设置
也可以通过代码进行自动化设置
private static void SetTextureSprite(AssetImporter ai, string tag = null)
{
TextureImporter importer = ai as TextureImporter;
if (importer == null) return;
importer.textureType = TextureImporterType.Sprite;
importer.mipmapEnabled = false;
importer