Unity용 Google Cardboard 빠른 시작

이 가이드에서는 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를 가져오고 새 프로젝트를 만들려면 다음 단계를 따르세요.

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

HelloCardboard 장면 구성

  1. Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes로 이동하여 Add Open Scenes(열린 장면 추가)를 선택하고 HelloCardboard를 선택하여 샘플 장면을 엽니다.
  2. 레이어 메뉴를 열고 레이어 수정...을 선택합니다.
  3. 'Interactive'라는 새 레이어를 정의합니다.
  4. 보물 게임 오브젝트를 클릭하여 검사기 창을 엽니다. 레이어를 '대화형'으로 설정합니다. 모든 하위 객체의 레이어를 상호작용형으로 설정할지 묻는 팝업 창이 표시되면 '예, 하위 요소 변경'을 클릭합니다.
  5. Player > Camera > CardboardReticlePointer 게임 객체를 클릭하여 검사기 창을 엽니다. 'Carboard 레티클 포인터' 스크립트에서 레티클 상호작용 레이어 마스크로 'Interactive'를 선택합니다.

Android 프로젝트 설정 구성

File > Build Settings로 이동합니다.

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

플레이어 설정

해결 방법 및 프레젠테이션

Project Settings(프로젝트 설정) > Player(플레이어) > Resolution and Presentation(해상도 및 프레젠테이션)으로 이동합니다.

  1. 기본 방향가로 모드 왼쪽 또는 가로 모드 오른쪽으로 설정합니다.
  2. 최적화된 프레임 속도를 사용 중지합니다.

기타 설정

Project Settings(프로젝트 설정) > Player(플레이어) > Other Settings(기타 설정)으로 이동합니다.

  1. 그래픽 API에서 OpenGLES2, OpenGLES3, Vulkan 또는 이들의 조합을 선택합니다.
  2. 최소 API 수준에서 Android 8.0 'Oreo' (API level 26) 이상을 선택합니다.
  3. 타겟 API 수준에서 API level 33 이상을 선택합니다.
  4. Scripting Backend(스크립팅 백엔드)에서 IL2CPP를 선택합니다.
  5. Target Architectures에서 ARMv7, ARM64 또는 둘 다를 선택하여 원하는 아키텍처를 선택합니다.
  6. 인터넷 액세스에서 Require를 선택합니다.
  7. Active Input Handling에서 Input System Package (New)을 선택합니다.
  8. Package Name(패키지 이름)에서 회사 도메인을 지정합니다.
  9. VulkanGraphics API로 선택된 경우:
    • Vulkan 설정에서 렌더링 중 디스플레이 회전 적용 체크박스를 선택 해제합니다.
    • Unity 버전이 2021.2 이상인 경우 텍스처 압축 형식에서 ETC2를 선택합니다.
  10. Unity 버전이 2023.1 이상인 경우 애플리케이션 진입점에서 Activity를 선택하고 GameActivity을 지웁니다.

게시 설정

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

  1. 빌드 섹션에서 Custom Main Gradle TemplateCustom Gradle Properties Template를 선택합니다.
  2. 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'
    
  3. Assets/Plugins/Android/gradleTemplate.properties에 다음 줄을 추가합니다.

      android.enableJetifier=true
      android.useAndroidX=true
    

XR 플러그인 관리 설정

Project Settings(프로젝트 설정) > XR Plug-in Management(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를 선택합니다.

플레이어 설정

해결 방법 및 프레젠테이션

Project Settings(프로젝트 설정) > Player(플레이어) > Resolution and Presentation(해상도 및 프레젠테이션)으로 이동합니다.

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

기타 설정

Project Settings(프로젝트 설정) > Player(플레이어) > Other Settings(기타 설정)으로 이동합니다.

  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 플러그인 관리 설정

Project Settings(프로젝트 설정) > XR Plug-in Management(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 플러그인 관리 API를 사용하면 Unity용 Google Cardboard XR 플러그인의 VR 모드를 켜거나 끌 수 있습니다. 최종 사용자 문서 및 사용 예시는 Unity의 최종 사용자 문서에서 확인할 수 있습니다.

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

다음 단계