Unity5 AssetBundle的一些整理(一)

最近整理一些AssetBundle的知识,包括AB的打包(差异包),读取等。是一个比较大的功能点,在这记录一下,以免后面自己也乱了。要是有什么错误的地方欢迎各位看客指出。第一篇的话就说说AB最基础的实现。


首先当然是什么是AssetBundle,网上有很多的详细介绍,我个人的理解就是,AssetBundle指把Asset资源例如,Texture图片,Prefab预设,Animation动画这些打包成一个个的Bundle。然后在代码中就可以根据路径获取到这些Bundle,解析出里面的Asset用于使用。

代码中读取工程中的资源,还有一种方法是Resources.Load()读取Asset/Resources文件夹下面的资源。或者是Editor环境下的UnityEditor.AssetDatabase.LoadAssetAtPath()。至于为什么要这么麻烦的将资源打包成AB文件再去动态读取,最主要的目的就是为了可以热更新资源。

举个例子:当你的游戏上线了,有一天你觉得你的登录界面的按钮不好看,想替换下登录界面的样式。这时你可能需要在自己的项目工程中替换好样式然后出一个新的apk或app包,然后去走包体更新的流程。这样明显十分的麻烦,想想苹果爸爸的审核流程就望而却步。AB就可以解决上面的这个问题,首先在游戏上线前,先将你的登录界面打包成LoginAB资源,然后使用代码读取这个AB资源里面的UI显示在界面上。当你需要更新界面的时候,你只要把修改后的界面打成一个新的LoginAB,放到你的服务器上,游戏启动的时候在服务器下载新的LoginAB放入手机的可读取目录中(例如IOS的Documents下),当要显示登录界面的时候,先判断手机的可读取目录中是否有新的LoginAB,有的话则读取该AB,不然读取包体内原本的LoginAB。这样进入游戏你的登录界面就是最新的界面了(当然启动游戏下载服务器上的AB和读取下载下来的AB这块的逻辑需要预先写好哈)。

大致了解了AB的作用后,那么接下来要做的就是如何用代码实现上面的这些功能,资源的打包,读取,下载,热更新等等。


下面列一些需要的知识点:

(1)unity5.0之后所有的资源都多了一个新的属性A

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值