打包assetbundle程序 using UnityEngine; using System.Collections; using UnityEditor; public class AssetBundleTest : Editor { [MenuItem("Custom Editor/WebPlayer")] static void WebPlayer() { Object[] SelectedAsset = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets); foreach (Object obj in SelectedAsset) { string targetPath = Application.dataPath + "/Asset/" + obj.name + ".assetbundle"; if (BuildPipeline.BuildAssetBundle(obj, null, targetPath, BuildAssetBundleOptions.CollectDependencies, BuildTarget.WebPlayer)) { Debug.Log(obj.name + "资源打包成功"); } else { Debug.Log(obj.name + "资源打包失败"); } } //刷新编辑器 AssetDatabase.Refresh(); } [MenuItem("Custom Editor/Android")] static void Android() { Object[] SelectedAsset = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets); foreach (Object obj in SelectedAsset) { string targetPath = Application.dataPath + "/Asset/" + obj.name + ".assetbundle"; if (BuildPipeline.BuildAssetBundle(obj, null, targetPath, BuildAssetBundleOptions.CollectDependencies, BuildTarget.Android)) { Debug.Log(obj.name + "资源打包成功"); } else { Debug.Log(obj.name + "资源打包失败"); } } //刷新编辑器 AssetDatabase.Refresh(); } } 加载程序
using
UnityEngine;
using
System.Collections;
public
class
loadModel : MonoBehaviour
{
public
string
RUL =
null
;
//"file://F:\\1.unity3d";
WWW www;
bool
isDownLoad =
false
;
public
GameObject fatherObject;
void
Start()
{
StartCoroutine(LoadAssetbundle(RUL));
}
IEnumerator LoadAssetbundle(
string
url)
{
// Start a download of the given URL
// 开始从指定路径下载
www = WWW.LoadFromCacheOrDownload(url, 1);
// Wait for download to complete
// 等待下载完成
yield
return
www;
if
(!www.isDone)
{
print(
"123"
);
}
if
(www.error !=
null
)
{
Debug.Log (www.error);
yield
return
null
;
}
// Instantiate([url]www.assetBundle.mainAsset[/url]);
GameObject gameObj = GameObject.Instantiate([url]www.assetBundle.mainAsset[/url], transform.position, Quaternion.identity)
as
GameObject;
gameObj.transform.parent = fatherObject.transform;
}
void
Update()
{
if
(!www.isDone)
{
isDownLoad =
false
;
}
else
{
isDownLoad =
true
;
}
}
void
OnGUI()
{
if
(!isDownLoad)
{
GUI.Label(
new
Rect(720f / 1627.0f * Screen.width, 300f / 915.0f * Screen.height, 200f / 1627.0f * Screen.width, 50f / 915.0f * Screen.height), "正在下载请等待);
}
}
}