有不少想学assetbundle的同窗不知如何下手,英文资料看起来有高度,我把他翻译了,后者自取
翻译原址:unity官网assetbundle https://docs.unity3d.com/2017...html
一个assetbundle其实就是一个存档文件(我更以为它像压缩文件)它包含了不少具体平台的资源(模型,贴图,预制,声音,甚至整个场景)用于在运行时被加载。assetbundles能够明确互相依赖的关系,例如一个assetbundle A中的材质能够引用assetbundle B中的贴图。为了有效率的在网络中进行传输,assetbundles能够被压缩成unity中内置的算法,固然取决于他的用途来要求(压缩格式有LZMA 和 LZ4).算法
assetbundles 也能够被当作可下载的内容,这样能够减小安装包自己的大小,能够将这部分资源放到服务器去,根据用户的平台去下载相应的资源(由于不一样的平台资源是不一样的,不能混淆)而且能够减小运行时内存的压力(由于不用将所有的资源一会儿加载到内存中去,根据状况须要加载不一样的assetbundle)服务器
这是一个不错的问题,实际上"assetbundle"指的是两个不一样的东西,固然是根据须要而决定的网络
第一个实际上就是存储在磁盘上的文件,咱们将它称之为assetbundle压缩文件,更或者是简称存档文件。能够把这个压缩文件想象成一个容器,就好像一个文件夹包含了许许多多额外的的文件,这些额外的文件由两种类型组成,一个是序列化文件另外一个则是资源文件自己。这些序列化文件包含了你的资源被变成了自定义object写入的一个文件(这个文件记录了这个assetbundle的信息)。另外一个资源文件就是一块一块的二进制数据被分开存储某些资源(texturex,audio)以方便咱们能够有效的用线程去从磁盘上加载他们。线程
第二个指的是当你经过代码去与一个assetbundle对象加载资源从一个具体的assetbundle。assetbundle对象包含了你添加进去的全部资源并由一个对应的映射文件,当你去须要加载一个资源时你须要对它进行请求。翻译
2017-05-15 published3d