unity优化 — 纹理(优化)通道分离

unity针对Android平台还提供了通道分离的方式:将图片(sprite)压缩成ETC1,提取Alpha生成一张通道图。unity将通道图保存的格式为a8格式,目的为了让混合起来的Alpha效果很好。比如一张1024*1024的贴图,ETC1压缩格式为0.5M,a8格式的通道图压缩结果为1M,加起来是1.5M。

图1-1,在贴图面板中勾选Override for Android , Format格式选为RGB Compressed ETC4 bits, 勾选 Split Alpha Channel。

          unity优化 — 纹理(优化)通道分离

                 图 1- 1 通道拆分设置

 

 图1-2 ,在Project Setting —Graphics 中 Always Included Shaders 中添加 UI/DefaultETC1.shader.

                        unity优化 — 纹理(优化)通道分离

 

图1-3,运行游戏真机Profiler查看,可以看出使用的图集已经拆除了通道图。

unity优化 — 纹理(优化)通道分离

 

如何批量自动设置呢?如下代码示例:

//设置Android平台通道分离
TextureImporterPlatformSettings settings = new TextureImporterPlatformSettings();
settings.overridden = true;
settings.name = "Android";
settings.format = TextureImporterFormat.ETC_RGB4;
settings.allowsAlphaSplitting = true;
textureImporter.SetPlatformTextureSettings(settings);
                        

unity优化 — 纹理(优化)通道分离

上一篇:算法模板


下一篇:Java 家庭记账本