Unity图集简介及使用
定义
图集是将很多零碎的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,图集建立完成。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)