unity中一个图片就会产生一个Draw Call,过多的ui内容与图片就会生成大量Draw Call使得占用内存过多,而对于图片减少Draw Call的办法就是生成图集,生成图集有两个办法一个是使用局外工具TexturePacker:https://www.codeandweb.com/texturepacker
这个是此工具的官方网址。
还有一个办法就是利用unity自带的生成图集办法
首先要Edit下的Project Settings下的Editor栏找到下图我标记的这个并切换成我框选的。
然后将图片切换成下图的格式
然后会出现一个Packing Tag栏,注意:如果没有修改Editor则不会出现
然后在任意一个文件夹右键出现的按钮中选择我框选的按钮
则会出现下图这个,将它的命名修改成你要打图集的名称,注:名称可任意赋值
然后将图片中Packing Tag赋值你修改的名称,注:双方名称必须一致。
然后按下右下角的Apply按钮
然后将要打包图集的图片拖到框选的地方,则图片打包则生成成功
这个时候运行项目则会减少Draw Call,图集的打包也就生成成功了。
图集在项目运行的时候即使只用图集中的一个图片项目也会将整个图集全部加载出来,所以在生成图集的时候要考虑清楚项目中会用到那些图片,别盲目将全部图片生成一个图集,这个时候生成图集就会增加运行所消耗的存储。
图片的加载顺序与Hierarchy中的顺序无关,图片的加载是根据场景中图片所处的深度有关系,然后想查看UI加载的先后顺序可以点击下图中框选的功能项。
打开后点击Enable按钮则胡显示出UI加载的顺序
点击不同的地方则会在Game视图中显示到此位置所加载出来的项,可以更好的查看UI加载顺序。