Krótkie wprowadzenie do Google Cardboard dla Unity

Z tego przewodnika dowiesz się, jak używać wtyczki Google Cardboard XR dla Unity, aby tworzyć własne treści w wirtualnej rzeczywistości (VR).

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

Na początek użyjesz HelloCardboard, czyli gry demonstracyjnej, która pokazuje podstawowe funkcje pakietu Cardboard SDK. W grze użytkownicy mogą rozglądać się po wirtualnym świecie, aby znajdować i zbierać przedmioty. Pokazuje on, jak:

  • Konfigurowanie środowiska programistycznego
  • Pobieranie i tworzenie aplikacji demonstracyjnej
  • Zeskanuj kod QR kartonika, aby zapisać jego 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 wersja
    • Podczas instalacji uwzględnij obsługę kompilacji Androida i iOS.
    • Zainstaluj poprawkę w wersji 44f1 lub nowszej.
  • Musi być zainstalowany Git, a plik wykonywalny git musi znajdować się w zmiennej środowiskowej PATH. Więcej informacji znajdziesz w dokumentacji obsługi menedżera pakietów git 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 otwórz Okno > Menedżer pakietów.
  3. Kliknij + i wybierz Dodaj pakiet z adresu URL git.
  4. Wklej https://github.com/googlevr/cardboard-xr-plugin.git w polu tekstowym.
    Pakiet powinien zostać dodany do zainstalowanych pakietów.
  5. Przejdź do pakietu Google Cardboard XR Plugin for Unity. W sekcji Przykłady kliknij Importuj do projektu.
    Przykładowe zasoby należy załadować do Assets/Samples/Google Cardboard/<version>/Hello Cardboard.

Konfigurowanie sceny HelloCardboard

  1. Otwórz Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes, wybierz Dodaj sceny otwarte, a potem HelloCardboard, aby otworzyć przykładową scenę.
  2. Otwórz menu Warstwy i kliknij Edytuj warstwy….
  3. Zdefiniuj nową warstwę o nazwie „Interaktywna”.
  4. Kliknij obiekt gry Skarb, aby otworzyć okno Inspektora. Ustaw jego poziom na „Interaktywny”. Jeśli pojawi się wyskakujące okienko z pytaniem, czy chcesz ustawić warstwę jako interaktywną także dla wszystkich obiektów podrzędnych, kliknij „Tak, zmień obiekty podrzędne”.
  5. Kliknij Gracz > Kamera > CardboardReticlePointer, aby otworzyć okno Inspektora. W skrypcie „Carboard reticle pointer” jako maska warstwy interakcji siatki wybierz „Interaktywna”.

Konfigurowanie ustawień projektu na Androidzie

Kliknij Plik > Ustawienia kompilacji.

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

Ustawienia odtwarzacza

Rozdzielczość i prezentacja

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

  1. Ustaw Domyślną orientację na Pozioma – lewo lub Pozioma – prawo.
  2. Wyłącz zoptymalizowane kadrowanie.

Inne ustawienia

Kliknij Ustawienia projektu > Odtwarzacz > Inne ustawienia.

  1. W interfejsach API do grafiki wybierz OpenGLES2, OpenGLES3 lub Vulkan albo dowolną ich kombinację.
  2. W sekcji Minimalny poziom interfejsu API wybierz Android 8.0 'Oreo' (API level 26) lub wyższy.
  3. W sekcji Docelowy poziom interfejsu API wybierz API level 33 lub wyższy.
  4. W sekcji Programowanie backendu kliknij IL2CPP.
  5. Wybierz architektury, które chcesz uwzględnić, klikając ARMv7, ARM64 lub obie te opcje w sekcji Architektury docelowe.
  6. W sekcji Dostęp do internetu kliknij Require.
  7. W sekcji Zarządzanie aktywnym wejściem kliknij Input System Package (New).
  8. W polu Nazwa pakietu podaj domenę swojej firmy.
  9. Jeśli jako interfejs API grafiki wybrano Vulkan:
    • Odznacz pole wyboru Zastosuj obrót wyświetlacza podczas renderowania w sekcji Ustawienia Vulkana.
    • Jeśli wersja Unity to 2021.2 lub nowsza, w sekcji Format kompresji tekstur wybierz ETC2.
  10. Jeśli wersja Unity to 2023.1 lub nowsza, w sekcji Application Entry Point (Punkt wejścia aplikacji) wybierz Activity i usuń GameActivity.

Ustawienia publikowania

Kliknij Ustawienia projektu > Odtwarzacz > Ustawienia publikacji.

  1. W sekcji Kompilowanie 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
    

Ustawienia zarządzania wtyczkami XR

Kliknij Ustawienia projektu > Zarządzanie wtyczkami XR.

  1. W sekcji Dostawcy wtyczek kliknij Cardboard XR Plugin.

Kompilowanie projektu

Kliknij Plik > Ustawienia kompilacji.

  1. Kliknij Utwórz lub wybierz urządzenie i kliknij Utwórz i uruchom.

Konfigurowanie ustawień projektu na iOS

Kliknij Plik > Ustawienia kompilacji.

  1. Kliknij iOS, a potem Przełącz platformę.
  2. Wybierz Dodaj sceny otwarteHelloCardboard.

Ustawienia odtwarzacza

Rozdzielczość i prezentacja

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

  1. Ustaw Domyślną orientację na Pozioma – lewo lub Pozioma – prawo.

Inne ustawienia

Kliknij Ustawienia projektu > Odtwarzacz > Inne ustawienia.

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

Ustawienia zarządzania wtyczkami XR

Kliknij Ustawienia projektu > Zarządzanie wtyczkami XR.

  1. W sekcji Dostawcy wtyczek kliknij Cardboard XR Plugin.

Kompilowanie projektu

Kliknij Plik > Ustawienia kompilacji.

  1. Kliknij Kompiluj lub Kompiluj i uruchom.

Recentering

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

Aby wypróbować tę funkcję w ramach przykładowej aplikacji:

  1. Przenieś urządzenie w miejsce, w którym chcesz je wyśrodkować (użyj jako nowej pozycji głowy z patrzeniem w przód).
  2. Przytrzymaj spust urządzenia Cardboard przez co najmniej 3 sekundy.
  3. Puść przycisk.
  4. Początkowa poza jest teraz w kierunku, w którym zwrócona jest kamera.

Włączanie i wyłączanie trybu VR

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

Scena VrMode w pliku HelloCardboard sample pokazuje podstawowe użycie wspomnianego interfejsu API. W tej scenie tryb VR można wyłączyć, klikając wyjście , a następnie włączyć ponownie, klikając dowolne miejsce na ekranie. Szczegółowe informacje o tym, jak to zrobić, znajdziesz w pliku VrModeController.cs.

Dalsze kroki