AssetBundle介绍

在网上说的:
所有资源的一个容器,像Zip压缩包一样,这些资源都可以在运行时进行加载。
压缩选项:Uncompressed、LZMA、LZ4
自身保存着互相的依赖关系。

两种类型:
场景Bundle、松散的Bundle

自己实践的:
当导出AB后会生成两个文件。


1.AssetBundle文件:是二进制的,看不懂。
2.Mainfest文件:记录CRC、Hash、包含资源以及依赖的AssetBundle文件

官方给的AssetBundle的文件结构:


想要了解里面是什么怎么做呢?


(此处拿普通的AB为例,场景AB会生成BuildPlayer-<SceneName>和BuildPlayer-<SceneName>.sharedAssets)
通过 WebExtract 和 Binary2Text 查看AssetBundle文件的内部。(路径:Unity\Editor\Data\Tools)
使用命令:WebExtract路径 + assetbundle文件路径。



解压成功会有如上提示,并在该目录生一个xxx_data的文件夹。
文件夹内有一个 CAB-<GUIDString> 的二进制文件。

再使用命令:Binary2Text路径 + CAB-<GUIDString>文件路径 + -detail

成功后会生成一个txt文本文件,打开后可以看到三个结构。
1.External References

2.AssetBundle

对应上图结构的 Assetbundle 块

内容:
a.m_Name:名称
b.m_PreloadTable:一张表(fileID 是依赖的索引,对应上面的Extern References,pathID 是本文件的唯一ID)

c.m_Container:(资源列表,first是key second是value,通过 preloadIndex 与 preloadSize)

d.m_MainAsset:(4.x的时候用的,现在没啥用)

3.Object

对应上图的 Object 块

里面就是Object的具体信息。


这样就和上面的结构对应上了。

可用工具:
AssetBundle Graphic Tool:打包
AssetBundle Browser Tool:浏览内容
AssetBundle Inspector:查看包的内容

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容