2017-07-18 150 views
0

我正在加载资产包到图像目标(vuforia),它的工作与像立方体等小东西等,但我有加载更大的AssetBundle问题。加载AssetBundle在统一 - 您要实例化的对象为空

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) 

回答

0

请检查资产名称“bus”是否正确。由于资产名称不正确,我得到同样的错误。