ב-Unity יש כמה תכונות שקשורות לביצועים בהגדרות OpenXR. הפעלת התכונות האלה מאפשרת לאפליקציה לתקשר עם זמן הריצה של Android XR, לקבל התראות על ביצועים ולבצע אופטימיזציה של ביצועי ה-GPU באמצעות רינדור פוביאלי.
דרישות מוקדמות
לפני שממשיכים לפי ההנחיות האלה, חשוב לוודא שביצעתם את השלבים הבאים:
- משלימים את כל השלבים של הגדרת הפרויקט ב-Unity.
גישה להגדרות התכונות של OpenXR
כדי לגשת להגדרות התכונות של OpenXR ב-Unity, צריך לפעול לפי השלבים הבאים. שם תוכלו להגדיר את תכונות הביצועים שמפורטות בקטעים הבאים:
- בתפריט הראשי של Unity, לוחצים על Edit > Project Settings (עריכה > הגדרות הפרויקט).
- מרחיבים את הקטע XR Plug-in Management (ניהול פלאגינים של XR) ולוחצים על OpenXR.
- עוברים לקטע OpenXR Feature Groups (קבוצות תכונות של OpenXR).
הפעלת הגדרות הביצועים של XR
הגדרות הביצועים של XR ב-Unity מאפשרות לאפליקציה שלכם להעביר את דרישות הביצועים אל זמן הריצה של Android XR ולקבל התראות על הביצועים.
יתרונות
- האפליקציה מקבלת התראות מהמערכת כדי לשמור על ביצועים אופטימליים.
- אתם יכולים לספק רמזים לביצועים לסביבת זמן הריצה של OpenXR.
הפעלת התכונה הזאת
בקטע OpenXR Feature Groups שאליו עברתם קודם, מפעילים את האפשרות XR Performance Settings.
הפעלת רינדור ממוקד
רינדור פוביאלי מציע אופטימיזציות סטטיות ואופטימיזציות של מעקב אחרי העיניים, שמשפרות את הביצועים של ה-GPU. עם זאת, ההטמעה של מעקב העיניים מציעה איכות טובה יותר למשתמשים על ידי עיבוד האזור שבו הם מסתכלים, תוך הפחתת האיכות של הראייה ההיקפית שלהם. כך מצמצמים באופן משמעותי את עומס העבודה של ה-GPU, תוך שמירה על האיכות החזותית במקומות שבהם היא הכי חשובה.
יתרונות
- מפחיתה באופן משמעותי את העומס על המעבד הגרפי על ידי עיבוד פחות פרטים בראייה ההיקפית.
- האזור שבו המשתמש מסתכל נשאר ברור לחלוטין.
- מאפשר ליצור סצנות מורכבות יותר בלי להפיל פריימים.
הפעלת התכונה הזאת
- בקטע OpenXR Feature Groups שאליו עברתם קודם, מפעילים את Foveated Rendering.
מגדירים את Foveated Rendering API (ממשק API של עיבוד ממוקד) ל-SRP Foveation (מיקוד ב-SRP).

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

בקטע קבוצות הרשאות, מציינים שצריך לבקש את ההרשאה
android.permission.EYE_TRACKING_FINE.
מפעילים את התכונה בזמן הריצה ומגדירים את רמת הרינדור הממוקד באפליקציה:
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 בנושא רינדור ממוקד.