GaGe

[Unity] 오큘러스 퀘스트2 VR 카메라 셋팅하기 (OVRcamreaRig vs XR Rig), VR유니티 개발 초기 설정 본문

Unity

[Unity] 오큘러스 퀘스트2 VR 카메라 셋팅하기 (OVRcamreaRig vs XR Rig), VR유니티 개발 초기 설정

Sorrel 2021. 9. 29. 14:57

0. 왜 이 글을 쓰게 되었나?

더보기

 VR의 카메라 및 컨트롤러 set은 OVRCameraRig와 XR Rig 가 있다는 것을 알게 되었는데, 아무리 입력을 받으려 해도 되지 않았고, 두 Rig는 입력을 받는 스크립트 코드가 다르다는 것을 알게 되었다.

 따라서 두 Rig들을 이용하여 컨트롤러 입력을 감지하는 방법을 헷갈리지 않게 각각 기술하고 차이점을 구분하기 위해 이 글을 쓴다.

 

1. OVRCameraRig


Oculus Integration 패키지에 있는 VR 전용 camera 프리팹입니다. 

OVRCameraRig
: prefab that provides the transform object to represent the Oculus tracking space.

 

2. XR Rig


XR interaction toolkit 패키지로 사용 가능

XR Rig는 가상 세계에서 사용자의 눈, 귀, 손입니다.
사용자가 가상 ​​세계에서 이동할 수 있도록 하는 이동 및/또는 순간이동 시스템과 함께 작동합니다.

1. Room-Scale XR Rig
2. Stationary XR Rig

Room-Scale XR Rig는 사용자의 물리적 공간 바닥을 추적 원점으로 사용하여 6개의 자유도(회전 및 위치 이동)를 허용하여 물리적 환경의 규모에서 가상 세계를 탐색할 수 있습니다. 사용자가 가상 환경에서 서거나 걷는 프로젝트에 적합합니다.

Stationary XR Rig는 사용자의 장치를 추적 원점으로 사용하여 사용자가 3개의 자유도를 둘러볼 수 있도록 하며 사용자가 앉아 있는 프로젝트에 적합합니다.

 

3. 기타

 저는 카메라(사용자X)가 움직여야 할 때 XR Rig를 사용했고 카메라가 움직이지 않을 때 OVRCameraRig를 사용했습니다.

OVRCameraRig는 입력감지 키워드가 비교적 간편하여 간단한 코드에서 사용했고, 이동을 구현해야 할 때는 XR Rig를 사용했습니다.

 

해당 카메라들을 조작하는 스크립트 설명은 다음 포스팅에서 이어서 하도록 하겠습니다.

 

https://mumumi.tistory.com/144

 

[Unity] OVRCameraRig로 컨트롤러 입력 받는 방법

1. OVRCameraRig란? 2021.09.29 - [Unity] - [Unity] 오큘러스 퀘스트2 VR 카메라 셋팅하기 (OVRcamreaRig vs XR Rig), VR유니티 개발 초기 설정 [Unity] 오큘러스 퀘스트2 VR 카메라 셋팅하기 (OVRcamreaRig vs X..

mumumi.tistory.com

 

 

4. OVRCameraRig 설치 및 셋팅

 

https://assetstore.unity.com/packages/tools/integration/oculus-integration-82022?locale=ko-KR 

 

Oculus Integration | 기능 통합 | Unity Asset Store

Use the Oculus Integration from Oculus on your next project. Find this integration tool & more on the Unity Asset Store.

assetstore.unity.com

 

위 주소로 들어가서 "My Asset에 추가" 버튼을 누르게 되면 그 버튼이 "Unity에서 열기" 버튼으로 바뀝니다.

 

"Unity에서 열기" 버튼을 누릅니다.

 

 

패키지 매니저를 열어줍니다.

보통 hierarchy 옆에 나란히 탭이 있습니다.

없다면 window ▶ package manager 를 열어줍니다.

 

패키지 매니저에서 Packages: 를 My Assets로 바꿔줍니다.

그럼 아까 유니티 웹페이지에 있던 oculus integration이 목록에 뜹니다.

 

 

import 해줍니다.

저는 용량 문제로 sample이나 test 파일은 체크 해제하고 다운 받았습니다.

 

 

패키지를 다운 받으면, Assets 폴더에 Oculus 폴더가 생깁니다.

이 안의 패키지 파일들로 VR 프로그래밍을 하게 됩니다.

 

 

 

같은 방식으로 패키지 매니저에 들어가서 이번에는 Packages: My Assets가 아닌 Packages: Unity Registry로 들어갑니다.

xr을 검색하면 XR Plugin Management가 나오는데 저는 3.2.16버전을 사용합니다.

3.2.17버전을 사용하면 특정한 오류가 나는데 3.2.16버전으로 다운그레이드하니 오류가 없어지더군요.

 

 

 

그 다음 Edit ▶ Project Settings...를 엽니다.

 

 

XR Plug-in Management가 생겼을텐데, Oculus부분을 체크해줍니다.

(안드로이드 앱을 개발할 분들은 카테고리에서 안드로이드 부분에서 체크해줍니다)

 

 

파일을 검색하는 곳에 "ovrcamerarig"를 검색하면 파란색의 프리팹 파일이 뜹니다.

해당 파일의 위치는 Assets ▶ Oculus ▶ VR ▶ Prefabs ▶ OVRCameraRig.prefab 입니다.

 

 

hierachy에 해당 프리팹을 드래그 앤 드롭하면 scene화면에 카메라가 보이게 됩니다.

한 씬에 카메라가 두개 있을 수는 없으니 원래 있던 Main Camera를 삭제하거나 Inspector창의 이름 옆 체크박스를 해제하여 disabled 해줍니다.

 

 

 

OVRCameraRig를 원래 있던 Main Camera처럼 사용하시면 됩니다.

(OVRCameraRig를 활용한 VR 카메라 컨트롤 함수나 방법들은 다음 게시글에 설명하겠습니다.)

 

 

 

 

 

5. XR Rig 설치 및 셋팅

 

 

XR Rig를 설치하려면 역시 관련 패키지가 필요합니다.

패키지 매니저를 열어줍니다.

오른쪽 톱니바퀴 모양 버튼을 눌러 Advanced Project Settings를 열어줍니다.

 

 

해당 창이 뜨는데 첫번 째 체크박스인 Enable Preview Packages를 체크해줍니다.

해당 창이 뜰텐데, I understand를 눌러주고 restart 해줍니다.

 

 

 

그럼 패키지 매니저에 원래는 보이지 않던 preview 패키지 파일들도 보입니다.

이 설정을 하게 되면 정식으로 나오지 않은 패키지 파일들을 체험해볼 수 있다고 생각하면 될 것 같습니다.

우리가 사용하려는 XR interaction toolkit 패키지 역시 정식 패키지가 아닌 프리뷰로 테스트 해볼 수 있는 패키지입니다.

 

 

 

검색창에 "xr interaction toolkit"을 검색하여 import 받습니다.

 

 

 

프리팹으로 제공해주던 OVRCameraRig와는 달리

XR Rig는 우클릭으로 바로 생성할 수 있습니다.

 

hierarchy 창에서 우클릭 ▶ XR ▶ Stationary XR Rig 또는 Room-Scale XR Rig (용도에 맞게 선택)

 

 

그럼 XR Rig 와 함께 아래에 Camera Offset, 그 아래에 LeftHand Controller, RightHand Controller가 생성됩니다.

 

Camera는 따로 생성되지 않기 때문에 우클릭 ▶ Camera로 직접 생성해주고 태그를 main Camera로 변경한 뒤,

하위 오브젝트로 넣어주었습니다.

 

이 역시 XR Rig를 쓰려면 OVRCameraRig나 Main Camera 등 다른 Camera가 없어야합니다.

 

 

 

 


도움이 되었다면 공감 부탁드립니다.

초보 개발자에게 큰 힘이 됩니다.

Comments