AssetBundle资源打包
1.AssetLabels资源标签
文件名:资源打包成AssetBundle后的文件名,类似于压缩包的名字
后缀:自定义
文件名和后缀名都是小写格式(大写会自动转为小写)
2. BuildPipeline.BuildAssetBundles(string outputPath, BuildAssetBundleOptions assetBundleOptions, BuildTarget targetPlatform) 打包所有设置了AssetLabel的资源
outputPath:路径,打包出来的AssetBunlde文件存放的位置
BuildAssetBundleOptions:选项,设置AssetBundle打包过程中压缩方式
BuildAssetBundleOptions枚举选项:
None使用LZMA压缩算法进行压缩,打包后资源体积最小
UncompressedAssetBundle不压缩,打包后的AssetBundle体积最大,但是加载速度最快
ChunkBasedCompression使用LZ4压缩算法进行压缩,打包后的AssetBundle体积和加载速度介于上面二者之间
BuildTarget:平台,AssetBundle是平台之间不兼容的,IOS,Android是两套资源
在AssetLabels区域填写AssetBundle名称的时候,名称是可以分目录嵌套的:文件夹名/文件名
AssetBundle打包后的资源包,分两部分组成:
1.资源打包出来的AssetBundle文件
2.AssetBundle文件配套的manifest文本文件
manifest文件
manifest文件用于专门存储打包后的AssetBundle文件的基本信息,主要包含:
CRC校验码:类似于MD5,用于计算出该资源的一个特殊信息标示
ClassTypes列表:当前资源关联使用到了Unity中的哪些类,这些类是以编号索引的形式存在的,每个编号都对应一个类文件
Assets:AssetsBundle里包含了哪些资源文件
Dependencies:依赖
在打包出来的AssetBundle文件中,有一个特殊的manifest文件,和AssetBundle存放的文件夹同名,且只在根文件夹下有唯一的一个
这个manifest文件可以称作"AssetBundle目录文件",它存储了打包出来的所有AssetBundle的文件的索引信息
通过这个目录文件,可以找到所有的AssetBundle文件
AssetBundle资源加载
将项目资源打包成AssetBundle后,一般有两种操作
一.将这些AssetBundle留着项目工程中,当成普通资源使用
二.将这些AssetBundle上传服务器,客户端第一次运行时从服务器下载AssetBundle缓存到本地再使用(实现客户端的安装包与资源分离,降低客户端安装包的体积)
原文:https://www.cnblogs.com/xianguoguo/p/11563893.html