Unity 在其 OpenXR 设置中提供了一些与性能相关的功能。启用这些功能后,您的应用便可与 Android XR 运行时通信、接收性能通知,并使用凹凸透镜渲染优化 GPU 性能。
前提条件
在遵循本指南中的说明之前,请确保您已验证并完成以下前提条件:
- 完成在 Unity 中设置项目的所有步骤。
访问 OpenXR 功能设置
请按以下步骤操作,访问 Unity 的 OpenXR 功能设置,您可以在其中配置后续部分中概述的性能功能:
- 在 Unity 主菜单中,依次点击 Edit > Project Settings。
- 展开 XR 插件管理部分,然后点击 OpenXR。
- 前往 OpenXR 功能组部分。
启用 XR 性能设置
Unity 中的 XR 性能设置可让您的应用将性能要求传达给 Android XR 运行时,并接收性能通知。
优势
- 您的应用会接收系统通知,以保持最佳性能。
- 您可以向 OpenXR 运行时提供性能提示。
启用此功能
在您之前前往的 OpenXR 功能组部分中,启用 XR 性能设置。
启用注视点渲染
凹凸透镜渲染提供静态优化和眼动追踪优化,可提升 GPU 性能。不过,眼动追踪实现方案通过渲染用户正在注视的区域来提高用户体验,同时降低周边视觉的质量。这样可以显著减少 GPU 工作负载,同时在最需要的地方保持视觉质量。
优势
- 通过在周边视觉中呈现较少的细节,显著减少 GPU 工作负载。
- 让用户注视的区域清晰无比。
- 让您能够构建更复杂的场景,而不会丢帧。
启用此功能
- 在您之前前往的 OpenXR 功能组部分中,启用注视点渲染。
将眼动追踪渲染 API 设置为 SRP 眼动追踪。
在已启用的互动配置文件部分中,添加眼控互动配置文件。
在权限组部分中,指定应请求
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 的关于凹凸渲染的文档。