Unity的UGUI中使用ETC1+Alpha的格式

本文介绍了在Unity5.3之后,Android平台上如何使用ETC1+Alpha格式来优化内存和加载速度,特别是针对不支持ETC2的设备。关键点包括设置图片Sprite Tag进行图集打包、选择ETC(default)纹理压缩、添加UI/DefaultETC1着色器到Always Included Shaders,并注意Unity不同版本对ETC1支持的情况以及自定义Shader的适配问题。
摘要由CSDN通过智能技术生成

        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
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值