שינוי ההגדרות של תכונות OpenXR לצורך אופטימיזציה של הביצועים

מכשירי XR רלוונטיים
ההנחיות האלה יעזרו לכם ליצור חוויות למכשירי XR מהסוגים האלה.
משקפי XR
משקפי AR חוטיים

ב-Unity יש כמה תכונות שקשורות לביצועים בהגדרות OpenXR. הפעלת התכונות האלה מאפשרת לאפליקציה לתקשר עם זמן הריצה של Android XR, לקבל התראות על ביצועים ולבצע אופטימיזציה של ביצועי ה-GPU באמצעות רינדור פוביאלי.

דרישות מוקדמות

לפני שממשיכים לפי ההנחיות האלה, חשוב לוודא שביצעתם את השלבים הבאים:

גישה להגדרות התכונות של OpenXR

כדי לגשת להגדרות התכונות של OpenXR ב-Unity, צריך לפעול לפי השלבים הבאים. שם תוכלו להגדיר את תכונות הביצועים שמפורטות בקטעים הבאים:

  1. בתפריט הראשי של Unity, לוחצים על Edit > Project Settings (עריכה > הגדרות הפרויקט).
  2. מרחיבים את הקטע XR Plug-in Management (ניהול פלאגינים של XR) ולוחצים על OpenXR.
  3. עוברים לקטע OpenXR Feature Groups (קבוצות תכונות של OpenXR).

הפעלת הגדרות הביצועים של XR

הגדרות הביצועים של XR ב-Unity מאפשרות לאפליקציה שלכם להעביר את דרישות הביצועים אל זמן הריצה של Android XR ולקבל התראות על הביצועים.

יתרונות

  • האפליקציה מקבלת התראות מהמערכת כדי לשמור על ביצועים אופטימליים.
  • אתם יכולים לספק רמזים לביצועים לסביבת זמן הריצה של OpenXR.

הפעלת התכונה הזאת

בקטע OpenXR Feature Groups שאליו עברתם קודם, מפעילים את האפשרות XR Performance Settings.

הפעלת רינדור ממוקד

רינדור פוביאלי מציע אופטימיזציות סטטיות ואופטימיזציות של מעקב אחרי העיניים, שמשפרות את הביצועים של ה-GPU. עם זאת, ההטמעה של מעקב העיניים מציעה איכות טובה יותר למשתמשים על ידי עיבוד האזור שבו הם מסתכלים, תוך הפחתת האיכות של הראייה ההיקפית שלהם. כך מצמצמים באופן משמעותי את עומס העבודה של ה-GPU, תוך שמירה על האיכות החזותית במקומות שבהם היא הכי חשובה.

יתרונות

  • מפחיתה באופן משמעותי את העומס על המעבד הגרפי על ידי עיבוד פחות פרטים בראייה ההיקפית.
  • האזור שבו המשתמש מסתכל נשאר ברור לחלוטין.
  • מאפשר ליצור סצנות מורכבות יותר בלי להפיל פריימים.

הפעלת התכונה הזאת

  1. בקטע OpenXR Feature Groups שאליו עברתם קודם, מפעילים את Foveated Rendering.
  2. מגדירים את Foveated Rendering API (ממשק API של עיבוד ממוקד) ל-SRP Foveation (מיקוד ב-SRP).

    הגדרות של Unity לעיבוד ממוקד

  3. בקטע Enabled Interaction Profiles (פרופילים מופעלים של אינטראקציות), מוסיפים את Eye Gaze Interaction Profile (פרופיל אינטראקציה של מעקב אחרי תנועות העיניים).

    הגדרות Unity לפרופילים של אינטראקציות מופעלות

  4. בקטע קבוצות הרשאות, מציינים שצריך לבקש את ההרשאה android.permission.EYE_TRACKING_FINE.

    הגדרות Unity לקבוצות של הרשאות עם ההרשאה android.permission.EYE_TRACKING_FINE שהתבקשה

  5. מפעילים את התכונה בזמן הריצה ומגדירים את רמת הרינדור הממוקד באפליקציה:

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

מידע נוסף זמין במאמרי העזרה של Unity בנושא רינדור ממוקד.