AssetBundles

写在最前

有很多想学assetbundle的同学不知如何下手,英文资料看起来有高度,我把他翻译了,后者自取
翻译原址:unity官网assetbundle https://docs.unity3d.com/2017...

资源包

一个assetbundle其实就是一个存档文件(我更觉得它像压缩文件)它包含了很多具体平台的资源(模型,贴图,预制,声音,甚至整个场景)用于在运行时被加载。assetbundles可以明确互相依赖的关系,例如一个assetbundle A中的材质可以引用assetbundle B中的贴图。为了有效率的在网络中进行传输,assetbundles可以被压缩成unity中内置的算法,当然取决于他的用途来要求(压缩格式有LZMA 和 LZ4).

assetbundles 也可以被当做可下载的内容,这样可以减少安装包本身的大小,可以将这部分资源放到服务器去,根据用户的平台去下载相应的资源(因为不同的平台资源是不同的,不能混淆)并且可以减少运行时内存的压力(因为不用将全部的资源一下子加载到内存中去,根据情况需要加载不同的assetbundle)

一个assetbundle包中是什么

这是一个不错的问题,实际上"assetbundle"指的是两个不同的东西,当然是根据需要而决定的

第一个实际上就是存储在磁盘上的文件,我们将它称之为assetbundle压缩文件,更或者是简称存档文件。可以把这个压缩文件想象成一个容器,就好像一个文件夹包含了许许多多额外的的文件,这些额外的文件由两种类型组成,一个是序列化文件另一个则是资源文件本身。这些序列化文件包含了你的资源被变成了自定义object写入的一个文件(这个文件记录了这个assetbundle的信息)。另一个资源文件就是一块一块的二进制数据被分开存储某些资源(texturex,audio)以方便我们可以有效的用线程去从磁盘上加载他们。

第二个指的是当你通过代码去与一个assetbundle对象加载资源从一个具体的assetbundle。assetbundle对象包含了你添加进去的所有资源并由一个对应的映射文件,当你去需要加载一个资源时你需要对它进行请求。

2017-05-15 published

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值