تنظیمات ویژگی‌های OpenXR را برای عملکرد بهینه تنظیم کنید

یونیتی برخی ویژگی‌های مرتبط با عملکرد را در تنظیمات OpenXR خود ارائه می‌دهد. این ویژگی‌ها را فعال کنید تا برنامه شما بتواند با زمان اجرای اندروید XR ارتباط برقرار کند، اعلان‌های عملکرد را دریافت کند و عملکرد GPU را با استفاده از رندر foveated بهینه کند.

پیش‌نیازها

قبل از دنبال کردن این راهنما، مطمئن شوید که پیش‌نیازهای زیر را تأیید و تکمیل کرده‌اید:

دسترسی به تنظیمات ویژگی‌های OpenXR

برای دسترسی به تنظیمات ویژگی‌های OpenXR در Unity، این مراحل را دنبال کنید، جایی که می‌توانید ویژگی‌های عملکردی را که در بخش‌های بعدی توضیح داده شده است، پیکربندی کنید:

  1. از منوی اصلی یونیتی، روی ویرایش > تنظیمات پروژه کلیک کنید.
  2. بخش مدیریت افزونه‌های XR را باز کنید و سپس روی OpenXR کلیک کنید.
  3. به بخش گروه‌های ویژه OpenXR بروید.

تنظیمات عملکرد XR را فعال کنید

تنظیمات عملکرد XR در یونیتی به برنامه شما این امکان را می‌دهد که الزامات عملکرد را به زمان اجرای اندروید XR ارسال کند و اعلان‌های عملکرد را دریافت کند.

مزایا

  • برنامه شما برای حفظ عملکرد بهینه، اعلان‌های سیستمی دریافت می‌کند.
  • شما می‌توانید نکات مربوط به عملکرد را به زمان اجرای OpenXR ارائه دهید.

فعال کردن این قابلیت

در بخش OpenXR Feature Groups که قبلاً به آن رفتید ، XR Performance Settings را فعال کنید.

رندر foveated را فعال کنید

رندرینگ Foveated هم بهینه‌سازی‌های استاتیک و هم بهینه‌سازی‌های ردیابی چشم را ارائه می‌دهد که عملکرد GPU را بهبود می‌بخشد. با این حال، پیاده‌سازی ردیابی چشم با رندر کردن ناحیه‌ای که کاربران به آن نگاه می‌کنند، کیفیت بهتری را به کاربران ارائه می‌دهد، در حالی که کیفیت دید محیطی آنها را کاهش می‌دهد. این امر به طور قابل توجهی حجم کار GPU را کاهش می‌دهد و در عین حال کیفیت بصری را در جایی که بیشترین اهمیت را دارد، حفظ می‌کند.

مزایا

  • با رندر کردن جزئیات کمتر در دید محیطی، حجم کار پردازنده گرافیکی (GPU) را به میزان قابل توجهی کاهش می‌دهد.
  • ناحیه‌ای را که کاربر در آن قرار دارد، کاملاً واضح نگه می‌دارد.
  • به شما امکان می‌دهد صحنه‌های پیچیده‌تری را بدون افت فریم بسازید.

فعال کردن این قابلیت

  1. در بخش OpenXR Feature Groups که قبلاً به آن رفتید ، Foveated Rendering را فعال کنید.
  2. Foveated Rendering API را روی SRP Foveation تنظیم کنید.

    تنظیمات یونیتی برای رندرینگ foveated

  3. در بخش «پروفایل‌های تعامل فعال» ، « پروفایل تعامل نگاه چشم» را اضافه کنید.

    تنظیمات یونیتی برای پروفایل‌های تعامل فعال

  4. در بخش گروه‌های مجوز ، مشخص کنید که مجوز android.permission.EYE_TRACKING_FINE باید درخواست شود.

    تنظیمات یونیتی برای گروه‌های مجوز با مجوز ‎android.permission.EYE_TRACKING_FINE‎ درخواست شده

  5. این ویژگی را در زمان اجرا فعال کنید و سطح رندر foveated را برای برنامه خود تنظیم کنید:

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

برای اطلاعات بیشتر، به مستندات یونیتی در مورد رندر foveated مراجعه کنید.