안녕하세요!
VR 게임 개발을 할 때 가장 중요한 것 중 하나가 바로 안정적인 프레임레이트 유지와 배터리 효율성인데요, 이를 위해 Meta에서 제공하는 다양한 최적화 기능들을 활용할 수 있습니다. Meta Quest VR 개발 시 성능 최적화를 위한 설정에 대해 간단히 알아보겠습니다.
최적화 스크립트 만들기
아래에 작성된 OVRSetup 스크립트는 Meta Quest 디바이스의 초기 설정을 담당하는 스크립트입니다.
게임이 시작될 때 자동으로 최적의 렌더링 설정을 적용해서 성능과 시각적 품질의 균형을 맞춰줍니다.
전체 코드
using System.Collections;
using UnityEngine;
namespace Oculus.Interaction.ComprehensiveSample
{
/// <summary>
/// Sets the initial FPS and Foveation level
/// </summary>
public class OVRSetup : MonoBehaviour
{
IEnumerator Start()
{
DontDestroyOnLoad(gameObject);
yield return new WaitUntil(() => OVRManager.display != null);
Debug.Log("OVRSetup");
OVRManager.foveatedRenderingLevel = OVRManager.FoveatedRenderingLevel.HighTop;
OVRManager.useDynamicFoveatedRendering = false;
OVRManager.display.displayFrequency = 72;
}
}
}
코드 분석
1. OVR 디스플레이 초기화 대기
yield return new WaitUntil(() => OVRManager.display != null);
OVR 시스템이 완전히 초기화될 때까지 기다린 후 설정을 적용합니다. 이는 안정적인 초기화를 보장합니다.
2. Foveated Rendering 설정
OVRManager.foveatedRenderingLevel = OVRManager.FoveatedRenderingLevel.HighTop;
OVRManager.useDynamicFoveatedRendering = false;
Foveated Rendering이란 사용자의 시선이 집중되는 중앙 부분은 고해상도로, 주변부는 저해상도로 렌더링하는 기술입니다.
HighTop
: 가장 강력한 foveation 효과useDynamicFoveatedRendering = false
: 고정 foveation 사용 (동적 시선 추적 비활성화)
3. 디스플레이 주파수 설정
OVRManager.display.displayFrequency = 72;
Meta Quest 2의 경우 72Hz로 설정하여 배터리 수명과 성능의 균형을 맞춥니다.
설정 옵션 알아보기
Foveated Rendering Level 옵션
Off
: 비활성화Low
: 약한 효과Medium
: 중간 효과High
: 강한 효과HighTop
: 최대 효과
Display Frequency 옵션
- 72Hz: 기본 설정, 배터리 효율 좋음
- 90Hz: 더 부드러운 움직임, 배터리 소모 증가
- 120Hz: 최고 품질 (Meta Quest Pro, Quest 3 지원)
🚨 주의사항
- 디바이스별 지원 주파수 확인: 모든 Quest 기기가 동일한 주파수를 지원하지 않습니다
- Foveation 효과 테스트: 게임 장르에 따라 적절한 레벨을 찾아야 합니다
- 성능 모니터링: OVR Metrics Tool을 활용해 실제 성능을 확인하세요
📌 관련 태그:
혹시 이 글이 도움이 되셨다면 ❤️ 좋아요와 댓글 부탁드려요!