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:
- Unity 2021.3.32f1 lub nowsza
- Podczas instalacji dodaj obsługę kompilacji na Androida i iOS.
- Musisz zainstalować Git, a plik wykonywalny
git
musi znajdować się w zmiennej środowiskowejPATH
. Więcej informacji znajdziesz w dokumentacji pomocy git menedżera pakietów Unity.
Zaimportuj pakiet SDK i utwórz nowy projekt
Wykonaj te czynności, aby zaimportować pakiet SDK Unity i utworzyć nowy projekt.
- Otwórz w Unity i utwórz nowy projekt 3D.
- W Unity otwórz Okno > Menedżer pakietów.
- Kliknij + i wybierz Dodaj pakiet z adresu URL Gita.
- Wklej
https://github.com/googlevr/cardboard-xr-plugin.git
w polu tekstowym.
Pakiet należy dodać do zainstalowanych pakietów. - Znajdź pakiet wtyczki Google Cardboard XR dla Unity. W sekcji Sample (Przykłady) wybierz Import do projektu.
Przykładowe zasoby powinny być wczytywane doAssets/Samples/Google Cardboard/<version>/Hello Cardboard
.
Konfigurowanie sceny HelloCardboard
- Przejdź do:
Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes
, wybierz Dodaj otwarte sceny, a następnie HelloCardboard, aby otworzyć przykładową scenę. - Otwórz menu Warstwy i kliknij Edytuj warstwy...
- Zdefiniuj nową warstwę o nazwie „Interaktywna”.
- 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”.
- 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.
- Wybierz Android, a następnie Przełącz platformę.
- Wybierz Dodaj sceny otwarte i wybierz HelloCardboard.
Ustawienia odtwarzacza
Rozwiązanie i prezentacja
Kliknij Ustawienia projektu > Odtwarzacz > Rozdzielczość i prezentacja.
- Ustaw Orientację domyślną na Poziomo Lewo lub Poziomo Prawo.
- Wyłącz Zoptymalizowane tempo klatek.
Inne ustawienia
Otwórz Ustawienia projektu > Odtwarzacz > Inne ustawienia.
- Wybierz
OpenGLES2
,OpenGLES3
lubVulkan
albo dowolną ich kombinację w interfejsach Graphics API. - W polu Minimum API Level (Minimalny poziom interfejsu API) wybierz
Android 8.0 'Oreo' (API level 26)
lub wyższy. - W polu Docelowy poziom interfejsu API wybierz co najmniej
API level 33
. - Wybierz
IL2CPP
w backendu obsługi skryptów. - Wybierz odpowiednie architektury, klikając
ARMv7
lubARM64
lub obie te architektury w sekcji Docelowe architektury. - Wybierz
Require
w Dostęp do internetu. - Podaj domenę firmy w polu Nazwa pakietu.
- 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.
- 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.
- W sekcji Kompilacja wybierz
Custom Main Gradle Template
iCustom Gradle Properties Template
. 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'
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.
- W sekcji Dostawcy wtyczek wybierz
Cardboard XR Plugin
.
Tworzenie projektu
Kliknij Plik > Ustawienia kompilacji.
- Wybierz Kompiluj lub wybierz urządzenie i kliknij Skompiluj i uruchom.
Konfigurowanie ustawień projektu w iOS
Kliknij Plik > Ustawienia kompilacji.
- Wybierz iOS, a następnie Przełącz platformę.
- Wybierz Dodaj sceny otwarte i wybierz HelloCardboard.
Ustawienia odtwarzacza
Rozwiązanie i prezentacja
Kliknij Ustawienia projektu > Odtwarzacz > Rozdzielczość i prezentacja.
- Ustaw Orientację domyślną na Poziomo Lewo lub Poziomo Prawo.
Inne ustawienia
Otwórz Ustawienia projektu > Odtwarzacz > Inne ustawienia.
- W polu Opis użycia aparatu wpisz
Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
. - W polu Docelowa minimalna wersja iOS wpisz
12.0
. - Podaj domenę firmy w polu Nazwa pakietu.
Ustawienia zarządzania wtyczkami XR
Wybierz Ustawienia projektu > XR Plug-in Management.
- W sekcji Dostawcy wtyczek wybierz
Cardboard XR Plugin
.
Tworzenie projektu
Kliknij Plik > Ustawienia kompilacji.
- 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:
- Przesuń urządzenie do pozycji, którą chcesz wyśrodkować (użyj jako nowej pozycji patrzącej do przodu).
- Utrzymuj spust urządzenia w pozycji aktywnej przez co najmniej 3 sekundy.
- Zwolnij wyzwalacz.
- 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
- Zapoznaj się ze wskazówkami dotyczącymi promowania marki w Cardboard.