在 Unity 中加载资源包 - 要实例化的对象为空



我正在将资源包加载到图像目标(vuforia(,它正在处理立方体等小东西。但是我在加载更大的资产包时遇到问题。

using UnityEngine;
using System.Collections;
using System;
public class loadAsset1 : MonoBehaviour {
void Start () {
WWW www = new WWW("file:///Users/ewasniecinska/Desktop/bus");
//Debug.Log (www.data);
StartCoroutine(WaitForReq(www));
}

IEnumerator WaitForReq(WWW www)
{
while (!Caching.ready)
yield return null;
yield return www;
AssetBundle bundle = www.assetBundle;
if(www.error == null || www.error == "")
{
GameObject trump = (GameObject)bundle.LoadAsset("bus");
Instantiate (trump, new Vector3 (0, 0, 0), Quaternion.identity);
Debug.Log ("Received from Web: " + trump.gameObject);
}
else{
Debug.Log(www.error);
}
}
}

但是当我尝试加载更大的资产时。我遇到了这样的错误,我认为 sricpt 不会等待资产加载,但我不是 100% 确定。

ArgumentException: The Object you want to instantiate is null.
UnityEngine.Object.CheckNullArgument (System.Object arg, System.String message) (at /Users/builduser/buildslave/unity/build/Runtime/Export/UnityEngineObject.cs:238)
UnityEngine.Object.Instantiate (UnityEngine.Object original, Vector3 position, Quaternion rotation) (at /Users/builduser/buildslave/unity/build/Runtime/Export/UnityEngineObject.cs:150)
UnityEngine.Object.Instantiate[GameObject] (UnityEngine.GameObject original, Vector3 position, Quaternion rotation) (at /Users/builduser/buildslave/unity/build/Runtime/Export/UnityEngineObject.cs:205)
loadAsset1+<WaitForReq>c__Iterator0.MoveNext () (at Assets/loadAsset1.cs:28)
UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) (at /Users/builduser/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)

请检查资产名称"总线"是否正确。 由于资产名称不正确,我遇到了同样的错误。

最新更新