从网络中 或者 StreamingAssets 中 加载资源
C# 代码部分
IEnumerator LoadFromWebResquet()
{
string path = Application.streamingAssetsPath + "/Window/Window";
//根据不用平台加 前缀
System.Uri uri = new System.Uri(path);
UnityWebRequest myRequest = UnityWebRequestAssetBundle.GetAssetBundle(uri.ToString());
yield return myRequest.SendWebRequest();
if (string.IsNullOrEmpty(myRequest.error))
{
// 加载到镜像
AssetBundle tmpDependenceBundle = DownloadHandlerAssetBundle.GetContent(myRequest);
//中间 根据 配置文件 去加载 他的 依赖项
// 加载某个Perfable
StartCoroutine(LoadAssetBundle(""));
}
}
IEnumerator LoadAssetBundle(string url)
{
string path = Application.streamingAssetsPath + "/Window/js_wk.ld";
Debug.Log(path);
System.Uri uri = new System.Uri(path);
Debug.Log("url= " + uri.ToString());
UnityWebRequest myRequest = UnityWebRequestAssetBundle.GetAssetBundle(uri.ToString());
yield return myRequest.SendWebRequest();
if (string.IsNullOrEmpty(myRequest.error))
{
//第一块内存 加载 到 镜像
AssetBundle tmpBundle = DownloadHandlerAssetBundle.GetContent(myRequest);
//第二块内存 解压 可以加载 多个子资源
UnityEngine. Object[] allAssets = tmpBundle.LoadAssetWithSubAssets("JS_wukong.prefab");
// 释放镜像
tmpBundle.Unload(false);
// 第三块内存 实例化到场景
GameObject.Instantiate(allAssets[0]);
}
}