Unity udostępnia w ustawieniach OpenXR niektóre funkcje związane z wydajnością. Włącz te funkcje, aby umożliwić aplikacji komunikację ze środowiskiem wykonawczym Androida XR, otrzymywanie powiadomień o wydajności i optymalizowanie wydajności GPU za pomocą renderowania z ogniskowaniem.
Wymagania wstępne
Zanim zaczniesz korzystać z tych wskazówek, sprawdź, czy spełniasz te wymagania wstępne:
- Wykonaj wszystkie czynności związane z konfigurowaniem projektu w Unity.
Dostęp do ustawień funkcji OpenXR
Aby uzyskać dostęp do ustawień funkcji OpenXR w Unity, gdzie możesz skonfigurować funkcje wydajności opisane w kolejnych sekcjach:
- W menu głównym Unity kliknij Edit > Project Settings (Edytuj > Ustawienia projektu).
- Rozwiń sekcję XR Plug-in Management (Zarządzanie wtyczkami XR), a potem kliknij OpenXR.
- Otwórz sekcję Grupy funkcji OpenXR.
Włącz ustawienia wydajności XR
Ustawienia wydajności XR w Unity umożliwiają aplikacji przekazywanie wymagań dotyczących wydajności do środowiska wykonawczego Androida XR i otrzymywanie powiadomień o wydajności.
Zalety
- Aplikacja otrzymuje powiadomienia systemowe, aby utrzymać optymalną wydajność.
- Możesz przekazywać wskazówki dotyczące wydajności do środowiska wykonawczego OpenXR.
Włącz tę funkcję
W sekcji Grupy funkcji OpenXR, do której przejdziesz, włącz Ustawienia wydajności XR.
Włącz renderowanie z ogniskowaniem
Renderowanie z ogniskowaniem wzroku oferuje optymalizacje statyczne i oparte na śledzeniu wzroku, które zwiększają wydajność procesora graficznego. Jednak implementacja śledzenia wzroku zapewnia użytkownikom lepszą jakość, ponieważ renderuje obszar, na który patrzą, a jednocześnie obniża jakość widzenia peryferyjnego. Znacznie zmniejsza to obciążenie procesora graficznego przy zachowaniu jakości obrazu w najważniejszych obszarach.
Zalety
- Znacznie zmniejsza obciążenie procesora graficznego, renderując mniej szczegółów w widzeniu peryferyjnym.
- Zapewnia krystaliczną czystość obrazu w miejscu, na które patrzy użytkownik.
- Umożliwia tworzenie bardziej złożonych scen bez utraty klatek.
Włącz tę funkcję
- W sekcji Grupy funkcji OpenXR, do której przejdziesz, włącz Renderowanie z ogniskowaniem.
Ustaw Foveated Rendering API na SRP Foveation.
W sekcji Włączone profile interakcji dodaj Profil interakcji za pomocą wzroku.
W sekcji Grupy uprawnień określ, że należy poprosić o uprawnienie
android.permission.EYE_TRACKING_FINE
.Włącz tę funkcję w czasie działania i ustaw poziom renderowania z ogniskowaniem dla swojej aplikacji:
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; } } }
Więcej informacji znajdziesz w dokumentacji Unity na temat renderowania z fiksacją.