AssetBundle.LoadAsset всегда возвращает NULL - PullRequest
0 голосов
/ 18 мая 2018

Я не могу загрузить актив как Gameobject из комплекта Assest.Возвращается ноль

    yield return www;
    AssetBundle bundle = www.assetBundle;
    if (www.error == null)
    {
        GameObject tv = (GameObject)bundle.LoadAsset("tv");
        //yield return tv;
        //GameObject santaasset = Instantiate(bundle.LoadAsset("tv", typeof(GameObject)) as GameObject);
        Debug.Log(bundle); // returns tv           
        Debug.Log(tv);//return null
        Instantiate(tv); 
    }
    else
    {
        Debug.Log(www.error);
    }

enter image description here

обновлено: До Before generating После After Generating

1 Ответ

0 голосов
/ 18 мая 2018

AssetBundle.LoadAsset возвращает ноль, потому что у вас нет объекта с именем "tv" в AssetBundle, который вы загружаете.

1 . Убедитесь, что написание написано правильно или что вы передаете правильный объект в функцию LoadAsset.Это с учетом регистра.

2 . Вы должны убедиться, что ваш объект "tv" добавлен в AssetBundle перед созданием AssetBundle.

Допустим, имя вашего AssetBundle равно "house" и объект, который вы хотите добавить к нему - "tv", выберите объект "tv" и измените параметр AssetBundle на "house".См. Изображение ниже для справки:

enter image description here


В вашем случае проблема составляет # 1 .Имя вашего AssetBundle - "tv", и вы хотите загрузить объект с именем "1.obj".Передайте "1" в функцию LoadAsset, а не "tv".

...