您的位置:首页 > 其它

AssetBundle5.3.4依赖包加载流程

2016-05-17 18:31 375 查看
最近又开始了打包过程的代码编写,下面是打包过程的代码,完全参考网上一前辈的,出处已经忘记了。

using UnityEngine;

using System.Collections;

using UnityEditor;

using System.IO;

using System.Collections.Generic;

public class BuildAssetBundleAttach

{

[MenuItem("JSTool/Build AssetBundle Attached")]

static public void BuildAssetBundle()

{

BuildPipeline.BuildAssetBundles(GetOutPutPath(), 0, EditorUserBuildSettings.activeBuildTarget);

}

static public string GetOutPutPath()

{

string path = Application.streamingAssetsPath + "/AssetBundles/" + GetPlatformFolderForAssetBundles(EditorUserBuildSettings.activeBuildTarget);

if (!Directory.Exists(path))

{

Directory.CreateDirectory(path);

}

return path;

}

平台选择部分:



时实运行的时候如下:



只要设置了assetBundleName的资源,都将会打成包,至于文件夹方面的摆放等,都可以自己再重新设定,接下来要做的工作就是

将这些打包好的资源通过AssetbundleManifest文件来加载出来,过程如下:

using UnityEngine;

using System.Collections;

using System.Xml;

using System.Collections.Generic;

using System.Linq;

public class LoadAssetBundlesTest :MonoBehaviour

{

private string url;

private string assetName;

private string assetBundleName;

private string manifestName;

AssetBundleManifest manifest;

void Start()

{

InitializeAssetBundlePath();

StartCoroutine(LoadAssetBundleManifest());

}

void OnGUI()

{

if (GUILayout.Button("加载依赖包"))

{

StartCoroutine(LoadAssetBundleAsGameobject("shexiangtou", "Object007", 1));

}

}

void InitializeAssetBundlePath()

{

#if UNITY_EDITOR

url = "file://" + Application.streamingAssetsPath + "/AssetBundles/Windows/";

manifestName = "Windows";

#elif UNITY_ANDROID

url = Application.streamingAssetsPath+"/AssetBundles/Android/";

manifestName ="Android";

#endif

}

加载assetbundleManifest文件的方法,代码还是直接上图



下载资源的过程:



加载出来之后进行什么操作可以随便改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: