WinCNT

Unity로 간단한 VR 씬 만들기 본문

Unity/VR 게임 개발

Unity로 간단한 VR 씬 만들기

WinCNT_SSS 2023. 4. 17. 14:07

서론

간단한 VR 씬을 만들어보기로 했다

참고로 따로 확인할 것이 있어서 우선 빌트 인으로 만들고 URP로 변경할 예정이다

그럼 시작!


Hello VR

오큘러스의 공식 문서를 참고해서 간단한 씬을 만들고 실행해보자!

Tutorial - Hello VR on Meta Quest Headset | Oculus Developers

Oculus Integration SDK

우선은 새로 프로젝트를 만들고 대충 세팅이 끝낸 다음 튜토리얼의 Step4를 해줬다

참고로 Oculus Integration SDK는 아래에서 다운로드 할 수 있다

Oculus Developer Center | Downloads

 

Oculus Developer Center | Downloads

 

developer.oculus.com

무수한 확인과 재시작이 끝났으면 메뉴에 Oculus가 추가된다

Plugin

그리고 패키지 매니저에서 다음의 플러그인을 추가했

  • OVRPlugin - A plugin that allows Unity to communicate with the VR Runtime of Meta Quest.
  • Oculus XR Plugin - An extension of the Unity VR subsystem that communicates with OVRPlugin.

다음과 같은 경고창이 표시됐지만 일단 YES! YES! YES!

Build Settings

다음은 튜토리얼 Step5의 빌드 세팅 변경이다

오큘러스는 안드로이드 플랫폼이기 때문에 알맞게 설정하고 Switch Platform을 클릭!

Project Settings

다음은 프로젝트 세팅의 차례이다

대부분은 튜토리얼의 Step5의 5번 이후를 따라했지만 아래와 같이 다르게 설정한 곳도 있다


Build

간단한 씬을 만들고 빌드해서 실행해보자!

 

빌드한 APK 파일을 MQDH를 통해 설치하고 Launch App를 클릭해서 실행했다

(자세한 건 전에 썼던 글을 참고해주세요)

https://wincnt-shim.tistory.com/338

 

Oculus용 빌드 만들기

서론 본격적인 개발에 참여하기 앞서 개발 환경을 구축하기로 했다 우선은 Oculus용 빌드를 만들어 보기로 했다 아쉽게도 알려주는 사람은 없었기 때문에(…) 혼자 해보면서 깨달았던 점을 정리

wincnt-shim.tistory.com

 

Profit!


번외) Set Display Refresh Rates

현시점에서의 VR 게임들은 72프레임을 기준으로 만드는 경우가 많은 것 같다

하지만 Oculus Quest2는 아무튼 120Hz의 주사율까지 지원은 한다

Set Display Refresh Rates: Unity | Oculus Developers

 

Set Display Refresh Rates: Unity | Oculus Developers

 

developer.oculus.com

차후의 성능 테스트에 사용할지도 모르기에 다음의 코드로 Display Refresh Rate가 변경되는지 확인해봤다

void Start()
{
#if ENABLE_VR && !UNITY_EDITOR
    // VRC Refresh Rate
    // OVRPlugin.systemDisplayFrequency = 72;
    // OVRPlugin.systemDisplayFrequency = 90;
    OVRPlugin.systemDisplayFrequency = 120;

    // FFR
    OVRManager.foveatedRenderingLevel = OVRManager.FoveatedRenderingLevel.Off;

    // 부하에 따라 자동으로 렌더 스케일을 변경할 것인지 정하는 플래그
    OVRManager.useDynamicFoveatedRendering = false;

    // 시야 전체의 렌더 스케일
    UnityEngine.XR.XRSettings.eyeTextureResolutionScale = 0.9f;
#endif
}

 

그 결과는…일단 성공!!

Profit!


참고 자료

Tutorial - Hello VR on Meta Quest Headset | Oculus Developers

 

Tutorial - Hello VR on Meta Quest Headset | Oculus Developers

 

developer.oculus.com

Set Display Refresh Rates: Unity | Oculus Developers

 

Set Display Refresh Rates: Unity | Oculus Developers

 

developer.oculus.com