当前位置: 首页 > news >正文

p2p网站做牛建e网模型官网

p2p网站做牛,建e网模型官网,家具展示网站源码,图片在线设计项目遇到了一个性能问题#xff0c;需要优化UI。其中就涉及UI的合批问题#xff0c;其中自然而然就会关联到图集的概念。旧版图集#xff0c;Legacy Atlas#xff0c;还没有太研究。今天主要看一下SpriteAtlas怎么使用的。 因为我们项目资源工程和Runtime是分离的#xf…项目遇到了一个性能问题需要优化UI。其中就涉及UI的合批问题其中自然而然就会关联到图集的概念。旧版图集Legacy Atlas还没有太研究。今天主要看一下SpriteAtlas怎么使用的。 因为我们项目资源工程和Runtime是分离的所以所有的资源都需要通过AssetBundle加载。 我们做个Demo工程 一个prefab有三个Image分别引用了三个Card文件夹下的图片 Card目录如下 然后我们把prefab单独打一个包把Cards单独打一个包。 这里先记录一下打包的大小然后用AssetStudio看一下ab包里的组成 在运行时我们通过AssetBundle把prefab加载出来 可以看出来图片是没有合批的因为没有打图集. 然后我们建立一个图集把Cards拖动进去 这里勾上Include in Build。让图集自动引用打进AB包 再次构建 发现Card的大小变小了。但是在Manifest里是看不到任何跟图集有关的信息的那我们用AssetStudio打开看一下可以看到图集确实在AssetBundle里了 运行时 可以看到已经正确合批了。 不过请注意我是在Editor上测试的需要再ProjectSetting里打开Atlas的Always Enabled才能看到效果。不管是不是用AB包加载的。 这个时候我们换一下尝试如果我们勾选Include in Builds的同时并且把Atlas的这个图集也打成AB包会怎么样 可以看到本来在card里的图集信息跑到了atlas里 通过manifest的引用关系可以看到。Card没有引用atlas而是atlas引用了Card。好。那么我们进游戏再加载prefab注意。prefab只引用了card。二者都没有引用atlas我们看看会不会有用 结果是正常加载了这就很奇怪。谁加载的AssetBundle啊我们通过MemoryProfiler发现 有一张大图集被一个叫CachedSpriteAtlasRuntime的引用着。根据之前查的资料该不会是缓存吧。或者我的Editor下数据被关联了于是我把工程里的Atlas文件删掉只保留ab包里的果然效果就不对了 这就比较纠结了。Editor下的资源竟然参与Build了。这就没办法了。那只能打包测试了打包成andorid以后测试果然还是白色的 因为打包成AB以后实际上是需要自己去处理这个bundle依赖的。所以在加载Prefab之前先把atlas的AssetBundle也Load出来显示就正确了。 好。现在再考虑一个问题如果我不勾选Include in Builds会怎样。我们做个测试 变成白色了即便我们提前加载了Atlas的AssetBundle还是不行。 但是这个时候是触发了官方说的延迟绑定回调了 其实在上一步如果你不提前加载AssetBundle也会触发延迟绑定回调 我们处理下延迟绑定的内容 加上代码以后 private void Awake(){SpriteAtlasManager.atlasRequested OnAtlasRequested;}private void OnAtlasRequested(string atlasName, ActionSpriteAtlas callback){Debug.LogError(AtlasRequested);_atlas AssetBundle.LoadFromFile(Application.streamingAssetsPath /atlas);SpriteAtlas atlas _atlas.LoadAssetSpriteAtlas(atlasName);callback(atlas);} 可以看到在手机上或者在Editor上如果你删除了对应的图集就会触发这个延迟绑定回调。这个时候你需要把SpriteAtlas回调回去才可以正确显示如下图所示 可以看到中间加载是有一帧是白色的一点都不平滑。所以这种方式其实不是很推荐。 好了至此为止我们已经完成了对Atlas的测试下边进行总结一下包括认为的最佳实践 1、SpriteAtlas在AB包统计引用的时候不会被正确统计依赖SpriteAtlas会引用贴图但是Prefab和贴图本身不会依赖SpriteAtlas所以如果SpriteAtlas单独打就需要做额外的引用关系维护处理。 2、所以怎么办呢每个UI单独建立一个文件夹来存放预制上美术的直接引用非通过代码动态加载并设置sprite的情况然后直接把SpriteAtlas打在这个文件夹内可以通过代码去创建SpriteAtlas来做自动化。不知道的可以自己搜一下。然后对这个整个文件夹打成一个AB包这样预制加载的时候会引用到里边的图片图片所在的ab加载了里边的SpriteAtlas也会被正确引用到。它俩生命周期是一致的没必要单独打。 完结
http://www.pierceye.com/news/354900/

相关文章:

  • 网站地图提交给百度证券公司如何拉客户
  • 做外贸有哪些免费的网站win7优化大师好不好
  • 网站功能怎么写上海网站制作建设怎么样
  • 网站域名是网站架构吗成都网站搭建优化推广
  • 自己做的网站添加交费功能合肥有什么好的网站建设公司好
  • 做网站品牌龙岩新增病例行动轨迹
  • 任家房网站建设郑州百度网站推广
  • 深圳建设网站的公司简介WordPress多功能投稿
  • 简述织梦网站上传及安怎样在网站上做免费的推广
  • 关于信用体系建设的网站wordpress新闻类模板下载
  • 免费行情软件网站下载大全爱学校vi设计案例
  • 网站外包优化怎样做免费抽皮肤的网站
  • 东八区网站建设网站源码在哪里
  • 重点建设专业 专题网站搜狗官方网站
  • 微信营销工具有哪些使用最佳搜索引擎优化工具
  • 网站推广意识薄弱wordpress授权协议
  • 用php做高中数学题库网站阿里网站建设教程
  • 大兴网站建设公司电话东莞企业网站制作怎么做
  • 网站维护有啥用2021跨境电商最火的产品
  • 专业的东莞网站排名wordpress 客户端使用
  • 做网站需要什么人才网站建设与规划案例
  • 你学做网站学了多久建设网站困难的解决办法
  • 东莞如何搭建网站建设做招聘信息的网站
  • 网站行业认证怎么做安卓开发技术
  • 泉州城乡住房建设厅网站网站运营方案ppt
  • 免费做网站wxp114五种常用的网站推广方法
  • 简单的网站建设找哪个公司新网站seo技术
  • 电子网址怎么创建下载优化大师app
  • 网站上传服务器教程wordpress 开启多用户
  • 做网站的公司重庆互联网营销方式