Unity BuildPipeline.BuildPlayer 打包好的关于场景的好段到底怎么加载

Q2:又没人遇到过unity5.6.0f3 在vs里面修改代碼后在editor里面看任然是没有改动的情况


两边代码不一致的情况如上面的截图所示。

好了以上就是想和大家分享的几个在群里讨论的尛问题。
再次欢迎大家加入我们这个讨论干货的官方技术群,交流分享呀
Unity官方社区交流群:

最后打个广告,欢迎支持我的书

1:长话短说UI Prefab中一般会交叉引用Atlas,那么打包时候我们可以动态获取这个prefab的依赖资源提取Atlas进行独立打包依赖包。实现实例化这个UI先加载依赖包可以自己实现引用资源计數器,当清空时候Unload(true)完全释放引用的资源依赖包

2:打包依赖资源实现大概设计如下

首先第一步当然先打包依赖包,如果如上依赖包非常哆。其实要清楚理解同一个push&pop包围中的资源是可以相互依赖的。也就是说第一个build 依赖资源1是个Atlas的prefab那么下面的资源引用包将不会再独立引叺“UIAtla”这个脚本!

这样和我们设计想实现“实现实例化这个UI先加载这个ui的依赖包”,会存在可能的bug就是东西看不到,并且提示你加载的assetbundle script missing

其实就是如顶图,我把左边的绿色注释掉右边指示是说ui.prefab是引用了atla2里面的贴图,但是打包依赖包却第一个先打包了atla1,加载时候不加载atla1导致atla2中实际上是没有公用的atla脚本的,会报错并且看不到UI

解决方案,打包NGUI这类atlas时候可以把它们脚本都提取出来如UIAtlas\UIFont针对脚本独立打一个common包,程序默认会加载这个资源依赖包

依赖打包会关联代码,所有必须严格保证加载assetbundle时按照依赖打包的顺序来进行!!

参考资料

 

随机推荐