Unity2018 图集的使用

使用图集的好处是降低DrawCall,如果不将UI图片合并到一个图集中,每个图片都将占用一个DrawCall。

untiy2018提供了创建SpriteAtlas的功能,相较于老版的Sprite Packer提供了更加灵活的控制方式。

SpriteAtlas可以在Project窗口中创建,然后将图片添加到SpriteAtlas的Objects for Packing中即可,点击PackPreview即可查看生成的图集。

Unity默认提供了图集的Include in build功能,就是在项目构建时默认包含图集资源,在运行时如果需要某个图集中的Sprite时就会加载这个图集。

但是在生成AB时就会产生一个问题,在做UI时一定会把Sprite填到Image中,这时再UI的AB包和SpriteAtlas的AB包中都会包含图集资源,这样同一个资源就包含在了两个AB包中。

如果需要打AB包,就要把Include in build 选项禁用掉。但如果禁用,载入UI时会找不到图片所在的图集,无法正常显示图片。所以Unity又提供了Late Binding功能。就是在使用某一图集中的图片资源之时,会先发出一个事件,告诉你我要用的图片在哪个图集资源中,事件中有个回调函数,你要做的就是在回调中传入这个图集资源,这样Unity就得到了这个图集,可以正常显示图片了。

我们要做的就是在脚本中注册 SpriteAtlasManager.atlasRequested += RequestAtlas; 回调,在需要某个图集中的Sprite时,会在回调中传入此图集的名称,我们只需载入此图集即可。

using UnityEngine;
using System.IO;
using System.Collecti
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值