Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 运行时动态加载FBX_C#_Unity3d - Fatal编程技术网

C# 运行时动态加载FBX

C# 运行时动态加载FBX,c#,unity3d,C#,Unity3d,我试图在运行时将已创建的FBX对象加载到场景中 我的代码在这里 void Start() { string url = "http://everyday3d.com/unity3d/obj/monkey.obj"; StartCoroutine(DownloadAssetBundle<GameObject>("monkey", url, 1)); } public IEnumerator DownloadAssetBundle<T>(string as

我试图在运行时将已创建的FBX对象加载到场景中

我的代码在这里

void Start()
{
    string url = "http://everyday3d.com/unity3d/obj/monkey.obj";
    StartCoroutine(DownloadAssetBundle<GameObject>("monkey", url, 1));
}


public IEnumerator DownloadAssetBundle<T>(string asset, string url, int version) where T : UnityEngine.Object
{
    using(WWW www = WWW.LoadFromCacheOrDownload (url, version))
    {
        yield return www;
        if (www.error != null)
            throw new Exception(www.error);
        AssetBundle assetBundle = www.assetBundle;

        var Object = assetBundle.LoadAsset(asset, typeof(T));
        Instantiate(Object);
        assetBundle.Unload(false);
    }
}
void Start()
{
字符串url=”http://everyday3d.com/unity3d/obj/monkey.obj";
Start例程(下载资产包(“monkey”,url,1));
}
public IEnumerator下载AssetBundle(字符串资产、字符串url、int版本),其中T:UnityEngine.Object
{
使用(WWW=WWW.LoadFromCacheOrDownload(url,版本))
{
收益率;
如果(www.error!=null)
抛出新异常(www.error);
资产组合资产组合=www.AssetBundle;
var Object=assetBundle.LoadAsset(资产,类型(T));
实例化(对象);
资产绑定卸载(假);
}
}
我有个错误

NullReferenceException: Object reference not set to an instance of an object
Loader+<DownloadAssetBundle>c__Iterator0`1[UnityEngine.GameObject].MoveNext () (at Assets/Script/Loader.cs:24)
NullReferenceException:对象引用未设置为对象的实例
Loader+c__迭代器0`1[UnityEngine.GameObject].MoveNext()(位于Assets/Script/Loader.cs:24)
我发现了它是什么,因为www.assetBundle==null
你有什么解决这个问题的办法吗?阅读论坛时,我意识到我的代码是正常的。

这是因为你的代码显然是用于下载资产包,而不是你试图下载的单个资产。另外,
.obj
不是
.fbx

您是否尝试过:

WWW www = new WWW ("http://everyday3d.com/unity3d/obj/monkey.obj");
yield return www;

例如,我尝试使用file:///C:/test.FBXits 因为您的代码显然是用于下载一个资产包,而不是您试图下载的单个资产。另外,
.obj
不是
。fbx
Unity是一种非常特殊的预构建文件。您似乎没有为正在使用的操作加载正确的文件类型。好的,我如何解决我的问题?要建立项目的加载模型吗?非常感谢