Unity加载外部图片效率提高百倍以上的方法

前一段在做一个功能的时候必须加载外部多张连续的图片,来实现一个简单的小动画。本来是一个非常简单的功能,不用两分钟就写好了。但是最终打成apk测试的时候有个非常大的问题就是非常卡,图片播放卡的简直不忍直视,后来去看unity的官方文档,发现了一个非常好用的方法。
我们在使用unity的UGUI中的图片的时候,绝大多数人都是使用Image这个组件,而大家基本上很容易忽略掉这个组件的使用效率问题,因为都是在unity创建好的sprite直接赋值所以 看不出来有什么问题,但是如果你是直接动态加载外部的或者下载的图片你就会发现加载的时候特别卡,特别是越大,越不规则的图片更是耗时。但是还有个被大家忽略的组件就是RawImage,这个组件可以说是Image的简化版,它的功能虽然少很多但是几个基本的功能都在,最主要的是它可以直接赋值texture图片,这里大家可以不是很清楚,所以没有什么比直接写代码更直接的方式了:

    public void ImageAssignment()  //Image组件赋值方法
    {
        var path = Application.streamingAssetsPath + "/icon.png"; //外部图片地址
        var tex = ResLoader.DownloadSync(path).texture; //使用www加载外部图片(这个方法是自己写的, 不会的话自己上网百度下)
        var sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));
        ImageObject.sprite = sprite;
    }

    public 
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值