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 środowiskowejPATH
. 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.
- Otwórz Unity i utwórz nowy projekt 3D.
- W Unity otwórz Okno > Menedżer pakietów.
- Kliknij + i wybierz Dodaj pakiet z adresu URL git.
- Wklej
https://github.com/googlevr/cardboard-xr-plugin.git
w polu tekstowym.
Pakiet powinien zostać dodany do zainstalowanych pakietów. - Przejdź do pakietu Google Cardboard XR Plugin for Unity. W sekcji Przykłady kliknij Importuj do projektu.
Przykładowe zasoby należy załadować doAssets/Samples/Google Cardboard/<version>/Hello Cardboard
.
Konfigurowanie sceny HelloCardboard
- Otwórz
Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes
, wybierz Dodaj sceny otwarte, a potem HelloCardboard, aby otworzyć przykładową scenę. - Otwórz menu Warstwy i kliknij Edytuj warstwy….
- Zdefiniuj nową warstwę o nazwie „Interaktywna”.
- 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”.
- 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.
- Wybierz Android i kliknij Przełącz platformę.
- Wybierz Dodaj sceny otwarte i HelloCardboard.
Ustawienia odtwarzacza
Rozdzielczość i prezentacja
Kliknij Ustawienia projektu > Odtwarzacz > Rozdzielczość i prezentacja.
- Ustaw Domyślną orientację na Pozioma – lewo lub Pozioma – prawo.
- Wyłącz zoptymalizowane kadrowanie.
Inne ustawienia
Kliknij Ustawienia projektu > Odtwarzacz > Inne ustawienia.
- W interfejsach API do grafiki wybierz
OpenGLES2
,OpenGLES3
lubVulkan
albo dowolną ich kombinację. - W sekcji Minimalny poziom interfejsu API wybierz
Android 8.0 'Oreo' (API level 26)
lub wyższy. - W sekcji Docelowy poziom interfejsu API wybierz
API level 33
lub wyższy. - W sekcji Programowanie backendu kliknij
IL2CPP
. - Wybierz architektury, które chcesz uwzględnić, klikając
ARMv7
,ARM64
lub obie te opcje w sekcji Architektury docelowe. - W sekcji Dostęp do internetu kliknij
Require
. - W sekcji Zarządzanie aktywnym wejściem kliknij
Input System Package (New)
. - W polu Nazwa pakietu podaj domenę swojej firmy.
- 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
.
- 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.
- W sekcji Kompilowanie wybierz
Custom Main Gradle Template
iCustom Gradle Properties Template
. 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'
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.
- W sekcji Dostawcy wtyczek kliknij
Cardboard XR Plugin
.
Kompilowanie projektu
Kliknij Plik > Ustawienia kompilacji.
- Kliknij Utwórz lub wybierz urządzenie i kliknij Utwórz i uruchom.
Konfigurowanie ustawień projektu na iOS
Kliknij Plik > Ustawienia kompilacji.
- Kliknij iOS, a potem Przełącz platformę.
- Wybierz Dodaj sceny otwarte i HelloCardboard.
Ustawienia odtwarzacza
Rozdzielczość i prezentacja
Kliknij Ustawienia projektu > Odtwarzacz > Rozdzielczość i prezentacja.
- Ustaw Domyślną orientację na Pozioma – lewo lub Pozioma – prawo.
Inne ustawienia
Kliknij Ustawienia projektu > Odtwarzacz > Inne ustawienia.
- W polu Opis wykorzystania aparatu wpisz
Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
. - W sekcji Docelowa minimalna wersja iOS wpisz
12.0
. - W polu Nazwa pakietu podaj domenę swojej firmy.
Ustawienia zarządzania wtyczkami XR
Kliknij Ustawienia projektu > Zarządzanie wtyczkami XR.
- W sekcji Dostawcy wtyczek kliknij
Cardboard XR Plugin
.
Kompilowanie projektu
Kliknij Plik > Ustawienia kompilacji.
- 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:
- Przenieś urządzenie w miejsce, w którym chcesz je wyśrodkować (użyj jako nowej pozycji głowy z patrzeniem w przód).
- Przytrzymaj spust urządzenia Cardboard przez co najmniej 3 sekundy.
- Puść przycisk.
- 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
- Zapoznaj się ze wskazówkami dotyczącymi marki Cardboard.