在Assets文件夹下的Editor文件夹(如果没有手动创建一个)下创建一个C#脚本,并编辑代码如下。
using UnityEngine;
using System.Collections;
using UnityEditor;
using System.Collections.Generic;
public class ExportAssetBundles : MonoBehaviour {
[MenuItem("当前editor/打包")]
static void CreateAssetBundlesMain()
{
BuildPipeline.BuildAssetBundles("Assets/StreamingAssets", BuildAssetBundleOptions.None, BuildTarget.WSAPlayer);
}
}
上面的代码注意,新版的打包必须指定平台,不同平台的资源包不能通用。Unity5.x以后提供了打包的UI,在inspector面板最下面,可以为不同的资源指定打入assetBundle包的名字和版本。
给每个资源设置对应的包名字和版本。这样就可以将不同资源分别打包。
利用inspector面板设置后,运行菜单 当前editor->打包 即开始打包
因为每个平台打包不通用,因此上面的打包代码可以改进一下:
[MenuItem("当前editor/ANDROID打包")] static void CreateAssetAndroidBundles() { BuildPipeline.BuildAssetBundles("Assets/StreamingAssets", BuildAssetBundleOptions.None, BuildTarget.Android); } [MenuItem("当前editor/APPLE打包")] static void CreateAppleAssetBundles() { BuildPipeline.BuildAssetBundles("Assets/StreamingAssets", BuildAssetBundleOptions.None, BuildTarget.iOS); } [MenuItem("当前editor/UWP打包")] static void CreateUwpAssetBundles() { BuildPipeline.BuildAssetBundles("Assets/StreamingAssets", BuildAssetBundleOptions.None, BuildTarget.WSAPlayer); }
这样,在菜单面板就可以选定打包的平台了,不用每次修改代码,如下图所示:
下一节:处理Assets之间的依赖关系