Ajuster les paramètres des fonctionnalités OpenXR pour des performances optimales

Unity propose des fonctionnalités liées aux performances dans ses paramètres OpenXR. Activez ces fonctionnalités pour permettre à votre application de communiquer avec le runtime Android XR, de recevoir des notifications de performances et d'optimiser les performances du GPU à l'aide du rendu fovéal.

Prérequis

Avant de suivre ces conseils, assurez-vous d'avoir vérifié et rempli les conditions préalables suivantes :

Accéder aux paramètres des fonctionnalités OpenXR

Suivez ces étapes pour accéder aux paramètres de la fonctionnalité OpenXR d'Unity, où vous pouvez configurer les fonctionnalités de performances décrites dans les sections suivantes :

  1. Dans le menu principal Unity, cliquez sur Edit > Project Settings (Modifier > Paramètres du projet).
  2. Développez la section Gestion des plug-ins XR, puis cliquez sur OpenXR.
  3. Accédez à la section Groupes de fonctionnalités OpenXR.

Activer les paramètres de performances XR

Les paramètres de performances XR dans Unity permettent à votre application de communiquer les exigences de performances au runtime Android XR et de recevoir des notifications de performances.

Avantages

  • Votre application reçoit des notifications système pour maintenir des performances optimales.
  • Vous pouvez fournir des indications de performances au runtime OpenXR.

Activer cette fonctionnalité

Dans la section Groupes de fonctionnalités OpenXR vers laquelle vous avez accédé précédemment, activez Paramètres de performances XR.

Activer le rendu fovéal

Le rendu fovéal propose des optimisations statiques et de suivi du regard qui améliorent les performances du GPU. Toutefois, l'implémentation du suivi du regard offre une meilleure qualité aux utilisateurs en affichant la zone qu'ils regardent, tout en réduisant la qualité de leur vision périphérique. Cela réduit considérablement la charge de travail du GPU tout en préservant la qualité visuelle là où elle est la plus importante.

Avantages

  • Réduit considérablement la charge de travail du GPU en affichant moins de détails dans la vision périphérique.
  • La zone sur laquelle l'utilisateur se concentre reste parfaitement nette.
  • Vous permet de créer des scènes plus complexes sans perte d'images.

Activer cette fonctionnalité

  1. Dans la section OpenXR Feature Groups (Groupes de fonctionnalités OpenXR) vers laquelle vous avez accédé précédemment, activez Foveated Rendering (Rendu fovéal).
  2. Définissez API de rendu fovéal sur Fovéation SRP.

    Paramètres Unity pour le rendu fovéal

  3. Dans la section Enabled Interaction Profiles (Profils d'interaction activés), ajoutez le profil d'interaction Eye Gaze.

    Paramètres Unity pour les profils d'interaction activés

  4. Dans la section Groupes d'autorisations, spécifiez que l'autorisation android.permission.EYE_TRACKING_FINE doit être demandée.

    Paramètres Unity pour les groupes d'autorisations avec l'autorisation android.permission.EYE_TRACKING_FINE demandée

  5. Activez la fonctionnalité au moment de l'exécution et définissez le niveau de rendu fovéal pour votre application :

    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;
        }
      }
    }
    

Pour en savoir plus, consultez la documentation d'Unity sur le rendu fovéal.