设置AssetBundle
想要打包一个AssetBundle我们应该如何处理呢,Unity为我们提供了比较方便的方法,我们使用
BulildPipeline.BuildAssetBundles()进行打包。
步骤:
(1)选择需要打包的资源,写入资源名以及后缀名
(2)资源存放目录,我们经常使用的时StreamingAssets目录
(3)编写自动打包的函数(通常是对编辑器进行扩展)
[MenuItem("Assets/My Tools/BuildAssetBundle")]
static public void BuildAssetBundle()
{
string outPath = Path.Combine(Application.dataPath,"StreamingAssets");
if (Directory.Exists(outPath))
{
Directory.Delete(outPath,true);
}
Directory.CreateDirectory(outPath);
//构建AssetBundle
BuildPipeline.BuildAssetBundles(outPath,BuildAssetBundleOptions.ChunkBasedCompression,BuildTarget.StandaloneWindows);
//对资源进行刷新
AssetDatabase.Refresh();
}
对该函数的解答:BuildPipeline.BuildAssetBundles();
使用该函数对资源进行打包,我们需要提供三个参数,
第一,Path(打包后资源的输出路径,资源存放路径)
第二,压缩格式
常用的压缩格式有:
(1) LZMA:如果没有特殊指定,默认是这种格式。
优点:Bundle会被压缩的非常小。
缺点:每次使用都需要进行解压,可能会造卡顿
(2)BuildAssetBundleOptions.UncompressdAssetBundle
这是一种不压缩的格式
优点:加载速度非常快,一般不会造成卡段
缺点:因为没有进行压缩,包体一般是比较大;我们也可以使用第三方工具进行压缩,需要使用时,先使用第三方工具进行解压,然后使用
(3)BuildAssetBundleOptions.ChunkBasedCompression LZ4压缩方式
这是一种处于压缩和不压缩的中间的一种方式,自然性能也是处于二者之间。