簡體   English   中英

iOS 構建中的 Unity 3D 場景加載問題

[英]Unity 3D Scene loading Issue in iOS Build

我在 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;

如果有人能啟發我,我將不勝感激! 謝謝你的時間!

在網上搜索了一些,也許你的問題與場景的加載方式無關,但是場景有一些照明或着色器的問題,我看過其他一些人也有類似的問題,並且與某些驅動程序有關新手機已經改變然后統一它正在使用它,但它也與需要不同的自定義着色器有關,所以也許你的錯誤不是來自場景的加載方式,而是來自某些材料,我讀過它可能與環境照明和 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();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM