我们将ab包解开之后,发现一张图片打成ab包里面包含有1张sprite和一张texture2d,这是因为我们没有打图集,unity自动给我们生成了单张图片的图集,这样不利于ui合批。
打包图片
未打图集。一个文件夹,n张图片,打入一个ab包,包内有n张sprite和n张图集texture2d。
未打图集。多个文件夹,n张图片,打入一个ab包,包内有n张sprite和n张图集texture2d。
打图集,一个文件夹,n张图片,打入一个ab包,包内有n张sprite和1张图集texture2d。
打图集,多个文件夹,n张图片,打入一个ab包,包内有n张sprite和1张图集texture2d。
【其中sprite记录小图宽高和在texture图集中的位置】
图集Include in build
该选项,其实就是sprite和图集间的引用关系,不勾选则没有引用关系,需要手动绑定关系,才能正确显示。
不勾选Include in build,需要手动绑定 SpriteAtlasManager.atlasRequested += OnAtlasRequested
勾选Include in build,需要先加载atlas所在ab包到内存,自动绑定,如果没有先加载到内存,同样也需要手动绑定 SpriteAtlasManager.atlasRequested += OnAtlasRequested
对于热更,解决方案是:sprite源文件单独打包,atlas单独打包,prefab单独打包,更新图片时,替换sprite和atlas包即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)