我正在 Unity 中创建一个 AssetBundle,其中包含一个带有以下代码的场景:
string[] scenes = {"Assets/Scenes/main.unity"};
BuildPipeline.BuildStreamedSceneAssetBundle( scenes , "main.unity3d", EditorUserBuildSettings.activeBuildTarget);
我有一个空的介绍场景,它在 iOS 上的应用程序开始时加载主场景:
using (WWW www = WWW.LoadFromCacheOrDownload (url + "main.unity3d", 0)) {
while (!www.isDone) {
yield return null;
}
//check if server response is an error
if (www.error != null) {
throw new Exception ("WWW download had an error: " + www.error);
}
//Load the asset bundle
AssetBundle bundle = www.assetBundle;
bundle.LoadAllAssets ();
}
Application.LoadLevel ("main")
问题是主场景已正确加载,但其中的 3D 对象(FBX 文件 + 纹理)无法看到。主场景没有脚本,只有 3D 对象,包括 Unity 的简单立方体,它们已作为预制件存储在 Assets 文件夹中。没有显示 3D 数据可能是什么问题?Asset Bundle 本身有大约 20MB,按大小确定 3D 对象应该包含。我使用 Unity 5.2.4,这只是 iOS 的问题,Android 工作正常,对象显示正常。