第一步 导包
在Assets新建一个Editor目录
新建一个Test类
using UnityEngine; using System.Collections; using UnityEditor; public class Test : Editor { //打包单个 [MenuItem("Custom Editor/Create AssetBunldes Main")] static void CreateAssetBunldesMain () { Object[] SelectedAsset = Selection.GetFiltered (typeof(Object), SelectionMode.DeepAssets); foreach (Object obj in SelectedAsset) { string targetPath = Application.dataPath + "/StreamingAssets/" + obj.name + ".assetbundle"; if (BuildPipeline.BuildAssetBundle (obj, null, targetPath, BuildAssetBundleOptions.CollectDependencies)) { Debug.Log(obj.name +"资源打包成功"); } else { Debug.Log(obj.name +"资源打包失败"); } } //刷新编辑器 AssetDatabase.Refresh (); } [MenuItem("Custom Editor/Create AssetBunldes ALL")] static void CreateAssetBunldesALL () { Caching.CleanCache (); string Path = Application.dataPath + "/StreamingAssets/ALL.assetbundle"; Object[] SelectedAsset = Selection.GetFiltered (typeof(Object), SelectionMode.DeepAssets); foreach (Object obj in SelectedAsset) { Debug.Log ("Create AssetBunldes name :" + obj); } if (BuildPipeline.BuildAssetBundle (null, SelectedAsset, Path, BuildAssetBundleOptions.CollectDependencies)) { AssetDatabase.Refresh (); }else{ } } [MenuItem("Custom Editor/Create Scene")] static void CreateSceneALL () { //清空一下缓存 Caching.CleanCache(); string Path = Application.dataPath + "/MyScene.unity3d"; string []levels = {"Assets/Level.unity"}; //打包场景 BuildPipeline.BuildPlayer( levels, Path,BuildTarget.WebPlayer, BuildOptions.BuildAdditionalStreamedScenes); AssetDatabase.Refresh (); } }
选择须要导出的prefab 在菜单中找到Custom Editor
导出就可以,导出的目标目录 为StreamingAssets
show in explore 就能够找到导出的 assetbundle
网络请求资源包
须要注意的是:调用网络请求,须要使用协同 tartCoroutine(load());
load 函数例如以下
private IEnumerator load() { WWW www = new WWW("http://localhost/model/Cube.assetbundle"); yield return www; print("load complate:------------------------------------"+Time.time); }
unity 打包资源及网络请求资源包,布布扣,bubuko.com
原文:http://www.cnblogs.com/blfshiye/p/3756399.html