Unity 在 OpenXR 設定中提供一些效能相關功能。啟用這些功能後,應用程式就能與 Android XR 執行階段通訊、接收效能通知,以及使用凹凸透鏡轉譯功能提升 GPU 效能。
必要條件
按照本指南操作之前,請務必先驗證並完成下列必要條件:
- 完成在 Unity 中設定專案的所有步驟。
存取 OpenXR 功能設定
請按照下列步驟存取 Unity 的 OpenXR 功能設定,並設定後續章節中列出的效能功能:
- 在 Unity 主選單中,依序點選「Edit」>「Project Settings」。
- 展開「XR Plug-in Management」(XR 外掛程式管理) 部分,然後點選「OpenXR」。
- 前往「OpenXR 功能群組」部分。
啟用 XR 效能設定
Unity 中的 XR Performance Settings 可讓應用程式將效能需求傳達給 Android XR 執行階段,並接收效能通知。
優點
- 應用程式會收到系統通知,以維持最佳效能。
- 您可以向 OpenXR 執行階段提供效能提示。
啟用這項功能
在先前瀏覽的「OpenXR Feature Groups」(OpenXR 功能群組) 專區中,啟用「XR Performance Settings」(XR 效能設定)。
啟用凹凸感算繪
凹凸透鏡算繪提供靜態和眼球追蹤最佳化功能,可提升 GPU 效能。不過,眼球追蹤技術可呈現使用者注視的區域,同時降低周邊視野的品質,因此能為使用者提供更優質的體驗。這項技術可大幅減少 GPU 工作負載,同時在最重要的地方維持視覺品質。
優點
- 在周邊視野中減少細節,大幅降低 GPU 工作負載。
- 讓使用者注視的區域保持清晰。
- 可讓您建構更複雜的場景,不會遺漏影格。
啟用這項功能
- 在先前瀏覽的「OpenXR Feature Groups」(OpenXR 功能群組) 專區中,啟用「Foveated Rendering」(凹凸感渲染)。
將「Foveated Rendering API」設為「SRP Foveation」。
在「已啟用互動設定檔」部分,新增「眼球追蹤互動設定檔」。
在「權限群組」部分,指定應要求
android.permission.EYE_TRACKING_FINE
權限。在執行階段啟用這項功能,並為應用程式設定凹凸感渲染層級:
using System.Collections.Generic; using UnityEngine; using UnityEngine.XR; public class FoveationStarter : MonoBehaviour { List<XRDisplaySubsystem> xrDisplays = new List<XRDisplaySubsystem>(); void Start() { SubsystemManager.GetSubsystems(xrDisplays); if (xrDisplays.Count == 1) { xrDisplays[0].foveatedRenderingLevel = 1.0f; // Full strength xrDisplays[0].foveatedRenderingFlags = XRDisplaySubsystem.FoveatedRenderingFlags.GazeAllowed; } } }
詳情請參閱 Unity 的注視區塊渲染說明文件。