이 가이드에서는 Unity용 Unity용 Google Cardboard XR 플러그인을 사용하여 자체 가상 현실 (VR) 환경을 만드는 방법을 설명합니다.
Cardboard SDK를 사용하면 휴대전화를 VR 플랫폼으로 사용할 수 있습니다. 스마트폰은 입체 렌더링으로 3D 장면을 표시하고, 머리 움직임을 추적 및 반응하고, 사용자가 뷰어 버튼을 누를 때 이를 감지하여 앱과 상호작용할 수 있습니다.
먼저 Cardboard SDK의 핵심 기능을 보여주는 데모 게임인 HelloCardboard를 사용합니다. 게임에서 사용자는 가상 세계를 돌아다니며 사물을 찾고 수집합니다 이 도구는 다음 작업을 수행하는 방법을 보여줍니다.
- 개발 환경 설정
- 데모 앱 다운로드 및 빌드
- 매개변수를 저장하려면 Cardboard 뷰어의 QR 코드를 스캔하세요.
- 사용자의 머리 움직임 추적
- 각 눈에 알맞은 왜곡을 설정하여 입체 영상 렌더링
- VR 모드 사용 및 사용 중지
개발 환경 설정
소프트웨어 요구사항:
- Unity 2021.3.32f1 이상
- 설치 중에 Android 및 iOS 빌드 지원을 포함해야 합니다.
- Git이 설치되어 있어야 하며
git
실행 파일이PATH
환경 변수에 있어야 합니다. 자세한 내용은 Unity의 패키지 관리자 git 지원 문서를 참고하세요.
SDK 가져오기 및 새 프로젝트 만들기
다음 단계에 따라 Unity SDK를 가져오고 새 프로젝트를 만듭니다.
- Unity를 열고 새 3D 프로젝트를 만듭니다.
- Unity에서 Window(창) > Package Manager(패키지 관리자)로 이동합니다.
- +를 클릭하고 Add package from git URL을 선택합니다.
- 텍스트 입력란에
https://github.com/googlevr/cardboard-xr-plugin.git
를 붙여넣습니다.
: 설치된 패키지에 패키지를 추가해야 합니다. - Unity용 Google Cardboard XR Plugin 패키지로 이동합니다. 샘플 섹션에서 프로젝트로 가져오기를 선택합니다.
샘플 애셋을Assets/Samples/Google Cardboard/<version>/Hello Cardboard
에 로드해야 합니다.
HelloCardboard 장면 구성
Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes
로 이동하여 Add Open Scenes를 선택한 후 HelloCardboard를 선택하여 샘플 장면을 엽니다.- Layers(레이어) 메뉴를 열고 Edit Layers...(레이어 편집...)를 선택합니다.
- '양방향'이라는 새 레이어를 정의합니다.
- Treasure GameObject를 클릭하여 Inspector 창을 엽니다. 레이어를 '양방향'으로 설정합니다. 모든 하위 객체에 대해서도 레이어를 양방향으로 설정할지 묻는 팝업 창이 표시되면 'Yes, change 하위 요소'를 클릭합니다.
- Player > Camera > CardboardReticlePointer GameObject를 클릭하여 Inspector 창을 엽니다. 'Carboard 레티클 포인터' 스크립트에서 Reticle Interaction Layer Mask로 'Interactive'를 선택합니다.
Android 프로젝트 설정 구성
File > Build Settings로 이동합니다.
- Android를 선택하고 Switch Platform을 선택합니다.
- Add Open Scenes(열린 장면 추가)를 선택하고 HelloCardboard를 선택합니다.
플레이어 설정
해결 방법 및 프레젠테이션
프로젝트 설정 > 플레이어 > 해상도 및 프레젠테이션으로 이동합니다.
- 기본 방향을 가로 왼쪽 또는 오른쪽 가로로 설정합니다.
- Optimized Frame Pacing(최적화된 프레임 속도)을 사용 중지합니다.
기타 설정
프로젝트 설정 > 플레이어 > 기타 설정으로 이동합니다.
OpenGLES2
,OpenGLES3
,Vulkan
또는 그래픽 API에서 이들의 조합을 선택합니다.- Minimum API Level에서
Android 8.0 'Oreo' (API level 26)
이상을 선택합니다. - Target API Level에서
API level 33
이상을 선택합니다. - Scripting Backend(스크립팅 백엔드)에서
IL2CPP
을 선택합니다. - 대상 아키텍처에서
ARMv7
,ARM64
또는 둘 다를 선택하여 원하는 아키텍처를 선택합니다. - 인터넷 액세스에서
Require
를 선택합니다. - Package Name에서 회사 도메인을 지정합니다.
Vulkan
가 Graphics API로 선택된 경우:- Vulkan 설정에서 Apply display rotation during render 체크박스를 선택 해제합니다.
- Unity 버전이 2021.2 이상이면 텍스처 압축 형식에서
ETC2
를 선택합니다.
- Unity 버전이 2023.1 이상이면
Activity
를 선택하고 애플리케이션 진입점에서GameActivity
을 삭제합니다.
게시 설정
프로젝트 설정 > 플레이어 > 게시 설정으로 이동합니다.
- Build 섹션에서
Custom Main Gradle Template
및Custom Gradle Properties Template
를 선택합니다. Assets/Plugins/Android/mainTemplate.gradle
의 종속 항목 섹션에 다음 줄을 추가합니다.implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.gms:play-services-vision:20.1.3' implementation 'com.google.android.material:material:1.6.1' implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
Assets/Plugins/Android/gradleTemplate.properties
에 다음 줄을 추가합니다.android.enableJetifier=true android.useAndroidX=true
XR 플러그인 관리 설정
프로젝트 설정 > XR 플러그인 관리로 이동합니다.
- 플러그인 공급업체에서
Cardboard XR Plugin
를 선택합니다.
프로젝트 빌드
File > Build Settings로 이동합니다.
- Build를 선택하거나 기기를 선택하고 Build and Run을 선택합니다.
iOS 프로젝트 설정 구성
File > Build Settings로 이동합니다.
- iOS를 선택하고 Switch Platform을 선택합니다.
- Add Open Scenes(열린 장면 추가)를 선택하고 HelloCardboard를 선택합니다.
플레이어 설정
해결 방법 및 프레젠테이션
프로젝트 설정 > 플레이어 > 해상도 및 프레젠테이션으로 이동합니다.
- 기본 방향을 가로 왼쪽 또는 오른쪽 가로로 설정합니다.
기타 설정
프로젝트 설정 > 플레이어 > 기타 설정으로 이동합니다.
- 카메라 사용 설명에
Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
를 작성합니다. - 타겟 최소 iOS 버전에
12.0
를 작성합니다. - Package Name에서 회사 도메인을 지정합니다.
XR 플러그인 관리 설정
프로젝트 설정 > XR 플러그인 관리로 이동합니다.
- 플러그인 공급업체에서
Cardboard XR Plugin
를 선택합니다.
프로젝트 빌드
File > Build Settings로 이동합니다.
- Build 또는 Build and Run을 선택합니다.
현재 위치로 이동
Cardboard SDK를 사용하면 Recenter()
를 사용하여 헤드 추적기의 중심을 다시 설정할 수 있습니다.
샘플 애플리케이션을 사용하여 시험하려면 다음 단계를 따르세요.
- 중심을 다시 설정할 위치로 기기를 이동합니다 (새로운 앞을 바라보는 머리 자세로 사용).
- Cardboard 기기의 트리거를 3초 이상 활성 상태로 유지합니다.
- 트리거를 해제합니다.
- 이제 초기 포즈는 카메라가 가리키는 방향입니다.
VR 모드 사용 및 사용 중지
Unity XR Plugin Management API를 사용하면 Unity용 Google Cardboard XR 플러그인의 VR 모드를 사용 설정하거나 사용 중지할 수 있습니다. 최종 사용자 문서 및 사용 예는 Unity 최종 사용자 문서에서 확인할 수 있습니다.
HelloCardboard 샘플의 VrMode 장면은 앞서 언급한 API의 기본 사용법을 보여줍니다. 이 장면에서 VR 모드는 종료 를 탭하여 사용 중지할 수 있으며 화면의 아무 곳이나 탭하여 다시 사용 설정할 수 있습니다. 실행 방법에 관한 자세한 내용은 VrModeController.cs를 참고하세요.
다음 단계
- Cardboard 브랜드 가이드라인을 검토합니다.