Unity bietet einige leistungsbezogene Funktionen in den OpenXR-Einstellungen. Wenn Sie diese Funktionen aktivieren, kann Ihre App mit der Android XR-Laufzeitumgebung kommunizieren, Leistungsbenachrichtigungen empfangen und die GPU-Leistung mithilfe von Foveated Rendering optimieren.
Voraussetzungen
Bevor Sie dieser Anleitung folgen, müssen Sie die folgenden Voraussetzungen erfüllt haben:
- Führen Sie alle Schritte zum Einrichten Ihres Projekts in Unity aus.
Auf OpenXR-Funktionseinstellungen zugreifen
Führen Sie die folgenden Schritte aus, um auf die OpenXR-Funktionseinstellungen von Unity zuzugreifen. Dort können Sie die Leistungsfunktionen konfigurieren, die in den folgenden Abschnitten beschrieben werden:
- Klicken Sie im Unity-Hauptmenü auf Edit > Project Settings (Bearbeiten > Projekteinstellungen).
- Maximieren Sie den Bereich XR Plug-in Management (XR-Plug-in-Verwaltung) und klicken Sie dann auf OpenXR.
- Rufen Sie den Abschnitt OpenXR Feature Groups auf.
XR-Leistungseinstellungen aktivieren
Mit den XR Performance Settings in Unity kann Ihre App Leistungsanforderungen an die Android XR-Laufzeitumgebung kommunizieren und Leistungsbenachrichtigungen empfangen.
Vorteile
- Ihre App erhält Systembenachrichtigungen, um eine optimale Leistung zu erzielen.
- Sie können der OpenXR-Laufzeit Leistungshinweise geben.
Diese Funktion aktivieren
Aktiviere im Bereich OpenXR Feature Groups (zu dem du zuvor navigiert bist) die Option XR Performance Settings.
Foveated Rendering aktivieren
Foveated Rendering bietet sowohl statische als auch Eye-Tracking-Optimierungen, die die GPU-Leistung verbessern. Die Implementierung mit Blickrichtungserkennung bietet Nutzern jedoch eine bessere Qualität, da der Bereich, auf den sie schauen, gerendert wird, während die Qualität des peripheren Sehens reduziert wird. Dadurch wird die GPU-Auslastung erheblich reduziert, ohne die visuelle Qualität an den wichtigsten Stellen zu beeinträchtigen.
Vorteile
- Reduziert die GPU-Arbeitslast erheblich, indem weniger Details im peripheren Sichtfeld gerendert werden.
- Sorgt dafür, dass der Bereich, in den der Nutzer schaut, gestochen scharf ist.
- Damit können Sie komplexere Szenen erstellen, ohne dass Frames verloren gehen.
Diese Funktion aktivieren
- Aktivieren Sie im Bereich OpenXR Feature Groups (OpenXR-Funktionsgruppen), zu dem Sie zuvor navigiert sind, die Option Foveated Rendering (Foveated Rendering).
Setzen Sie Foveated Rendering API auf SRP Foveation.
Fügen Sie im Bereich Aktivierte Interaktionsprofile das Interaktionsprofil für Blicksteuerung hinzu.
Geben Sie im Abschnitt Berechtigungsgruppen an, dass die Berechtigung
android.permission.EYE_TRACKING_FINE
angefordert werden soll.Aktivieren Sie die Funktion zur Laufzeit und legen Sie die Foveated Rendering-Stufe für Ihre App fest:
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; } } }
Weitere Informationen finden Sie in der Dokumentation von Unity zum foveated Rendering.