AssetBundle
- Unity
- 2024-04-08
- 551热度
- 0评论
-
File Guid确保了资产在整个Unity工程中唯一,Local确保了Object在资产中唯一.InstanceID能够让Unity快速找到资产中的Object.
-
AssetBundle(资产文件),,包含两部分:包头和数据段
-
包头:包含有关AssetBundle的信息,比如标识符、压缩类型、内容清单(?? 与manifest的区别).内容清单是一个以ObjectsName为键的查找表,表中的每个数据都提供一个字节索引用来查找对应的Object(并非Asset)在数据段中的位置(平衡搜索树和红黑树算法查找).
-
数据段包含通过序列化AssetBundle中的Assets而生成的原始数据
-
-
AssetBundle的压缩方式:
-
LZMA格式: 压缩的AssetBundle体积最小(高压缩比),会对所有序列化Assets后的完整字节数组进行压缩,但是相对的会增加解压的时间.
-
LZ4格式:压缩的AssetBundle体积较大,会单独压缩单独的Assets的字节.
-
不压缩:体积最大,但访问的速度最快,数据段将保持为原始字节流.
-
-
加载AssetBundle的四个API
-
AssetBundle.LoadFromMemory(Async optional)
-
AssetBundle.LoadFromFile(Async optional)
-
UnityWebRequest's DownloadHandlerAssetBundle
-
WWW.LoadFromCacheOrDownload (on Unity 5.6 or older)
-
-