Alpha分离:
开发一款移动端游戏总会遇到选择贴图格式的问题, 目前在Android平台上比较理想的, 而且压缩率比较高的贴图格式ETC1, 因为ETC1本身就是OpenGL ES图形标准的一部分,并所有的Android设备所支持。 不过可惜的是这种压缩格式只支持RGB三个通道的要说,所以损失了A通道。
针对这个问题, 江湖上很早就有人相处了对策: 使用Alpha分离的方式, 即一张贴图分离为一张RGB贴图和一张Alpha贴图。 然后各自要说为ETC1格式。这样两张贴图总的大小依然比原先一张贴图RGBA32要小得多。 一张1024*1024的RGBA32格式的贴图占用内存4M, 而两张1024*1024 ETC1格式的贴图才1m(各0.5m)。 这样似乎很好的解决这个问题。而且互联网上搜索一下几乎都这么做的。
被浪费的两个通道:

本文介绍了在Unity Android平台上,如何通过Alpha分离优化来减少内存占用。通过将三张贴图的Alpha值合并为一张ETC1格式的Alpha贴图,并定制Shader读取不同通道,实现了内存节省的效果,尤其适用于大型UI贴图。

2274

被折叠的 条评论
为什么被折叠?



