管理ab包,首先得创建ab包资源,在unity中创建创建以下脚本,编辑ab包的打包方式以及目标文件夹。
public class CreateAssetBundles
{
static string AssetBundleRootFolderName = "AssetBundles";
[MenuItem("Assets/Build Asset Bundles")]
static void BuildAllAssetBudles()
{
if(!Directory.Exists(AssetBundleRootFolderName))//文件夹不存在,则创建文件夹
{
Directory.CreateDirectory(AssetBundleRootFolderName);
}
BuildPipeline.BuildAssetBundles(AssetBundleRootFolderName, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);
}
}
[MenuItem("Assets/Build Asset Bundles")] 会在Asset目录下,创建Build Asset Bundles选项,点击unity就会生成AB包。
选中需要打包的预制体或者字体、声音、模型、材质等,指定AssetBundle路径以及后缀名。
点击打包后,就会在该路径下生成资源文件。
一个资源打包会生成两个文件,一个ab包资源文件,另一个manifest文件。mainfest文件中保存的是该预制体相关的脚本引用,资源目录、资源依赖以及一些其他信息。
还有一个主manifest文件,会在ab包资源根目录下生成,里面是所有ab包资源的信息以及它的依赖包,后面会使用这个文件,加载ab包相关的依赖资源。
比如图中的modelpanel的预制体,就依赖于材质包common、字体包defaultfont,所以在加载modelpanel的时候,也需要加载common和defaultfont包,不然会导致显示异常。