2016-01-14 3 views
1

Я пытаюсь загрузить Unity сцену из AssetBundle с помощью следующего кода:нагрузки Unity игры Сцена из AssetBundle

using (WWW www = WWW.LoadFromCacheOrDownload("http://127.0.0.1:8080/unity/test-scene", 1)) 
{ 
    yield return www; 
    if (www.error != null) 
    { 
     Debug.Log("Load Error " + www.error); 
    } 

    AssetBundle bundle = www.assetBundle; 
    Object[] loadObjectList = bundle.LoadAllAssets(); 

    foreach(Object tempObj in loadObjectList) 
    { 
     Debug.Log("Object = " + tempObj); 
    } 
} 

Для сцены базовых пучков Я всегда получал 0 элементов для loadObjectList массива.

Если я позвоню bundle.GetAllScenePaths() функции я путь (ы) сцены, но если я пытаюсь загрузить эти сцены (ы) с помощью функции SceneManager.LoadScene() я получил следующее сообщение об ошибке:

"(-1) Сцена не могла» t, потому что он не был добавлен в настройки сборки или AssetBundle не был загружен ".

Кто-нибудь знает, как загрузить сцену из AssetBundle или это ограничение Unity?

ответ

2

Наконец-то я выясню, как это сделать: если я укажу путь и расширение файла на LoadScene(), функция может потерпеть неудачу.

Например:

SceneManager.LoadScene("Assets/demosc1.unity"); не работает, и приготовленную по описанной выше ошибки. Это необходимо изменить как SceneManager.LoadScene("demosc1");.

Смежные вопросы