최적의 성능을 위해 OpenXR 기능 설정 조정

Unity는 OpenXR 설정에서 성능 관련 기능을 제공합니다. 이러한 기능을 사용 설정하면 앱이 Android XR 런타임과 통신하고, 성능 알림을 수신하고, 시선 추적 렌더링을 사용하여 GPU 성능을 최적화할 수 있습니다.

기본 요건

이 안내를 따르기 전에 다음 기본 요건을 확인하고 완료해야 합니다.

OpenXR 기능 설정 액세스

다음 단계에 따라 Unity의 OpenXR 기능 설정에 액세스하여 다음 섹션에 설명된 성능 기능을 구성하세요.

  1. Unity 기본 메뉴에서 Edit > Project Settings를 클릭합니다.
  2. XR 플러그인 관리 섹션을 펼친 다음 OpenXR을 클릭합니다.
  3. OpenXR 기능 그룹 섹션으로 이동합니다.

XR 성능 설정 사용 설정

Unity의 XR 성능 설정을 사용하면 앱이 Android XR 런타임에 성능 요구사항을 전달하고 성능 알림을 받을 수 있습니다.

이점

  • 앱은 최적의 성능을 유지하기 위해 시스템 알림을 수신합니다.
  • OpenXR 런타임에 성능 힌트를 제공할 수 있습니다.

이 기능 사용 설정

이전에 이동한 OpenXR 기능 그룹 섹션에서 XR 성능 설정을 사용 설정합니다.

시선 추적 렌더링 사용 설정

포비에이트 렌더링은 GPU 성능을 개선하는 정적 최적화와 시선 추적 최적화를 모두 제공합니다. 하지만 시선 추적 구현은 사용자가 보고 있는 영역을 렌더링하는 동시에 주변 시야의 품질을 낮춰 사용자에게 더 나은 품질을 제공합니다. 이렇게 하면 가장 중요한 부분의 시각적 품질을 유지하면서 GPU 워크로드를 크게 줄일 수 있습니다.

이점

  • 주변 시야에서 세부정보를 적게 렌더링하여 GPU 워크로드를 크게 줄입니다.
  • 사용자가 보고 있는 영역을 선명하게 유지합니다.
  • 프레임이 누락되지 않고 더 복잡한 장면을 만들 수 있습니다.

이 기능 사용 설정

  1. 이전에 이동한 OpenXR 기능 그룹 섹션에서 시선 추적 렌더링을 사용 설정합니다.
  2. Foveated Rendering APISRP Foveation으로 설정합니다.

    시선 추적 렌더링을 위한 Unity 설정

  3. 사용 설정된 상호작용 프로필 섹션에서 시선 추적 상호작용 프로필을 추가합니다.

    사용 설정된 상호작용 프로필의 Unity 설정

  4. 권한 그룹 섹션에서 android.permission.EYE_TRACKING_FINE 권한을 요청해야 한다고 지정합니다.

    android.permission.EYE_TRACKING_FINE 권한이 요청된 권한 그룹의 Unity 설정

  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의 시선 추적 렌더링에 관한 문서를 참고하세요.