Unity용 Google Cardboard 빠른 시작

이 가이드에서는 Unity용 Unity용 Google Cardboard XR 플러그인을 사용하여 자체 가상 현실 (VR) 환경을 만드는 방법을 설명합니다.

Cardboard SDK를 사용하면 휴대전화를 VR 플랫폼으로 사용할 수 있습니다. 스마트폰은 입체 렌더링으로 3D 장면을 표시하고, 머리 움직임을 추적 및 반응하고, 사용자가 뷰어 버튼을 누를 때 이를 감지하여 앱과 상호작용할 수 있습니다.

먼저 Cardboard SDK의 핵심 기능을 보여주는 데모 게임인 HelloCardboard를 사용합니다. 게임에서 사용자는 가상 세계를 돌아다니며 사물을 찾고 수집합니다 이 도구는 다음 작업을 수행하는 방법을 보여줍니다.

  • 개발 환경 설정
  • 데모 앱 다운로드 및 빌드
  • 매개변수를 저장하려면 Cardboard 뷰어의 QR 코드를 스캔하세요.
  • 사용자의 머리 움직임 추적
  • 각 눈에 알맞은 왜곡을 설정하여 입체 영상 렌더링
  • VR 모드 사용 및 사용 중지

개발 환경 설정

소프트웨어 요구사항:

SDK 가져오기 및 새 프로젝트 만들기

다음 단계에 따라 Unity SDK를 가져오고 새 프로젝트를 만듭니다.

  1. Unity를 열고 새 3D 프로젝트를 만듭니다.
  2. Unity에서 Window(창) > Package Manager(패키지 관리자)로 이동합니다.
  3. +를 클릭하고 Add package from git URL을 선택합니다.
  4. 텍스트 입력란에 https://github.com/googlevr/cardboard-xr-plugin.git를 붙여넣습니다.
    : 설치된 패키지에 패키지를 추가해야 합니다.
  5. Unity용 Google Cardboard XR Plugin 패키지로 이동합니다. 샘플 섹션에서 프로젝트로 가져오기를 선택합니다.
    샘플 애셋을 Assets/Samples/Google Cardboard/<version>/Hello Cardboard에 로드해야 합니다.

HelloCardboard 장면 구성

  1. Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes로 이동하여 Add Open Scenes를 선택한 후 HelloCardboard를 선택하여 샘플 장면을 엽니다.
  2. Layers(레이어) 메뉴를 열고 Edit Layers...(레이어 편집...)를 선택합니다.
  3. '양방향'이라는 새 레이어를 정의합니다.
  4. Treasure GameObject를 클릭하여 Inspector 창을 엽니다. 레이어를 '양방향'으로 설정합니다. 모든 하위 객체에 대해서도 레이어를 양방향으로 설정할지 묻는 팝업 창이 표시되면 'Yes, change 하위 요소'를 클릭합니다.
  5. Player > Camera > CardboardReticlePointer GameObject를 클릭하여 Inspector 창을 엽니다. 'Carboard 레티클 포인터' 스크립트에서 Reticle Interaction Layer Mask로 'Interactive'를 선택합니다.

Android 프로젝트 설정 구성

File > Build Settings로 이동합니다.

  1. Android를 선택하고 Switch Platform을 선택합니다.
  2. Add Open Scenes(열린 장면 추가)를 선택하고 HelloCardboard를 선택합니다.

플레이어 설정

해결 방법 및 프레젠테이션

프로젝트 설정 > 플레이어 > 해상도 및 프레젠테이션으로 이동합니다.

  1. 기본 방향가로 왼쪽 또는 오른쪽 가로로 설정합니다.
  2. Optimized Frame Pacing(최적화된 프레임 속도)을 사용 중지합니다.

기타 설정

프로젝트 설정 > 플레이어 > 기타 설정으로 이동합니다.

  1. OpenGLES2, OpenGLES3, Vulkan 또는 그래픽 API에서 이들의 조합을 선택합니다.
  2. Minimum API Level에서 Android 8.0 'Oreo' (API level 26) 이상을 선택합니다.
  3. Target API Level에서 API level 33 이상을 선택합니다.
  4. Scripting Backend(스크립팅 백엔드)에서 IL2CPP을 선택합니다.
  5. 대상 아키텍처에서 ARMv7, ARM64 또는 둘 다를 선택하여 원하는 아키텍처를 선택합니다.
  6. 인터넷 액세스에서 Require를 선택합니다.
  7. Package Name에서 회사 도메인을 지정합니다.
  8. VulkanGraphics API로 선택된 경우:
    • Vulkan 설정에서 Apply display rotation during render 체크박스를 선택 해제합니다.
    • Unity 버전이 2021.2 이상이면 텍스처 압축 형식에서 ETC2를 선택합니다.
  9. Unity 버전이 2023.1 이상이면 Activity를 선택하고 애플리케이션 진입점에서 GameActivity을 삭제합니다.

게시 설정

프로젝트 설정 > 플레이어 > 게시 설정으로 이동합니다.

  1. Build 섹션에서 Custom Main Gradle TemplateCustom Gradle Properties Template를 선택합니다.
  2. Assets/Plugins/Android/mainTemplate.gradle의 종속 항목 섹션에 다음 줄을 추가합니다.

      implementation 'androidx.appcompat:appcompat:1.4.2'
      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'
    
  3. Assets/Plugins/Android/gradleTemplate.properties에 다음 줄을 추가합니다.

      android.enableJetifier=true
      android.useAndroidX=true
    

XR 플러그인 관리 설정

프로젝트 설정 > XR 플러그인 관리로 이동합니다.

  1. 플러그인 공급업체에서 Cardboard XR Plugin를 선택합니다.

프로젝트 빌드

File > Build Settings로 이동합니다.

  1. Build를 선택하거나 기기를 선택하고 Build and Run을 선택합니다.

iOS 프로젝트 설정 구성

File > Build Settings로 이동합니다.

  1. iOS를 선택하고 Switch Platform을 선택합니다.
  2. Add Open Scenes(열린 장면 추가)를 선택하고 HelloCardboard를 선택합니다.

플레이어 설정

해결 방법 및 프레젠테이션

프로젝트 설정 > 플레이어 > 해상도 및 프레젠테이션으로 이동합니다.

  1. 기본 방향가로 왼쪽 또는 오른쪽 가로로 설정합니다.

기타 설정

프로젝트 설정 > 플레이어 > 기타 설정으로 이동합니다.

  1. 카메라 사용 설명Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).를 작성합니다.
  2. 타겟 최소 iOS 버전12.0를 작성합니다.
  3. Package Name에서 회사 도메인을 지정합니다.

XR 플러그인 관리 설정

프로젝트 설정 > XR 플러그인 관리로 이동합니다.

  1. 플러그인 공급업체에서 Cardboard XR Plugin를 선택합니다.

프로젝트 빌드

File > Build Settings로 이동합니다.

  1. Build 또는 Build and Run을 선택합니다.

현재 위치로 이동

Cardboard SDK를 사용하면 Recenter()를 사용하여 헤드 추적기의 중심을 다시 설정할 수 있습니다.

샘플 애플리케이션을 사용하여 시험하려면 다음 단계를 따르세요.

  1. 중심을 다시 설정할 위치로 기기를 이동합니다 (새로운 앞을 바라보는 머리 자세로 사용).
  2. Cardboard 기기의 트리거를 3초 이상 활성 상태로 유지합니다.
  3. 트리거를 해제합니다.
  4. 이제 초기 포즈는 카메라가 가리키는 방향입니다.

VR 모드 사용 및 사용 중지

Unity XR Plugin Management API를 사용하면 Unity용 Google Cardboard XR 플러그인의 VR 모드를 사용 설정하거나 사용 중지할 수 있습니다. 최종 사용자 문서 및 사용 예는 Unity 최종 사용자 문서에서 확인할 수 있습니다.

HelloCardboard 샘플의 VrMode 장면은 앞서 언급한 API의 기본 사용법을 보여줍니다. 이 장면에서 VR 모드는 종료 를 탭하여 사용 중지할 수 있으며 화면의 아무 곳이나 탭하여 다시 사용 설정할 수 있습니다. 실행 방법에 관한 자세한 내용은 VrModeController.cs를 참고하세요.

다음 단계