UI图集
打图集的意义
相同图集的UI图片可以合批,减少drawcall优化性能。
开启图集
Project Settings——Editor——Sprite Packer——“Sprite Atlas”。我们测试时可以选择Always。
使用图集
首先,确保Unity已经安装了2D Package。
准备一个文件夹用来保存图集,在文件夹中右键——2D——Sprite Atlas。然后根据图集内容取一个名字。
Master
Master图集是主要集合,其中的Allow Rotation、Tight Packing、Alpha Dilation都是为了减小生成的图集的大小的优化选项。
我们点击面板上的“Objects for Packing”的加号,会发现弹出的选择面板中有提示
1 | t:sprite t:texture2d t:folder |
中间列出了可以直接加进Packing的文件类型,也可以把整个文件夹放进来,比如输入t:folder Icon
就能快速查询到名字为Icon的文件夹。注意,选择文件夹后,文件夹中的子文件夹内的图片也会被识别并加入到图集中。
Variant
Variant图集需要引用Master图集,Variant继承Master图集的属性和Packing列表,Variant图集只有一个Scale属性值得注意,用来生成小倍数的图集。 最后根据不同机型,我们可以设置优化,低端机型使用小图集。
新图集的优点
在Unity2017之前,使用的是Sprite Pack图集打包模式,新版的Unity已经完全弃用了旧版图集。旧版图集需要单独设置每一个UI图片的压缩格式才能让这些UI放进一个图集当中,新版图集并不需要单独设置。
在代码中加载图集
1 | SpriteAtlas atlas = Resources.Load<SpriteAtlas>("Atlas/testAtlas"); |
打图集的基本规则
在UI设计时,尤其是手游,每个界面基本是分开的,开启某个界面时需要关闭之前的界面。
- 一个界面的元素,放到同一个图集内。
- 准备几个公共图集,里面存放经常使用的UI元素。这种公共图集一般也要常驻在内存当中。
- 打进图集内的图,尽量是小图标。大图没有必要放进图集内。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ATAO2017,阿宅创造奇迹!!