为什么选用动态图集
一般考虑到动态图集,那就是可能项目中零碎的图片过多,导致 DC 合并数量过多和DC过高。而采用动态图集,那么零碎的图片在 Runtime(运行时) 来处理合并成一张 1024(不限制)的大图,从而降低DC数。
动态图集优劣参考
优点:可以非常有效的对DC进行操作。可看下图。
缺点:算法在运行时态,那么会有CPU的冲激,低端机尤其明显(项目UI非常零碎)。
优化前后的对比。
那么我们是否还需要动态图集
最好根据项目需求来进行,如果项目最低运行机型的CPU还不错,那么可以考虑上动态图集。否则题主建议还是老老实实拼UI吧。
网上的动态图集算法很多,题主采用了一个较为简单的方式,就是布局 Rectangle 的方式,每次拼合图片都会生产一些空闲的区域面积。
思路大概是这样的:
大致就是这样,详细说可能要码很多很多字,直接上码云了。(注意!仅仅提供思路,尚不能运用项目,因为可能存在bug,题主并没过多测试)
Unity-DynamicAtlas
就这样了。