Unity fornisce alcune funzionalità relative alle prestazioni nelle impostazioni OpenXR. Attiva queste funzionalità per consentire alla tua app di comunicare con il runtime Android XR, ricevere notifiche sul rendimento e ottimizzare le prestazioni della GPU utilizzando il rendering foveato.
Prerequisiti
Prima di seguire queste indicazioni, assicurati di aver verificato e completato i seguenti prerequisiti:
- Completa tutti i passaggi per configurare il progetto in Unity.
Accedere alle impostazioni delle funzionalità OpenXR
Segui questi passaggi per accedere alle impostazioni della funzionalità OpenXR di Unity, dove puoi configurare le funzionalità di rendimento descritte nelle sezioni successive:
- Nel menu principale di Unity, fai clic su Modifica > Impostazioni progetto.
- Espandi la sezione Gestione plug-in XR e poi fai clic su OpenXR.
- Vai alla sezione Gruppi di funzionalità OpenXR.
Abilitare le impostazioni di rendimento XR
Le impostazioni di rendimento XR in Unity consentono alla tua app di comunicare i requisiti di rendimento al runtime Android XR e di ricevere notifiche sul rendimento.
Vantaggi
- La tua app riceve notifiche di sistema per mantenere prestazioni ottimali.
- Puoi fornire suggerimenti sulle prestazioni al runtime OpenXR.
Attiva questa funzionalità
Nella sezione Gruppi di funzionalità OpenXR a cui hai navigato in precedenza, attiva Impostazioni delle prestazioni XR.
Attivare il rendering foveato
Il rendering foveato offre ottimizzazioni statiche e di tracciamento oculare che migliorano le prestazioni della GPU. Tuttavia, l'implementazione del tracciamento oculare offre una qualità migliore agli utenti, in quanto esegue il rendering dell'area in cui guardano, riducendo la qualità della loro visione periferica. In questo modo, il carico di lavoro della GPU viene ridotto in modo significativo, mantenendo la qualità visiva dove è più importante.
Vantaggi
- Riduce significativamente il carico di lavoro della GPU eseguendo il rendering di meno dettagli nella visione periferica.
- Mantiene l'area in cui l'utente sta guardando cristallina.
- Consente di creare scene più complesse senza perdere frame.
Attiva questa funzionalità
- Nella sezione Gruppi di funzionalità OpenXR a cui hai navigato in precedenza, attiva Rendering foveato.
Imposta API Foveated Rendering su SRP Foveation.
Nella sezione Profili di interazione attivati, aggiungi il profilo di interazione Eye Gaze.
Nella sezione Gruppi di autorizzazioni, specifica che deve essere richiesta l'autorizzazione
android.permission.EYE_TRACKING_FINE
.Attiva la funzionalità in fase di runtime e imposta il livello di rendering foveato per la tua 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; } } }
Per saperne di più, consulta la documentazione di Unity sul rendering foveato.