Krótkie wprowadzenie do Google Cardboard dla Unity

Ten przewodnik pokazuje, jak za pomocą wtyczki Google Cardboard XR do Unity do Unity stworzyć własne doświadczenia VR.

Za pomocą pakietu SDK Cardboard możesz zmienić telefon komórkowy w platformę VR. Smartfon może wyświetlać sceny 3D z renderowaniem stereoskopowym, śledzić ruchy głową i reagować na nie, a także wchodzić w interakcje z aplikacjami, wykrywając naciśnięcie przycisku wyświetlacza przez użytkownika.

Na początek użyjesz HelloCardboard, gry demonstracyjnej, która prezentuje główne funkcje pakietu Cardboard SDK. Gracze rozglądają się po wirtualnym świecie, aby znajdować i zbierać przedmioty. Znajdziesz w niej:

  • Konfigurowanie środowiska programistycznego
  • Pobieranie i tworzenie aplikacji demonstracyjnej
  • Zeskanuj kod QR gogli Cardboard, aby zapisać jego parametry
  • Śledzenie ruchów głową użytkownika
  • Renderuj stereoskopowe obrazy, ustawiając odpowiednie zniekształcenie dla każdego oka
  • Włączanie i wyłączanie trybu VR

Konfigurowanie środowiska programistycznego

Wymagania dotyczące oprogramowania:

Zaimportuj pakiet SDK i utwórz nowy projekt

Wykonaj te czynności, aby zaimportować pakiet SDK Unity i utworzyć nowy projekt.

  1. Otwórz w Unity i utwórz nowy projekt 3D.
  2. W Unity otwórz Okno > Menedżer pakietów.
  3. Kliknij + i wybierz Dodaj pakiet z adresu URL Gita.
  4. Wklej https://github.com/googlevr/cardboard-xr-plugin.git w polu tekstowym.
    Pakiet należy dodać do zainstalowanych pakietów.
  5. Znajdź pakiet wtyczki Google Cardboard XR dla Unity. W sekcji Sample (Przykłady) wybierz Import do projektu.
    Przykładowe zasoby powinny być wczytywane do Assets/Samples/Google Cardboard/<version>/Hello Cardboard.

Konfigurowanie sceny HelloCardboard

  1. Przejdź do: Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes, wybierz Dodaj otwarte sceny, a następnie HelloCardboard, aby otworzyć przykładową scenę.
  2. Otwórz menu Warstwy i kliknij Edytuj warstwy...
  3. Zdefiniuj nową warstwę o nazwie „Interaktywna”.
  4. Kliknij Skarb GameObject, aby otworzyć okno inspektora. Ustaw jego warstwę jako „Interaktywna”. Jeśli pojawi się wyskakujące okienko z pytaniem, czy chcesz ustawić warstwę jako interaktywną także w przypadku wszystkich obiektów podrzędnych, kliknij „Tak, zmień elementy podrzędne”.
  5. Kliknij Odtwarzacz > Aparat > Cardboard ReticlePointer GameObject, aby otworzyć okno inspektora. W skrypcie „Carboard reticle pointer” jako maska warstwy interakcji z siatką wybierz „Interaktywna”.

Konfigurowanie ustawień projektu Androida

Kliknij Plik > Ustawienia kompilacji.

  1. Wybierz Android, a następnie Przełącz platformę.
  2. Wybierz Dodaj sceny otwarte i wybierz HelloCardboard.

Ustawienia odtwarzacza

Rozwiązanie i prezentacja

Kliknij Ustawienia projektu > Odtwarzacz > Rozdzielczość i prezentacja.

  1. Ustaw Orientację domyślną na Poziomo Lewo lub Poziomo Prawo.
  2. Wyłącz Zoptymalizowane tempo klatek.

Inne ustawienia

Otwórz Ustawienia projektu > Odtwarzacz > Inne ustawienia.

  1. Wybierz OpenGLES2, OpenGLES3 lub Vulkan albo dowolną ich kombinację w interfejsach Graphics API.
  2. W polu Minimum API Level (Minimalny poziom interfejsu API) wybierz Android 8.0 'Oreo' (API level 26) lub wyższy.
  3. W polu Docelowy poziom interfejsu API wybierz co najmniej API level 33.
  4. Wybierz IL2CPP w backendu obsługi skryptów.
  5. Wybierz odpowiednie architektury, klikając ARMv7 lub ARM64 lub obie te architektury w sekcji Docelowe architektury.
  6. Wybierz Require w Dostęp do internetu.
  7. Podaj domenę firmy w polu Nazwa pakietu.
  8. Jeśli jako Graphics API wybrano interfejs Vulkan:
    • Odznacz pole wyboru Zastosuj obrót wyświetlacza podczas renderowania w Ustawieniach interfejsu Vulkan.
    • Jeśli wersja Unity to 2021.2 lub nowsza, wybierz ETC2 w formacie kompresji tekstur.
  9. Jeśli masz wersję 2023.1 lub nowszą na Unity, wybierz Activity i wyczyść GameActivity w sekcji Application Entry Point (Punkt wejścia aplikacji).

Ustawienia publikowania

Otwórz Ustawienia projektu > Odtwarzacz > Ustawienia publikowania.

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

      android.enableJetifier=true
      android.useAndroidX=true
    

Ustawienia zarządzania wtyczkami XR

Wybierz Ustawienia projektu > XR Plug-in Management.

  1. W sekcji Dostawcy wtyczek wybierz Cardboard XR Plugin.

Tworzenie projektu

Kliknij Plik > Ustawienia kompilacji.

  1. Wybierz Kompiluj lub wybierz urządzenie i kliknij Skompiluj i uruchom.

Konfigurowanie ustawień projektu w iOS

Kliknij Plik > Ustawienia kompilacji.

  1. Wybierz iOS, a następnie Przełącz platformę.
  2. Wybierz Dodaj sceny otwarte i wybierz HelloCardboard.

Ustawienia odtwarzacza

Rozwiązanie i prezentacja

Kliknij Ustawienia projektu > Odtwarzacz > Rozdzielczość i prezentacja.

  1. Ustaw Orientację domyślną na Poziomo Lewo lub Poziomo Prawo.

Inne ustawienia

Otwórz Ustawienia projektu > Odtwarzacz > Inne ustawienia.

  1. W polu Opis użycia aparatu wpisz Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters)..
  2. W polu Docelowa minimalna wersja iOS wpisz 12.0.
  3. Podaj domenę firmy w polu Nazwa pakietu.

Ustawienia zarządzania wtyczkami XR

Wybierz Ustawienia projektu > XR Plug-in Management.

  1. W sekcji Dostawcy wtyczek wybierz Cardboard XR Plugin.

Tworzenie projektu

Kliknij Plik > Ustawienia kompilacji.

  1. Wybierz Kompilacja lub Skompiluj i uruchom.

Wyśrodkowuję

Pakiet SDK Cardboard umożliwia ponowne wycentrowanie trackera za pomocą Recenter().

Aby wypróbować je za pomocą przykładowej aplikacji, wykonaj te czynności:

  1. Przesuń urządzenie do pozycji, którą chcesz wyśrodkować (użyj jako nowej pozycji patrzącej do przodu).
  2. Utrzymuj spust urządzenia w pozycji aktywnej przez co najmniej 3 sekundy.
  3. Zwolnij wyzwalacz.
  4. Początkowa pozycja jest teraz ustawiona w kierunku, w który jest skierowany aparat.

Włączanie i wyłączanie trybu VR

Interfejs API do zarządzania wtyczkami Unity XR umożliwia włączanie i wyłączanie trybu VR we wtyczce Google Cardboard XR na Unity. Dokumentacja i przykłady użycia są dostępne w dokumentacji użytkownika Unity.

Scena VrMode w przykładzie HelloCardboard pokazuje podstawowe wykorzystanie wspomnianego interfejsu API. Tryb VR można wyłączyć, klikając Wyjdź . Tryb VR można włączyć ponownie, klikając dowolne miejsce na ekranie. Szczegółowe informacje o tym, jak to działa, znajdziesz w pliku VrModeController.cs.

Dalsze kroki