یونیتی برخی ویژگیهای مرتبط با عملکرد را در تنظیمات OpenXR خود ارائه میدهد. این ویژگیها را فعال کنید تا برنامه شما بتواند با زمان اجرای اندروید XR ارتباط برقرار کند، اعلانهای عملکرد را دریافت کند و عملکرد GPU را با استفاده از رندر foveated بهینه کند.
پیشنیازها
قبل از دنبال کردن این راهنما، مطمئن شوید که پیشنیازهای زیر را تأیید و تکمیل کردهاید:
- تمام مراحل راهاندازی پروژه خود را در Unity تکمیل کنید.
دسترسی به تنظیمات ویژگیهای OpenXR
برای دسترسی به تنظیمات ویژگیهای OpenXR در Unity، این مراحل را دنبال کنید، جایی که میتوانید ویژگیهای عملکردی را که در بخشهای بعدی توضیح داده شده است، پیکربندی کنید:
- از منوی اصلی یونیتی، روی ویرایش > تنظیمات پروژه کلیک کنید.
- بخش مدیریت افزونههای XR را باز کنید و سپس روی OpenXR کلیک کنید.
- به بخش گروههای ویژه OpenXR بروید.
تنظیمات عملکرد XR را فعال کنید
تنظیمات عملکرد XR در یونیتی به برنامه شما این امکان را میدهد که الزامات عملکرد را به زمان اجرای اندروید XR ارسال کند و اعلانهای عملکرد را دریافت کند.
مزایا
- برنامه شما برای حفظ عملکرد بهینه، اعلانهای سیستمی دریافت میکند.
- شما میتوانید نکات مربوط به عملکرد را به زمان اجرای OpenXR ارائه دهید.
فعال کردن این قابلیت
در بخش OpenXR Feature Groups که قبلاً به آن رفتید ، XR Performance Settings را فعال کنید.
رندر foveated را فعال کنید
رندرینگ Foveated هم بهینهسازیهای استاتیک و هم بهینهسازیهای ردیابی چشم را ارائه میدهد که عملکرد GPU را بهبود میبخشد. با این حال، پیادهسازی ردیابی چشم با رندر کردن ناحیهای که کاربران به آن نگاه میکنند، کیفیت بهتری را به کاربران ارائه میدهد، در حالی که کیفیت دید محیطی آنها را کاهش میدهد. این امر به طور قابل توجهی حجم کار GPU را کاهش میدهد و در عین حال کیفیت بصری را در جایی که بیشترین اهمیت را دارد، حفظ میکند.
مزایا
- با رندر کردن جزئیات کمتر در دید محیطی، حجم کار پردازنده گرافیکی (GPU) را به میزان قابل توجهی کاهش میدهد.
- ناحیهای را که کاربر در آن قرار دارد، کاملاً واضح نگه میدارد.
- به شما امکان میدهد صحنههای پیچیدهتری را بدون افت فریم بسازید.
فعال کردن این قابلیت
- در بخش OpenXR Feature Groups که قبلاً به آن رفتید ، Foveated Rendering را فعال کنید.
Foveated Rendering API را روی SRP Foveation تنظیم کنید.
در بخش «پروفایلهای تعامل فعال» ، « پروفایل تعامل نگاه چشم» را اضافه کنید.
در بخش گروههای مجوز ، مشخص کنید که مجوز
android.permission.EYE_TRACKING_FINE
باید درخواست شود.این ویژگی را در زمان اجرا فعال کنید و سطح رندر 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 مراجعه کنید.