使用Unity2017打包AssetBundle的简单方法
使用Unity2017打包AssetBundle的简单方法
AssetBundle是unity里的一种资源管理方式,它可以将unity中的资源导出,例如模型、贴图、预制体等。使用AssetBundle可以动态加载资源,便于游戏资源的管理与更新。
一、添加打包函数
将下列脚本放在Editor目录(若没有,则新建一个Editor文件夹)下:
public class AssetBundle {
[MenuItem("Custom Editor/Build Asset Bundles")]
static void BuildABs()
{
string path = "Assets/StreamingAssets";
if(Directory.Exists(path)==false)
{
//判断文件路径是否存在,若不存在,创建文件
Directory.CreateDirectory(path);
}
BuildPipeline.BuildAssetBundles(path, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows);
}
}
二、在unity中新建AssetBundle
选中一个prefabs,可以在右侧的Inspector面板下侧看到:
点击none,新建一个AssetBundle,可以使用/来添加子目录,例如all/wall,
其中后缀名是自己定义的。
三、打包AssetBundle
在菜单栏上可看到一个Custom Editor目录,点击Build AssetBundle,打包完成。
然后在StreamAsset中可以找到打包的文件,查看其中的manifest文件,可以看到打包出的文件信息。
四、打包文件分析
在我们的打包文件夹中StreamingAssets中有四个文件,如图所示:
all.unity3d是我们打包出的文件。
all.unity3d.manifest是一种文本文件,里面存储的是我们打包到all.unity3d中的资源信息。
StremingAssets与我们命名的文件夹相同,它的mainifest文件中包含的是该文件下所有打包文件的信息(该例子中只有一个打包文件)
文件具体信息如下: