ปรับการตั้งค่าฟีเจอร์ OpenXR เพื่อประสิทธิภาพสูงสุด

Unity มีฟีเจอร์บางอย่างที่เกี่ยวข้องกับประสิทธิภาพในการตั้งค่า OpenXR เปิดใช้ฟีเจอร์เหล่านี้เพื่อให้แอปสื่อสารกับรันไทม์ Android XR รับการแจ้งเตือนประสิทธิภาพ และเพิ่มประสิทธิภาพ GPU โดยใช้การเรนเดอร์แบบโฟเวต

สิ่งที่ต้องมีก่อน

ก่อนทำตามคำแนะนำนี้ โปรดตรวจสอบว่าคุณได้ยืนยันและทำตามข้อกำหนดเบื้องต้นต่อไปนี้แล้ว

เข้าถึงการตั้งค่าฟีเจอร์ OpenXR

ทำตามขั้นตอนต่อไปนี้เพื่อเข้าถึงการตั้งค่าฟีเจอร์ OpenXR ของ Unity ซึ่งคุณสามารถ กำหนดค่าฟีเจอร์ด้านประสิทธิภาพที่ระบุไว้ในส่วนถัดไป

  1. จากเมนูหลักของ Unity ให้คลิกแก้ไข > การตั้งค่าโปรเจ็กต์
  2. ขยายส่วนการจัดการปลั๊กอิน XR แล้วคลิก OpenXR
  3. ไปที่ส่วนกลุ่มฟีเจอร์ OpenXR

เปิดใช้การตั้งค่าประสิทธิภาพ XR

การตั้งค่าประสิทธิภาพ XR ใน Unity ช่วยให้แอปสื่อสารข้อกำหนดด้านประสิทธิภาพกับรันไทม์ Android XR และรับการแจ้งเตือนด้านประสิทธิภาพได้

ประโยชน์

  • แอปจะได้รับการแจ้งเตือนจากระบบเพื่อรักษาประสิทธิภาพสูงสุด
  • คุณสามารถให้คำแนะนำด้านประสิทธิภาพแก่รันไทม์ OpenXR ได้

เปิดใช้ฟีเจอร์นี้

ในส่วนกลุ่มฟีเจอร์ OpenXR ที่คุณไปยังก่อนหน้านี้ ให้เปิดใช้ การตั้งค่าประสิทธิภาพ XR

เปิดใช้การเรนเดอร์แบบโฟเวต

การเรนเดอร์แบบโฟเวตจะมีการเพิ่มประสิทธิภาพทั้งแบบคงที่และการติดตามดวงตา ซึ่งจะช่วยปรับปรุงประสิทธิภาพของ GPU อย่างไรก็ตาม การติดตั้งใช้งานการติดตามดวงตาจะช่วยให้ผู้ใช้ได้รับคุณภาพที่ดีขึ้น ด้วยการแสดงผลบริเวณที่ผู้ใช้กำลังมองอยู่ ขณะเดียวกันก็ ลดคุณภาพของภาพที่มองเห็นรอบข้าง ซึ่งจะช่วยลดภาระงานของ GPU ได้อย่างมาก ในขณะที่ยังคงคุณภาพของภาพในจุดที่สำคัญที่สุด

ประโยชน์

  • ลดปริมาณงานของ GPU อย่างมากด้วยการแสดงรายละเอียดน้อยลงใน วิสัยทัศน์รอบข้าง
  • ทำให้บริเวณที่ผู้ใช้กำลังมองอยู่คมชัด
  • ช่วยให้คุณสร้างฉากที่ซับซ้อนมากขึ้นได้โดยไม่ทำให้เฟรมหลุด

เปิดใช้ฟีเจอร์นี้

  1. ในส่วนกลุ่มฟีเจอร์ OpenXR ที่คุณไปยังก่อนหน้านี้ ให้เปิดใช้การเรนเดอร์แบบโฟเวต
  2. ตั้งค่า Foveated Rendering API เป็น SRP Foveation

    การตั้งค่า Unity สำหรับการเรนเดอร์แบบโฟเวต

  3. ในส่วนโปรไฟล์การโต้ตอบที่เปิดใช้ ให้เพิ่มโปรไฟล์การโต้ตอบด้วยการมอง

    การตั้งค่า 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 เกี่ยวกับการเรนเดอร์แบบโฟเวต