ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Unity图集简介及使用

2021-08-12 21:33:04  阅读:285  来源: 互联网

标签:简介 DrawCall Unity 文件夹 UI 大图 图集 图片


定义

图集是将很多零碎的2D小图整合成一张大图,方便unity渲染合批,降低渲染消耗。

优势

1.UI的合批处理,减少DrawCall

多张图片需要多次DrawCall,合并成一张大图只需要调用一次DrawCall

2.减少对内存的占用

OpenGL每张贴图都需要设置为2的N次方才能使用,假设有宽高分别为100x100、10x10的两张图片,如果不合成大贴图,那么就需要分别使用128x128和16x16的图片,会浪费一部分内存空间。

如果是使用一张大图的话,就可以将两张图片打到128x128的图集,进而减少内存的占用。

3.提升效率

图片尺寸为2的次幂时,GPU处理起来会快很多,小图不可能做不到每张图都是2的次幂的,但打成一张大图就可以。

图集整理策略

1.尽量紧凑,大小不要超过512x512

2.Draw Call尽量少,同一个界面的小图尽量在一个图集里

3.内存管理方便,加载性能好,打开一个界面时只加载必要的图集,关闭时可以方便地释放图集

4.AssetBundle打包、热更粒度合理,不能出现“热更一个新界面,大量图集都需要热更”的情况

5.设计UI时要考虑重用性,将边框、按钮等共享资源,放在1~3张大图集中,作为重用图集;

6.其它非重用UI按照功能模块进行划分,每个模块使用1~2张图集,作为功能图集;

7.对于部分UI,如果同时用到功能图集与重用图集,但是其功能图集剩下的“空位”较多,则可以将重用图集中用到的元素单独拎出来,合入功能图集中,让UI只依赖于功能图集。通过一定的数据冗余,来实现性能的提升;

注意控制图集的大小,不要让图集太大,一个超级大图集的DrawCall消耗或许顶的上十几个小图集的消耗

使用

1.Edit → Project Setting → Editor → Project Settings

→Sprite Packer

三种模式

Disabled表示不启用它,

Enabled For Builds 表示只有打包的时候才会启用它,

Always Enabled 表示永远启用它。

设置Always Enabled

2.在Assets下的Images文件夹建立一个图片文件夹test,将集中到图集的图片放置到此文件夹中

3.右键—>Create–>Sprite Atlas,命名为test

4.选择Buttons图集,在Objects for Packing中选择图片文件夹test

点击Pack Previes,图集建立完成。

参考资料

【内存优化】图集整理策略

Unity SpriteAtlas的学习

Unity图集的创建与简单的使用(上)

标签:简介,DrawCall,Unity,文件夹,UI,大图,图集,图片
来源: https://www.cnblogs.com/ZTianming/p/15134951.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有