Unity WebRequest 从网络下载AssetBundle

发布于 2023-04-10  256 次阅读


可以使用 UnityWebRequest 类来加载网络上的 AssetBundle。下面是一个简单的示例代码,它展示了如何加载名为 "mybundle" 的 AssetBundle:

using UnityEngine;
using UnityEngine.Networking;

public class LoadAssetBundle : MonoBehaviour
{
// AssetBundle 的 URL
string bundleURL = "https://www.example.com/mybundle";
IEnumerator Start()
{
    // 使用 UnityWebRequest 加载 AssetBundle
    using (UnityWebRequest www = UnityWebRequestAssetBundle.GetAssetBundle(bundleURL))
    {
        yield return www.SendWebRequest();

        if (www.result == UnityWebRequest.Result.Success)
        {
            // 加载 AssetBundle
            AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(www);

            // 从 AssetBundle 中加载资源
            GameObject obj = bundle.LoadAsset<GameObject>("myPrefab");
            Instantiate(obj);
        }
        else
        {
            Debug.Log(www.error);
        }
    }
}

}