当前位置:   article > 正文

Unity5 新AssetBundle打包方式 BuildPipeline.BuildAssetBundles

buildpipeline.buildassetbundles

         Unity5增加了新的打包AssetBundle方式-> BuildPipeline.BuildAssetBundles,大体思想是把资源以及依赖项分别打包,并用文本记录它们间的依赖关系,这种方式相对旧版本将资源粗暴的打成一个包来说,带来的好处也显而易见,每个资源以及依赖项都只打包一次不会造成依赖循环(不了解的同学可以看一下Unity AssetBundle爬坑手记 - 夜阑卧听风吹雨),但同时打包后的资源更碎片化,导致加载耗时更多。大家都有复制文件的经验,复制一个包比复制一堆碎文件快(同大小的两份文件)同样道理。

        思想上有点类似李总(李剑英)的资源热更新方案,将资源信息(布局,参数等)解析成文本,使用的时候只需下载文本文件(占用物理内存小),再根据文本文件生成资源。但据我测试,BuildPipeline.BuildAssetBundles执行效率较低,在加载相同prefab的前提下根据文本生成prefab耗时51.59ms,使用BuildPipeline.BuildAssetBundles 加载耗时约118ms。这里只给大家一个大概的参考。


       1.  打包AssetBundle,代码来源http://blog.csdn.net/onafioo/article/details/50969945, 稍作修改增加了自动关联依赖项的方法

  1. using UnityEngine;
  2. using System.Collections;
  3. using UnityEditor;
  4. using System.IO;
  5. /// <summary>
  6. /// 把Resource下的资源打包成.data到OutPut目录下
  7. /// </summary>
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/82140
推荐阅读
  

闽ICP备14008679号