1.将打包的资源做成prefab,修改prefab的AssetBundle;
2.在Assets下新建Editor文件夹,在Editor下新建打包脚本;
using UnityEditor;
using System.IO;
public class CreateAssetBundles
{
[MenuItem("Assets/Build AssetBundles")]
static void BuildAllAssetBundles() //按照标签打包所有资源
{
string dir = "AssetBundles";
if (Directory.Exists(dir) == false)//判断在根目录下是否含有AssetBundles文件夹,如果没有,进行创建
{
Directory.CreateDirectory(dir);
}
BuildPipeline.BuildAssetBundles(dir, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);//注意平台的选择,这里选择PC端运行,
//可选择安卓或iOS等
}
}
3.会将资源打包到根目录下的Asset Bundle文件夹;
4.Build Asset Bundles
1),dir为Build的路径(随意只要是在硬盘上都可以的)
2),BuildAssetBundleOptions
BuildAssetBundleOptions.None:使用LZMA算法压缩,压缩的包更小,但是加载时间更长。使用之前需要整体解压。一旦被解压,这个包会使用LZ4重新压缩。使用资源的时候不需要整体解压。在下载的时候可以使用LZMA算法,一旦它被下载了之后,它会使用LZ4算法保存到本地上。
BuildAssetBundleOptions.UncompressedAssetBundle:不压缩,包大,加载快
BuildAssetBundleOptions.ChunkBasedCompression:使用LZ4压缩,压缩率没有LZMA高,但是我们可以加载指定资源而不用解压全部。
注意使用LZ4压缩,可以获得可以跟不压缩想媲美的加载速度,而且比不压缩文件要小。