当相机检测到某些图像时(例如,如果图像1然后是场景1,图像2然后是场景2),我将在两个场景之间切换,而在切换时,我正在显示画布上带有加载文本的画布。但是在android上(不是在Unity编辑器中),有时场景无法加载,我只能看到画布上说的就是加载了。有时,它可以完美地加载画布,并且在加载场景时可以禁用画布,并且场景可以正常工作。在Unity Editor中,一切运行正常。
我已经检查了日志中是否有错误,日志中没有错误。
这是加载场景的代码。
IEnumerator SceneAssets() {
Debug.Log("In start");
var LoadedAssetBundle = AssetBundle.LoadFromFile(path);
Debug.Log(LoadedAssetBundle);
Destroy(this.gameObject); // destroy the ARCamera object
if (LoadedAssetBundle == null)
{
Debug.Log("Failed to load AssetBundle!");
yield break;
}
string[] scenes = LoadedAssetBundle.GetAllScenePaths();
string scene = Path.GetFileNameWithoutExtension(scenes[0]); // gets the scene from asset
SceneManager.LoadSceneAsync(scene);
Debug.Log("audio loaded");
CoverDetect.isDetected = true; // sets the cover detect to true so can detect more covers
LoadedAssetBundle.Unload(true); // unloads the asset bundle of scene
AssetBundle.UnloadAllAssetBundles(false); // unloads the audio asset bundle as well
Debug.Log("AS" + CoverDetect.isDetected);
yield return null;
}
在日志中,我得到了写在“ SceneManager.LoadSceneAsync(scene);”之后的所有日志。即使场景加载冻结了。