首先要说的是,我们的工程中有2个脚本,分别是:
Build(编辑器类脚本,无需挂载到任何物体),但是必须要把Build脚本放到Editor文件夹中
Load脚本,挂载到摄像机上<pre name="code" class="csharp">using UnityEngine;
using System.Collections;
using UnityEditor;
public class Build : MonoBehaviour
{
// 编辑器类
[MenuItem("Build/BuildAsset")]
// 打包单个资源的方法
static void BuildAsset ()
{
// 将物体打包到/AssetsBundles路径下同时命名为Cube1.assetbundle
string targetPath = Application.dataPath + "/AssetsBundles/Cube1.assetbundle";
// BuildPipeline 打包用 Selection (Selection.activeObject 在编辑器中选中的对象)
// 第二个参数null,是打包多个资源的时候用的,多个资源就是数组,单个资源的时候这个参数不用写
// 第三个参数是路径,你想把这个资源放到什么位置就写什么,并且还要命名为.assetbundl格式
BuildPipeline.BuildAssetBundle (Selection.activeObject, null, targetPath);
// 刷新资源,直接可以在unity中看到刚才打包的东西
AssetDatabase.Refresh();
}
// --------------------------------------------------------------------------------
[MenuItem("Build/BuildMultiAsset")]
// 打包多个资源的时候使用这个方法
static void BuildMultiAsset()
{
// 将物体打包到/AssetsBundles路径下同时命名为Cubes.assetbundle
string target = Application.dataPath + "/AssetsBundles/Cubes.assetbundle";
// 因为打包多个游戏对象,所以是一个数组,typr(Object)表示,只要选择的物体是Object类型就可以
// 并且选择的模式是深度资源搜索&#x