본문 바로가기

유니티/VR

[ VR ] 오큘러스 튜토리얼 : Build Your First VR App

[ Build Your First VR App ]

[ 개요 ]

해당 튜토리얼은 유니티를 통해 간단한 VR 앱을 빌드한다 .

해당 앱은 공을 굴려 벽에 충돌이 텍스트가 변경되는 간단한 프로젝트이다 .

 

 

 

[ Set Up ]

[ 01 . 오큘러스 계정에서 Organization 생성 ]

 

참고 : 유튜브 튜토리얼

먼저 오큘러스 디벨로퍼 계정생성후 MetaQuest for Developers에서 organization을 생성해준다 .

 


[ 02 . 모바일 앱에서 개발자 모드 활성화 ]

모바일 앱에 오큘러스 앱을 받고 Quset와 페어링을 진행한다 .

=>오큘러스 계정에서 ORGANIZATION을 만든 다음 오큘러스 기기를 재부팅 한 후 모바일의 오큘러스 앱에 연결한다 .

=>헤드셋 설정을 들어간후 개발자 모드 옵션을 클릭후 활성화 시켜준다 .

=>기기에도 개발자 옵션이 생겼다 .

 

참고 : 만약 헤드셋의 6자리 코드를 찾지 못하였다면 설정 -> 시스템 -> 정보에 기기의 6자리 코드를 볼 수 있을 것이다 .

 


[ 03 . 유니티 에디터 ]

도큐먼트에 따르면 , 유니티 에디터의 최소 버전은 2020.3 LTS이다 . 오큘러스는 안드로이드 기반이기에

Android SDK 및 NDK 도구  OpenJDK 의 설치가 필요하다 .


[ 04 . 개발 및 테스트를 위한 장치 활성화 ]

일반적으로 USB 케이블을 통해 헤드셋을 연결하는게 실제 헤드셋에서 앱을 테스트 하는 기본적인 방법이다 .

또한 ADB (Android Debug Brideg)를 사용하여 Android App에 관한 테스트 및 디버깅이 가능하며 ,

Meta Quest Developer Hub를 통해 헤드셋의 연결이 가능하다 .방식은 아래 두가지가 대표적이다 .

 

  • USB를 통한 헤드셋의 연결의 과정

헤드셋을 개발자 모드로 설정 , USB 케이블로 컴퓨터에 연결 해야 한다 .

  1. Meta 헤드셋을착용하고 개발에 사용할 개발자 계정에 로그인한다 .
  2. 헤드셋에서 설정 > 시스템 >개발자로 이동후 USB 연결 대화 상자 옵션을 킨다 . 혹은 Meta Quest 모바일앱에서 목록에서 헤드셋을 선택한 다음 개발자 모드 옵션을 킬 수도 있다 .
  3. USB-C 케이블을 사용하여 헤드셋을 컴퓨터에 연결하고 헤드셋을 다시 착용한다 .
  4. 데이터에 대한 액세스를 허용하라는 메시지가 표시되면 허용을 클릭한다.
  5. 연결을 확인하려면 Unity 프로젝트를 연 다음 메뉴에서 파일 > 빌드 설정 으로 이동합니다 .
  6. 플랫폼 목록 에서 Android 를 선택한 다음 플랫폼 전환 을 클릭합니다 . 대상 플랫폼이 이미 Android 로 설정되어    있으면 다음 단계로 건너뜁니다.
  7. 장치 실행 목록 에서 메타 헤드셋을 선택합니다. 목록에 메타 헤드셋이 표시되지 않으면 새로 고침 을 클릭합니다 .
  8. 빌드 및 실행을 클릭하여 메타 헤드셋에서 앱을 실행합니다.

 

  • ADB (Android Debug Brideg) 디버깅 활성화

(ADB)는 헤드셋에서 앱 설치 및 디버그, 파일 복사 또는 여러 셸 명령 실행과 같은 다양한 작업을  수행할 수 있는 명령줄 유틸리티이다. Android SDK 도구 설치에 포함되어 있으며 /Android/SDK/platform-tools/폴더 안에 있다

  1. 장치를 USB로 연결합니다 .
  2. Windows에서 개발하는 경우 OEM USB 드라이버를 다운로드 한다 . macOS에서 개발하는 경우 추가 USB 드라이버가 필요하지 않으므로 3단계로 건너뜁니다.
  3. oculus-adb-driver-2.0 zip 파일을 압축해제 /oculus-go-adb-driver-2.0/usb_driver/폴더로 이동하여 android_winusb.inf.를 우클릭 , 설치를 누른다 .
  4. 컴퓨터에서 터미널을 열고 다음 명령을 실행하여 연결된 장치를 확인한다 : adb devices

참고 ) 만약 adb 명령어가 입력이 되지 않는다면 adb 환경변수가 설정이 안된 것이다 . 안드로이드 설치시 특별한 경로를 변경하지 않는다면 C:\Users\본인계정명\AppData\Local\Android\sdk\platform-tools 의 경로에 들어와 있다 .

 

해당 환경변수를  

[내컴퓨터] - [속성] - [고급 시스템 설정] - [환경변수]에 들어가서 [시스템 변수]에서 Path클릭 후 [편집] 클릭. 

변수 값 맨 뒤에 ;C:\Users\본인계정명\AppData\Local\Android\sdk\platform-tools 를 입력 후 확인을 하면 설정 끝.

 

확인 클릭 후,시스템 변수들 중에서 'path' 를 선택하여  팝업화면에서 %adb_path% 를 새로 작성 후 저장한다. 

이후 cmd창에서 adb version이라고 입력해보면 설정이 제대로 되었는지 확인할 수 있다(Version이 출력됨).

 

[ 유니티 설정 ]

[ 대상 플랫폼 설정 ]

Quest 2의 대상 플랫폼은 Android이다 . 

Oculus Store 또는 App Lab에 앱을 제출하려면 사용자가 Oculus Quest 헤드셋에 설치하고 실행할 수 있는

출시 준비 패키지 ( 소스 코드, 리소스, 자산, 매니페스트 파일 등을 컴파일한 APK 파일과 활성화된 경우 APK 확장 파일(OBB) ) 를 만들어야 한다 .

 

여튼 , 유니티의 타겟 플랫폼을 안드로이드로 전환한다 .

 

[ 일반 설정 ]

회사와 앱을 고유하게 식별하는 일반적인 세부정보를 추가한다 .

Player Setting - Player 에서 다음의 것들을 채워준다 .

[ 패키지 식별 설정 ]

  • 패키지의 고유한 이름을 입력한다 . Occulus내에서 고유해야 한다 .
  • 하단의 Version은 위에서 채운 버전과 동일하게 연동된다
  • Bundel Version Code도 버전이 올라감에 따라간다 . 다른 버전보다 최신인지 확인하기 위해 내부적으로 사용된다 .
  • 최소 API 수준은 Android 10.0이상을 지원해야한다 .

[ 구성 설정 ]

  • Scripting Backend는 IL2CPP를 선택한다 . 이는 더 넓은 범위의 플랫폼에서 더 나은 앱 지원을 제공한다 .
  • ARMv7을 해제하고 , ARM64를 선택한다 . Meta Store에서는 64비트앱만 허용되기 때문이다 .
  • Install Locaiton을 Automatic으로 변경한다 . 이를 통해 외부 저장소에 앱을 설치 할 수 있지만 설치위치에 대한 기본 설정이 없음을 나타낸다 .

[ XR Management ]

Meta는 Unity의 XR 플러그인 관리 패키지를 통해 XR 지원을 간소화한다 .

몰입형 Meta Quest 앱을 구축하려면 Occulus Utiities 패키지와 함께 Occulus XR Plugin을 사용하는 것이 좋다 .

도큐먼트

Occulus를 체크한다 .

Occulus가 아래에 생성되었을텐데 들어가 설정값을 다음으로 변경 .

[ 렌더링 설정 ]

  • 사실적인 렌더링을 위해 ColorSpace를 Linear 로 설정한다 . Linear or gamma workflow
  • Auto Graphics API를 체크 해제한다 . 현재 Vulcan은 실험단계이기에 지우고 OpenGLE3만 남겨둔다 .
  • Multithread Rendering을 체크한다 .

[ 품질 설정 정의 ]

Edit - Project Setting - Quality로 이동한다

  • Pixel Light Count는 1로 조정한다 .
  • Texture Quality를 Full Res로 설정한다 .
  • Anisotropic Textures 는 Per Texture로 설정한다 .
  • Anti Aliasing은 4X Multi Sampling으로 설정한다
  • Soft Particles를 체크 해제한다
  • Realtime Reflections Probes 체크한다
  • Billboards Face Camera Position을 체크한다 .

[ Android 매니페스토 파일 생성 ]

Meta Quest 앱에는 AndroidManifest.xml파일이 필요하다 .

해당 부분에 대한 도큐먼트를 체크하자 .

 

[ 앱 생성 ]

[ 앱 생성 ]

도큐먼트를 참고하여 앱을 생성한다 . 앱은 공이 굴러가다 벽을 치면 벽의 색이 변하며 , 텍스트가 출력되는

간단한 앱이다 .

 

[ 빌드 ]

[ 빌드 ]

이제 완성된 앱을 Build 할 차례이다 .

먼저 Run Device를 잡아줘야 하는데 , Refresh를 통해 새로고침을 하였을때 Oculus가 잡혀야 한다 .

이때 , 기기가 나오지 않는다면 위에서 했던 유니티 설정이 잘못된건 아닌지와 오큘러스 내에서 USB 디버깅을 허용했는지

(써서 확인 해봐야함)를 체크해보자

 

Buid And Run을 통해 Build를 진행해보면 앱이 잘 돌아감을 볼 수 있다 .

 

 

참고

오큘러스 Document : Building Your First VR App

Project Eli - 오큘러스 퀘스트2 첫 VR 앱 제작 및 빌드 문제 해결

안드로이드 adb 환경 변수 설정