我尝试使用以下代码从 AssetBundle 加载 Unity 场景:
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) Scene 无法加载,因为它尚未添加到构建设置或 AssetBundle 尚未加载”。
有人知道如何从 AssetBundle 加载场景还是这是 Unity 的限制?