Unity5 新AssetBundle打包方式 BuildPipeline.BuildAssetBundles

Unity5引入了BuildPipeline.BuildAssetBundles打包方式,该方法能分别处理资源及依赖,避免依赖循环,但可能导致资源加载时间增加。与传统打包相比,虽然更碎片化,但类似资源热更新的概念。本文讨论了该方法的实现,包括代码示例和加载AssetBundle的过程,同时指出其执行效率相对较低。
摘要由CSDN通过智能技术生成

         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, 稍作修改增加了自动关联依赖项的方法

using UnityEngine;
using System.Collections;
using UnityEditor;
using System.IO;

/// <summary>
/// 把Resource下的资源打包成.data到OutPut目录下
/// </summary>
  • 1
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值