Unity proporciona algunas funciones relacionadas con el rendimiento en su configuración de OpenXR. Habilita estas funciones para permitir que tu app se comunique con el tiempo de ejecución de Android XR, reciba notificaciones de rendimiento y optimice el rendimiento de la GPU con la renderización foveal.
Requisitos previos
Antes de seguir esta guía, asegúrate de haber verificado y completado los siguientes requisitos previos:
- Completa todos los pasos para configurar tu proyecto en Unity.
Cómo acceder a la configuración de funciones de OpenXR
Sigue estos pasos para acceder a la configuración de funciones de OpenXR de Unity, donde puedes configurar las funciones de rendimiento que se describen en las secciones posteriores:
- En el menú principal de Unity, haz clic en Edit > Project Settings.
- Expande la sección XR Plug-in Management y, luego, haz clic en OpenXR.
- Ve a la sección OpenXR Feature Groups.
Habilita la configuración de rendimiento de XR
La opción XR Performance Settings en Unity permite que tu app comunique los requisitos de rendimiento al tiempo de ejecución de XR de Android y reciba notificaciones de rendimiento.
Beneficios
- Tu app recibe notificaciones del sistema para mantener un rendimiento óptimo.
- Puedes proporcionar sugerencias de rendimiento al tiempo de ejecución de OpenXR.
Habilita esta función
En la sección OpenXR Feature Groups a la que navegaste antes, habilita XR Performance Settings.
Habilita el renderizado foveal
El renderizado foveal ofrece optimizaciones estáticas y de seguimiento ocular que mejoran el rendimiento de la GPU. Sin embargo, la implementación con seguimiento ocular ofrece una mejor calidad a los usuarios, ya que renderiza el área en la que están mirando y reduce la calidad de su visión periférica. Esto reduce significativamente la carga de trabajo de la GPU y, a la vez, mantiene la calidad visual en los aspectos más importantes.
Beneficios
- Reduce significativamente la carga de trabajo de la GPU, ya que renderiza menos detalles en la visión periférica.
- Mantiene el área donde mira el usuario con una claridad nítida.
- Te permite crear escenas más complejas sin perder fotogramas.
Habilita esta función
- En la sección OpenXR Feature Groups a la que navegaste antes, habilita Foveated Rendering.
Establece la API de renderización foveal en Foveation de SRP.
En la sección Perfiles de interacción habilitados, agrega el Perfil de interacción de mirada.
En la sección Grupos de permisos, especifica que se debe solicitar el permiso
android.permission.EYE_TRACKING_FINE
.Activa la función en el tiempo de ejecución y establece el nivel de renderización foveal para tu app:
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; } } }
Para obtener más información, consulta la documentación de Unity sobre la renderización foveal.