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 środowiskowejPATH
. 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.
- Otwórz Unity i utwórz nowy projekt 3D.
- W Unity kliknij Window (Okno) > Package Manager (Menedżer pakietów).
- Kliknij + i wybierz Add package from git URL (Dodaj pakiet z adresu URL Git).
- Wklej
https://github.com/googlevr/cardboard-xr-plugin.git
w polu wpisywania tekstu.
Pakiet powinien zostać dodany do zainstalowanych pakietów. - Otwórz pakiet Google Cardboard XR Plugin for Unity. W sekcji Próbki kliknij Importuj do projektu.
Przykładowe komponenty należy wczytać doAssets/Samples/Google Cardboard/<version>/Hello Cardboard
.
Konfigurowanie sceny HelloCardboard
- 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ę. - Otwórz menu Warstwy i wybierz Edytuj warstwy....
- Zdefiniuj nową warstwę o nazwie „Interactive”.
- 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”.
- 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.
- Wybierz Android i kliknij Przełącz platformę.
- 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.
- Ustaw Domyślną orientację na Pozioma z lewej lub Pozioma z prawej.
- Wyłącz Zoptymalizowane tempo klatek.
Konfigurowanie innych ustawień
Kliknij Odtwarzacz > Inne ustawienia.
- Wybierz
OpenGLES2
,OpenGLES3
lubVulkan
albo dowolną ich kombinację w sekcji Interfejsy API grafiki. - W sekcji Minimalny poziom API wybierz
Android 8.0 'Oreo' (API level 26)
lub wyższy. - W sekcji Docelowy poziom interfejsu API wybierz
API level 35
lub wyższy. - Wybierz
IL2CPP
w Scripting Backend. - Wybierz odpowiednie architektury, klikając
ARMv7
,ARM64
lub obie te opcje w sekcji Architektury docelowe. - Wybierz
Require
w sekcji Dostęp do internetu. - W sekcji Aktywne przetwarzanie danych wejściowych kliknij
Input System Package (New)
. - W sekcji Nazwa pakietu podaj domenę swojej firmy.
- 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
.
- Jeśli używasz Unity w wersji 2023.1 lub nowszej, wybierz
Activity
i odznaczGameActivity
w sekcji Punkt wejścia aplikacji.
Konfigurowanie ustawień publikowania
Kliknij Odtwarzacz > Ustawienia publikowania.
- W sekcji Kompilacja 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
Konfigurowanie ustawień zarządzania wtyczkami XR
Otwórz Zarządzanie wtyczkami XR.
- W sekcji Dostawcy wtyczek kliknij
Cardboard XR Plugin
.
Kompilowanie projektu
Kliknij Plik > Ustawienia kompilacji.
- Kliknij Build lub wybierz urządzenie i kliknij Build and Run (Skompiluj i uruchom).
Konfigurowanie ustawień projektu iOS
Kliknij Plik > Ustawienia kompilacji.
- Wybierz iOS i kliknij Przełącz platformę.
- Wybierz Dodaj otwarte sceny i kliknij HelloCardboard.
Ustawienia odtwarzacza
Kliknij Edytuj > Ustawienia projektu....
Konfigurowanie ustawień rozdzielczości i prezentacji
Kliknij Odtwarzacz > Rozdzielczość i prezentacja.
- Ustaw Domyślną orientację na Pozioma z lewej lub Pozioma z prawej.
Konfigurowanie innych ustawień
Kliknij Odtwarzacz > Inne ustawienia.
- W sekcji Opis użycia aparatu wpisz
Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
. - W sekcji Target minimum iOS Version (Docelowa minimalna wersja iOS) wpisz
12.0
. - W sekcji Nazwa pakietu podaj domenę swojej firmy.
- Zaznacz
Top Edge
,Left Edge
iRight Edge
w sekcji Odłóż gesty systemowe na krawędziach.
Konfigurowanie ustawień zarządzania wtyczkami XR
Otwórz Zarządzanie wtyczkami XR.
- W sekcji Dostawcy wtyczek kliknij
Cardboard XR Plugin
.
Kompilowanie projektu
Kliknij Plik > Ustawienia kompilacji.
- 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:
- Przesuń urządzenie do pozycji, w której chcesz wyśrodkować widok (użyj jako nowej pozycji głowy skierowanej do przodu).
- Przytrzymaj spust urządzenia Cardboard przez co najmniej 3 sekundy.
- Zwolnij spust.
- 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ź
, 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
- Zapoznaj się ze wskazówkami dotyczącymi marki Cardboard.