在Unity安装目录Editor\Data\Tools下有许多可用的命令行工具,这里介绍两个跟AssetBundle有关的工具!
该工具可以将普通的AB解开为一个 CAB-<GUIDString> 的二进制文档;也可以将Scene的AB解开为 BuildPlayer-<SceneName> 和 BuildPlayer-<SceneName>.sharedAssets的二进制文档。BuildPlayer-<SceneName> 和 CAB-<GUIDString> 对应的就是 Profiler分析器 里面 Others/SerializedFile 里面的名字,还有一些后缀为 .resS 的文件。 用命令行操作一下
得到三个版本信息和Size信息。然后会得到同目录下生成同名目录,里面是个二进制文件
Size大小由AB包的header+chunk block+stream block组成。假如要加载一个AB内某个资源,要先读取header里该资源所在的chunk,然后再解压再加载。
cmd命令:binary2text.exe inputbinaryfile [outputtextfile] [-detailed] [-largebinaryhashonly] [-hexfloat]
outputtextfile命令可选,不写就在同目录
_hexfloat参数能够准确显示Transform的浮点精度,假如一个prefab的transform某些数据变了打包的时候它的包体也会变!
AssetBundle的SerializedFile是包体的头信息,记录了一个包体加载出来所必须的重建信息。仅仅是从磁盘加载该包体的头信息。
影响内存SerializedFile大小的几项:
能做的事情就是DisableWriteTypeTree,然后更新版本。
原文:https://www.cnblogs.com/baolong-chen/p/13414296.html