Я делаю игру для webgl. Но когда я загружаю наборы ресурсов по ссылке, а затем загружаю их в игру, появляется ошибка.
ошибка: не удалось распаковать данные для AssetBundle 'Memory'. UnityEngine.WWW: get_assetBundle ()
NullReferenceException: для ссылки на объект не задан экземпляр объекта DownloadScript + d__2.MoveNext () (at Assets / DownloadScript.cs: 27)
Когда язагрузить ресурс из моей системы (локальный), он загрузит его отлично. Но когда я загружаю его по действующей ссылке, он не загружается.
Это мой код для загрузки с сервера
'' '
public class DownloadScript : MonoBehaviour
{
public string url;
// Start is called before the first frame update
[System.Obsolete]
void Start()
{
StartCoroutine(DownloadModel());
}
[System.Obsolete]
IEnumerator DownloadModel()
{
WWW wwws = new WWW(url);
yield return wwws;
//UnityWebRequest www = UnityWebRequest.GetAssetBundle();
//yield return www.SendWebRequest();
AssetBundle assetBundle = wwws.assetBundle;
Instantiate(assetBundle.LoadAsset("cube"));
}
' ''
Код для загрузки из локальной системы:
' ''
AssetBundle myLoadedAssetbundle;
public string path;
public string bundleAsset;
void Start()
{
LoadAssetBundle(path);
//InstantiateObjectFromBundle(bundleAsset);
StartCoroutine(DownloadAndCache(path));
}
void LoadAssetBundle(string bundleUrl)
{
myLoadedAssetbundle = AssetBundle.LoadFromFile(bundleUrl);
//myLoadedAssetbundle = AssetBundle.
Debug.Log(myLoadedAssetbundle == null ? "Failed to load AssetBundle" : "AssetBundle Succesfully Loaded");
}
void InstantiateObjectFromBundle(string assetName)
{
var prefab = myLoadedAssetbundle.LoadAsset(assetName);
Instantiate(prefab);
}
'' '