Krótkie wprowadzenie do Google Cardboard dla Unity

Z tego przewodnika dowiesz się, jak za pomocą wtyczki Google Cardboard XR do Unity tworzyć własne projekty rzeczywistości wirtualnej (VR).

Za pomocą pakietu SDK Cardboard możesz przekształcić telefon komórkowy w platformę VR. Urządzenie mobilne może wyświetlać sceny 3D z renderowaniem stereoskopowym, śledzić ruchy głowy i na nie reagować oraz wchodzić w interakcję z aplikacjami, wykrywając, kiedy użytkownik naciśnie przycisk przeglądarki.

Na początek użyj HelloCardboard, czyli gry demonstracyjnej, która prezentuje podstawowe funkcje pakietu Cardboard SDK. W grze użytkownicy rozglądają się po wirtualnym świecie, aby znaleźć i zebrać obiekty. Dowiesz się z niego, jak:

  • Konfigurowanie środowiska programistycznego
  • Pobieranie i tworzenie aplikacji demonstracyjnej
  • Zeskanuj kod QR gogli Cardboard, aby zapisać ich parametry.
  • śledzić ruchy głowy użytkownika,
  • Renderowanie obrazów stereoskopowych przez ustawienie odpowiedniego zniekształcenia dla każdego oka
  • Włączanie i wyłączanie trybu VR

Konfigurowanie środowiska programistycznego

Wymagania dotyczące oprogramowania:

  • Unity 2021.3.44f1 lub nowsza
    • Podczas instalacji uwzględnij obsługę kompilacji na Androida i iOS.
    • Zainstaluj wersję poprawki 44f1 lub nowszą.
  • Git musi być zainstalowany, a plik wykonywalny git musi być uwzględniony w zmiennej środowiskowej PATH. Więcej informacji znajdziesz w dokumentacji obsługi git w menedżerze pakietów Unity.

Importowanie pakietu SDK i tworzenie nowego projektu

Aby zaimportować pakiet SDK Unity i utworzyć nowy projekt, wykonaj te czynności.

  1. Otwórz Unity i utwórz nowy projekt 3D.
  2. W Unity kliknij Window (Okno) > Package Manager (Menedżer pakietów).
  3. Kliknij + i wybierz Add package from git URL (Dodaj pakiet z adresu URL Git).
  4. Wklej https://github.com/googlevr/cardboard-xr-plugin.git w polu wpisywania tekstu.
     Pakiet powinien zostać dodany do zainstalowanych pakietów.
  5. Otwórz pakiet Google Cardboard XR Plugin for Unity. W sekcji Próbki kliknij Importuj do projektu.
    Przykładowe komponenty należy wczytać do Assets/Samples/Google Cardboard/<version>/Hello Cardboard.

Konfigurowanie sceny HelloCardboard

  1. Otwórz Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes, kliknij Add Open Scenes (Dodaj otwarte sceny) i wybierz HelloCardboard, aby otworzyć przykładową scenę.
  2. Otwórz menu Warstwy i wybierz Edytuj warstwy....
  3. Zdefiniuj nową warstwę o nazwie „Interactive”.
  4. Kliknij obiekt Treasure, aby otworzyć okno Inspector. Ustaw warstwę na „Interactive” (Interaktywna). Jeśli pojawi się wyskakujące okienko z pytaniem, czy chcesz ustawić warstwę jako interaktywną również dla wszystkich obiektów podrzędnych, kliknij „Tak, zmień obiekty podrzędne”.
  5. Kliknij obiekt Player > Camera > CardboardReticlePointer, aby otworzyć okno Inspector. W skrypcie „Cardboard reticle pointer” (Wskaźnik siatki Cardboard) wybierz „Interactive” (Interaktywna) jako Reticle Interaction Layer Mask (Maska warstwy interakcji siatki).

Konfigurowanie ustawień kompilacji Androida

Kliknij Plik > Ustawienia kompilacji.

  1. Wybierz Android i kliknij Przełącz platformę.
  2. Wybierz Dodaj otwarte sceny i kliknij HelloCardboard.

Ustawienia odtwarzacza

Kliknij Edytuj > Ustawienia projektu....

Konfigurowanie ustawień rozdzielczości i prezentacji

Wybierz kolejno Odtwarzacz > Rozdzielczość i prezentacja.

  1. Ustaw Domyślną orientację na Pozioma z lewej lub Pozioma z prawej.
  2. Wyłącz Zoptymalizowane tempo klatek.

Konfigurowanie innych ustawień

Kliknij Odtwarzacz > Inne ustawienia.

  1. Wybierz OpenGLES2, OpenGLES3 lub Vulkan albo dowolną ich kombinację w sekcji Interfejsy API grafiki.
  2. W sekcji Minimalny poziom API wybierz Android 8.0 'Oreo' (API level 26) lub wyższy.
  3. W sekcji Docelowy poziom interfejsu API wybierz API level 35 lub wyższy.
  4. Wybierz IL2CPP w Scripting Backend.
  5. Wybierz odpowiednie architektury, klikając ARMv7, ARM64 lub obie te opcje w sekcji Architektury docelowe.
  6. Wybierz Require w sekcji Dostęp do internetu.
  7. W sekcji Aktywne przetwarzanie danych wejściowych kliknij Input System Package (New).
  8. W sekcji Nazwa pakietu podaj domenę swojej firmy.
  9. Jeśli jako interfejs API grafiki wybrano Vulkan:
    • Usuń zaznaczenie pola wyboru Zastosuj obrót wyświetlacza podczas renderowania w sekcji Ustawienia Vulkan.
    • Jeśli używasz Unity w wersji 2021.2 lub nowszej, w sekcji Format kompresji tekstury kliknij ETC2.
  10. Jeśli używasz Unity w wersji 2023.1 lub nowszej, wybierz Activity i odznacz GameActivity w sekcji Punkt wejścia aplikacji.

Konfigurowanie ustawień publikowania

Kliknij Odtwarzacz > Ustawienia publikowania.

  1. W sekcji Kompilacja wybierz Custom Main Gradle TemplateCustom Gradle Properties Template.
  2. Dodaj te wiersze do sekcji zależności w pliku 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. Dodaj do pliku Assets/Plugins/Android/gradleTemplate.properties te wiersze:

      android.enableJetifier=true
      android.useAndroidX=true
    

Konfigurowanie ustawień zarządzania wtyczkami XR

Otwórz Zarządzanie wtyczkami XR.

  1. W sekcji Dostawcy wtyczek kliknij Cardboard XR Plugin.

Kompilowanie projektu

Kliknij Plik > Ustawienia kompilacji.

  1. Kliknij Build lub wybierz urządzenie i kliknij Build and Run (Skompiluj i uruchom).

Konfigurowanie ustawień projektu iOS

Kliknij Plik > Ustawienia kompilacji.

  1. Wybierz iOS i kliknij Przełącz platformę.
  2. Wybierz Dodaj otwarte sceny i kliknij HelloCardboard.

Ustawienia odtwarzacza

Kliknij Edytuj > Ustawienia projektu....

Konfigurowanie ustawień rozdzielczości i prezentacji

Kliknij Odtwarzacz > Rozdzielczość i prezentacja.

  1. Ustaw Domyślną orientację na Pozioma z lewej lub Pozioma z prawej.

Konfigurowanie innych ustawień

Kliknij Odtwarzacz > Inne ustawienia.

  1. W sekcji Opis użycia aparatu wpisz Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters)..
  2. W sekcji Target minimum iOS Version (Docelowa minimalna wersja iOS) wpisz 12.0.
  3. W sekcji Nazwa pakietu podaj domenę swojej firmy.
  4. Zaznacz Top Edge, Left EdgeRight Edge w sekcji Odłóż gesty systemowe na krawędziach.

Konfigurowanie ustawień zarządzania wtyczkami XR

Otwórz Zarządzanie wtyczkami XR.

  1. W sekcji Dostawcy wtyczek kliknij Cardboard XR Plugin.

Kompilowanie projektu

Kliknij Plik > Ustawienia kompilacji.

  1. Kliknij Kompilacja lub Skompiluj i uruchom.

Wyśrodkuj

Pakiet SDK Cardboard umożliwia wyśrodkowanie trackera głowy za pomocą funkcji Recenter().

Aby wypróbować tę funkcję w aplikacji przykładowej, wykonaj te czynności:

  1. Przesuń urządzenie do pozycji, w której chcesz wyśrodkować widok (użyj jako nowej pozycji głowy skierowanej do przodu).
  2. Przytrzymaj spust urządzenia Cardboard przez co najmniej 3 sekundy.
  3. Zwolnij spust.
  4. Początkowa pozycja jest teraz zgodna z kierunkiem, w którym zwrócona jest kamera.

Włączanie i wyłączanie trybu VR

Interfejs API Unity XR Plugin Management umożliwia włączanie i wyłączanie trybu VR w przypadku wtyczki Google Cardboard XR Plugin for Unity. Dokumentacja dla użytkowników i przykłady użycia są dostępne w dokumentacji dla użytkowników Unity.

Scena VrMode w przykładowej aplikacji HelloCardboard pokazuje podstawowe zastosowanie wspomnianego interfejsu API. W tej scenie tryb VR można wyłączyć, klikając wyjdź Przycisk X, a włączyć ponownie, klikając dowolne miejsce na ekranie. Szczegółowe informacje o tym, jak to zrobić, znajdziesz w pliku VrModeController.cs.

Dalsze kroki