я пытаюсь загрузить уже созданный объект FBX на сцену во время исполненияДинамическая загрузка 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);
}
}
И у меня есть ошибка
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)
Я нашел для чего это, потому что www.assetBundle == null Любые идеи для решения этой проблемы есть? Читая форум, я понял, что мой код такой как нормальный.
ULR, например, им пытаются использовать файл: /// C: /test.FBX –
его, потому что ваш код, очевидно, для загрузки пакет активов, а не отдельный актив, как вы пытаетесь сделать. Также '.obj' не является' .fbx' – maksymiuk
Unity [комплекты активов] (http://docs.unity3d.com/Manual/AssetBundlesIntro.html) - очень специфический тип предварительно созданного файла. Кажется, вы не загружаете правильный тип файла для операций, которые вы используете. – rutter