이 가이드에서는 Unity용 Google Cardboard XR 플러그인을 사용하여 나만의 가상 현실 (VR) 환경을 만드는 방법을 보여줍니다.
Cardboard SDK를 사용하여 휴대전화를 VR 플랫폼으로 전환할 수 있습니다. 스마트폰은 입체 렌더링으로 3D 장면을 표시하고, 머리 움직임을 추적하여 반응하고, 사용자가 뷰어 버튼을 누르는 시점을 감지하여 앱과 상호작용할 수 있습니다.
시작하려면 Cardboard SDK의 핵심 기능을 보여주는 데모 게임인 HelloCardboard를 사용합니다. 게임에서 사용자는 가상 세계를 탐색하며 물건을 찾고 수집합니다. 다음 작업을 수행하는 방법을 보여줍니다.
- 개발 환경 설정
- 데모 앱 다운로드 및 빌드
- Cardboard 뷰어의 QR 코드를 스캔하여 매개변수를 저장합니다.
- 사용자의 머리 움직임 추적
- 각 눈에 올바른 왜곡을 설정하여 입체 이미지 렌더링
- VR 모드 사용/사용 중지하기
개발 환경 설정
소프트웨어 요구사항:
- Unity 2021.3.44f1 이상
- 설치 중에 Android 및 iOS Build Support를 포함해야 합니다.
- 패치 버전 44f1 이상을 설치해야 합니다.
- Git이 설치되어 있고
git
실행 파일이PATH
환경 변수에 있어야 합니다. 자세한 내용은 Unity의 패키지 관리자 git 지원 문서를 참고하세요.
SDK 가져오기 및 새 프로젝트 만들기
Unity SDK를 가져오고 새 프로젝트를 만들려면 다음 단계를 따르세요.
- Unity를 열고 새 3D 프로젝트를 만듭니다.
- Unity에서 Window > Package Manager로 이동합니다.
- +를 클릭하고 Add package from git URL(git URL에서 패키지 추가)을 선택합니다.
- 텍스트 입력란에
https://github.com/googlevr/cardboard-xr-plugin.git
를 붙여넣습니다.
패키지가 설치된 패키지에 추가되어야 합니다. - Unity용 Google Cardboard XR 플러그인 패키지로 이동합니다. 샘플 섹션에서 프로젝트로 가져오기를 선택합니다.
샘플 애셋이Assets/Samples/Google Cardboard/<version>/Hello Cardboard
에 로드됩니다.
HelloCardboard 장면 구성
Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes
로 이동하여 Add Open Scenes(열린 장면 추가)를 선택하고 HelloCardboard를 선택하여 샘플 장면을 엽니다.- 레이어 메뉴를 열고 레이어 수정...을 선택합니다.
- 'Interactive'라는 새 레이어를 정의합니다.
- 보물 게임 오브젝트를 클릭하여 검사기 창을 엽니다. 레이어를 '대화형'으로 설정합니다. 모든 하위 객체의 레이어를 상호작용형으로 설정할지 묻는 팝업 창이 표시되면 '예, 하위 요소 변경'을 클릭합니다.
- Player > Camera > CardboardReticlePointer 게임 객체를 클릭하여 검사기 창을 엽니다. 'Carboard 레티클 포인터' 스크립트에서 레티클 상호작용 레이어 마스크로 'Interactive'를 선택합니다.
Android 프로젝트 설정 구성
File > Build Settings로 이동합니다.
- Android를 선택하고 Switch Platform(플랫폼 전환)을 선택합니다.
- Add Open Scenes(열린 장면 추가)을 선택하고 HelloCardboard를 선택합니다.
플레이어 설정
해결 방법 및 프레젠테이션
Project Settings(프로젝트 설정) > Player(플레이어) > Resolution and Presentation(해상도 및 프레젠테이션)으로 이동합니다.
- 기본 방향을 가로 모드 왼쪽 또는 가로 모드 오른쪽으로 설정합니다.
- 최적화된 프레임 속도를 사용 중지합니다.
기타 설정
Project Settings(프로젝트 설정) > Player(플레이어) > Other Settings(기타 설정)으로 이동합니다.
- 그래픽 API에서
OpenGLES2
,OpenGLES3
,Vulkan
또는 이들의 조합을 선택합니다. - 최소 API 수준에서
Android 8.0 'Oreo' (API level 26)
이상을 선택합니다. - 타겟 API 수준에서
API level 33
이상을 선택합니다. - Scripting Backend(스크립팅 백엔드)에서
IL2CPP
를 선택합니다. - Target Architectures에서
ARMv7
,ARM64
또는 둘 다를 선택하여 원하는 아키텍처를 선택합니다. - 인터넷 액세스에서
Require
를 선택합니다. - Active Input Handling에서
Input System Package (New)
을 선택합니다. - Package Name(패키지 이름)에서 회사 도메인을 지정합니다.
Vulkan
가 Graphics API로 선택된 경우:- Vulkan 설정에서 렌더링 중 디스플레이 회전 적용 체크박스를 선택 해제합니다.
- Unity 버전이 2021.2 이상인 경우 텍스처 압축 형식에서
ETC2
를 선택합니다.
- Unity 버전이 2023.1 이상인 경우 애플리케이션 진입점에서
Activity
를 선택하고GameActivity
을 지웁니다.
게시 설정
프로젝트 설정 > 플레이어 > 게시 설정으로 이동합니다.
- 빌드 섹션에서
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.12.0' implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
Assets/Plugins/Android/gradleTemplate.properties
에 다음 줄을 추가합니다.android.enableJetifier=true android.useAndroidX=true
XR 플러그인 관리 설정
Project Settings(프로젝트 설정) > XR Plug-in Management(XR 플러그인 관리)로 이동합니다.
- 플러그인 제공업체에서
Cardboard XR Plugin
를 선택합니다.
프로젝트 빌드
File > Build Settings로 이동합니다.
- Build를 선택하거나 기기를 선택하고 Build and Run을 선택합니다.
iOS 프로젝트 설정 구성
File > Build Settings로 이동합니다.
- iOS를 선택하고 Switch Platform을 선택합니다.
- Add Open Scenes(열린 장면 추가)을 선택하고 HelloCardboard를 선택합니다.
플레이어 설정
해결 방법 및 프레젠테이션
Project Settings(프로젝트 설정) > Player(플레이어) > Resolution and Presentation(해상도 및 프레젠테이션)으로 이동합니다.
- 기본 방향을 가로 모드 왼쪽 또는 가로 모드 오른쪽으로 설정합니다.
기타 설정
Project Settings(프로젝트 설정) > Player(플레이어) > Other Settings(기타 설정)으로 이동합니다.
- 카메라 사용 설명에
Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
을 입력합니다. - 최소 대상 iOS 버전에
12.0
을 입력합니다. - Package Name(패키지 이름)에서 회사 도메인을 지정합니다.
XR 플러그인 관리 설정
Project Settings(프로젝트 설정) > XR Plug-in Management(XR 플러그인 관리)로 이동합니다.
- 플러그인 제공업체에서
Cardboard XR Plugin
를 선택합니다.
프로젝트 빌드
File > Build Settings로 이동합니다.
- Build 또는 Build and Run을 선택합니다.
중심 재설정
Cardboard SDK를 사용하면 Recenter()
를 사용하여 머리 추적기의 중심을 다시 맞출 수 있습니다.
샘플 애플리케이션을 사용하여 사용해 보려면 다음 단계를 따르세요.
- 기기를 중심을 맞추려는 위치로 이동합니다 (새로운 정면 보기 머리 자세로 사용).
- Cardboard 기기의 트리거를 3초 이상 길게 누릅니다.
- 트리거를 해제합니다.
- 이제 초기 포즈가 카메라가 향하는 방향에 있습니다.
VR 모드 사용/사용 중지하기
Unity XR 플러그인 관리 API를 사용하면 Unity용 Google Cardboard XR 플러그인의 VR 모드를 켜거나 끌 수 있습니다. 최종 사용자 문서 및 사용 예시는 Unity의 최종 사용자 문서에서 확인할 수 있습니다.
HelloCardboard 샘플의 VrMode 장면은 위에서 언급한 API의 기본 사용법을 보여줍니다. 이 장면에서는 종료 를 탭하여 VR 모드를 사용 중지할 수 있으며 화면의 아무 곳이나 탭하여 다시 사용 설정할 수 있습니다. 이 작업이 실행되는 방식에 관한 자세한 내용은 VrModeController.cs를 확인하세요.
다음 단계
- Cardboard 브랜딩 가이드라인을 검토합니다.