Загрузка AssetBundle из URL - PullRequest
       10

Загрузка AssetBundle из URL

0 голосов
/ 04 октября 2019

Я пытаюсь загрузить сервер форм Assebundle.

Мои ресурсы активны по URL. Прямо сейчас моя игра в редакторе на платформе webgl.

Мой скрипт загрузки assetbundles:

[Obsolete]
IEnumerator Start()
{
    while (!Caching.ready)
        yield return null;

    using (var www = WWW.LoadFromCacheOrDownload("http://dev71.onlinetestingserver.com/assetBundles/cube", 5))
    {
        yield return www;
        if (!string.IsNullOrEmpty(www.error))
        {
            Debug.Log(www.error);
            yield return null;
        }
        var myLoadedAssetBundle = www.assetBundle;
        var asset = myLoadedAssetBundle.mainAsset;
        Instantiate(www.assetBundle.LoadAsset("cube"));
    }
}

, но выдает ошибку:

NullReferenceException: ссылка на объект не установленак экземпляру объекта LoadAssetBundles + d__0.MoveNext () (at Assets / LoadAssetBundles.cs: 76) UnityEngine.SetupCoroutine.InvokeMoveNext (перечислитель System.Collections.IEnumerator, System.IntPtr returnValueAddresss) / на C:build / Runtime / Export / Scripting / Coroutines.cs: 17)

Я просто хочу, чтобы, когда я играю в свою игру, она отлично загружала набор ресурсов. Я уже создал пакеты активов.

1 Ответ

0 голосов
/ 04 октября 2019

Вы не проверяете это на ноль.

using (var www = WWW.LoadFromCacheOrDownload("http://dev71.onlinetestingserver.com/assetBundles/cube", 5))
{
    yield return www;  <--- www MIGHT BE NULL
    if (!string.IsNullOrEmpty(www.error))
    {
        Debug.Log(www.error);
        yield return null;
    }
    var myLoadedAssetBundle = www.assetBundle; 

    var asset = myLoadedAssetBundle.mainAsset; <--- www.assetBundle MIGHT BE NULL
    Instantiate(www.assetBundle.LoadAsset("cube"));
}
...