Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# iOS构建中的Unity 3D场景加载问题_C#_Swift_Xcode_Unity3d - Fatal编程技术网

C# iOS构建中的Unity 3D场景加载问题

C# iOS构建中的Unity 3D场景加载问题,c#,swift,xcode,unity3d,C#,Swift,Xcode,Unity3d,我在iOS版本中遇到了一个屏幕加载问题,它在Android中运行良好,但同一版本在iOS中运行不正常 当加载到另一个屏幕时,有时加载需要时间,有时它可能会因Xcode控制台中的错误而崩溃 iOS控制台错误:“由于执行过程中出现错误,命令缓冲区的执行被中止。忽略(导致以前/过多的GPU错误)(IOAF代码4)” 我在游戏管理器脚本中编写了这段代码,用于加载屏幕 AsyncOperation asyncOperationScene = SceneManager.LoadSceneAsync(&quo

我在iOS版本中遇到了一个屏幕加载问题,它在Android中运行良好,但同一版本在iOS中运行不正常

当加载到另一个屏幕时,有时加载需要时间,有时它可能会因Xcode控制台中的错误而崩溃

iOS控制台错误:“由于执行过程中出现错误,命令缓冲区的执行被中止。忽略(导致以前/过多的GPU错误)(IOAF代码4)”

我在游戏管理器脚本中编写了这段代码,用于加载屏幕

AsyncOperation asyncOperationScene = SceneManager.LoadSceneAsync("level"+ (DataManager.levelNumber + 1), LoadSceneMode.Additive);
        loadingPanel.GetComponent<LoadingLevels>().async = asyncOperationScene;
        loadingPanel.SetActive(true);
        asyncOperationScene.completed += AsyncOperationScene_completed;
AsyncOperationAsyncOperationsScene=SceneManager.LoadSceneAsync(“级别”+(DataManager.levelNumber+1),LoadSceneMode.Additional);
loadingPanel.GetComponent().async=AsyncOperationsScene;
loadingPanel.SetActive(真);
asyncOperationScene.completed+=asyncOperationScene_completed;
如果有人能启发我,我会非常感激!
谢谢你的时间

在互联网上搜索了一些后,可能你的问题与场景的加载方式无关,但场景在照明或着色器方面存在一些问题,我读到一些其他人也有类似的问题,并且与一些新手机的驱动程序有关,这些驱动程序已经更改,然后unity正在使用它,但它也与需要不同的自定义着色器有关,因此可能您的错误不是来自场景的加载方式,而是来自一些材质,我已经了解到它可能与环境照明和exr有关。文件,希望能帮助更多,但这是我可以与你分享的


无论如何,如果您能在这里分享调试日志,我们将非常高兴。在这里,我们可以看到正在发生的事情,特别是对您而言,请确保这不是关于加载场景的事情,而是您尝试加载的场景有一些不适合这款新手机及其与光照贴图着色器相关的驱动程序等的事情。

谢谢您的帮助作为回应,在我的脚本中,我添加了一些其他功能,比如清除缓存。一旦我对缓存的代码进行了注释,场景加载问题就解决了

让我给你看一下我的代码,请有人检查一下,让我知道它是正确的还是有一些错误

 void ClearMemory()
{
    MediaPlayer[] ar_mp = FindObjectsOfType<MediaPlayer>();
    foreach (MediaPlayer mp in ar_mp)
    {
        mp.CloseVideo();
    }
    Caching.ClearCache();
    Resources.UnloadUnusedAssets();
    GL.Clear(true, true, Color.green);
    GL.Flush();
}
void ClearMemory()
{
MediaPlayer[]ar_mp=FindObjectsOfType();
foreach(在ar\U mp中的MediaPlayer mp)
{
mp.CloseVideo();
}
ClearCache();
Resources.UnloadUnusedAssets();
GL.透明(真、真、彩色.绿色);
GL.Flush();
}

请提供代码示例以支持您的答案。步骤的屏幕截图也可以