Samsung Galaxy XR jest już dostępny z Androidem XR! Ten post na blogu jest częścią tygodnia poświęconego Androidowi XR, w ramach którego udostępniamy materiały – posty na blogu, filmy, przykładowy kod i inne – które pomogą Ci poznać Androida XR, tworzyć aplikacje na tę platformę i przygotowywać do niej swoje aplikacje.
To najlepszy moment, aby zacząć tworzyć aplikacje w technologii XR. W grudniu ubiegłego roku ogłosiliśmy wprowadzenie Androida XR, nowej platformy Androida Google opartej na otwartych standardach, takich jak OpenXR i Vulkan, która sprawia, że programowanie XR jest łatwiejsze niż kiedykolwiek wcześniej.
W połączeniu z istniejącymi narzędziami XR Unity otrzymujesz zaawansowany i sprawdzony stos technologiczny. Umożliwia to tworzenie i wdrażanie aplikacji XR, które działają na wielu urządzeniach.
Niezależnie od tego, czy masz już doświadczenie w tworzeniu aplikacji XR, czy nie, chcemy Ci pomóc w rozpoczęciu pracy.
Z tego posta dowiesz się, jak zacząć tworzyć aplikacje na Androida XR i Unity. Skupimy się na praktycznych krokach, które pozwolą Ci skonfigurować środowisko, poznać ekosystem pakietów i zacząć tworzyć aplikacje.
Po przeczytaniu tego posta dowiesz się:
- Ekosystem pakietów
- Najważniejsze kroki konfiguracji
- Metody wprowadzania
- Prywatność i uprawnienia
- Warstwy kompozycji
Unity do tworzenia aplikacji na Androida XR
Możesz wybrać Unity ze względu na zgodność na wielu platformach, która umożliwia tworzenie aplikacji raz i wdrażanie jej na Androidzie XR i innych urządzeniach z XR.
Korzystając z Unity, możesz wykorzystać dojrzały ekosystem i narzędzia XR. Ma już sprawdzone pakiety, takie jak XR Interaction Toolkit, wtyczka OpenXR, warstwy kompozycji XR, XR Hands, obszerny sklep z zasobami pełen komponentów i szablonów gotowych do użycia w XR oraz narzędzia do symulacji i testowania XR. Od listopada ubiegłego roku, kiedy to udostępniliśmy Unity 6, możesz też korzystać z lepszej wydajności uniwersalnego potoku renderowania (URP), lepszej obsługi grafiki Vulkan i ulepszonych profili kompilacji.
Oto kilka przykładowych projektów, które pomogą Ci zorientować się w możliwościach:
Podstawowa konfiguracja: fundament programowania
Wymagania i instalacja Unity 6
Do utworzenia aplikacji potrzebujesz Unity 6, ponieważ starsze wersje nie obsługują Androida XR. Najpierw zainstaluj Unity Hub, a potem Unity 6 z modułem Android Build Support, wykonując te czynności.
Profile kompilacji Androida XR: uproszczona konfiguracja
Profile kompilacji Unity to komponenty projektu, które przechowują ustawienia i konfiguracje specyficzne dla platformy. Zamiast ręcznie konfigurować 15–20 różnych ustawień w wielu menu, możesz użyć profilu kompilacji, aby zrobić to automatycznie.
Możesz tworzyć własne profile kompilacji, ale na razie zalecamy korzystanie z utworzonego przez nas profilu kompilacji Androida XR.
Aby wybrać profil kompilacji, w projekcie Unity kliknij kolejno File > Build Profile (Plik > Profil kompilacji). Pełne instrukcje znajdziesz na stronie Tworzenie aplikacji na Androida XR.
Jeśli wprowadzisz własne zmiany, możesz utworzyć nowy profil kompilacji, aby udostępnić go zespołowi. Dzięki temu zapewnisz spójne wrażenia podczas tworzenia w każdym przypadku.
Po wykonaniu tych czynności możesz skompilować i uruchomić pakiet APK na urządzeniach z Androidem XR.
Interfejs API grafiki: dlaczego Vulkan jest ważny
Po skonfigurowaniu projektu Unity z profilem kompilacji Androida XR zalecamy najpierw sprawdzenie, czy Vulkan jest ustawiony jako interfejs API grafiki. Android XR to platforma oparta przede wszystkim na Vulkanie. W marcu 2025 r. Google ogłosił, że Vulkan jest teraz oficjalnym interfejsem API grafiki dla Androida. To nowoczesny interfejs API grafiki niskiego poziomu, który pomaga programistom maksymalizować wydajność nowoczesnych procesorów graficznych i odblokowywać funkcje zaawansowane, takie jak śledzenie promieni i wielowątkowość, aby uzyskać realistyczne i wciągające efekty wizualne w grach.
Te standardy zapewniają najlepszą zgodność z dotychczasowymi aplikacjami oraz ułatwiają przenoszenie aplikacji i zmniejszają związane z tym problemy i koszty. Umożliwia to włączenie zaawansowanych funkcji Androida XR, takich jak URP Application Space Warp i renderowanie z ogniskowaniem.
Unity 6 automatycznie obsługuje Vulkan, więc gdy używasz profilu kompilacji Android XR, Unity skonfiguruje Vulkan jako interfejs API grafiki. Dzięki temu uzyskasz dostęp do wszystkich zaawansowanych funkcji Androida XR bez konieczności ręcznej konfiguracji.
Ustawienia interfejsu API grafiki możesz sprawdzić, klikając kolejno „Edytuj” > „Ustawienia projektu” > „Odtwarzacz” > „Karta Android” > „Inne ustawienia” > „Interfejsy API grafiki”.
Informacje o ekosystemie pakietów
W Unity możesz używać 2 różnych pakietów dla Androida XR. Pierwszy sposób to użycie rozszerzeń Androida XR dla Unity, a drugi to użycie pakietu Unity OpenXR: Android XR.
Może się to wydawać tym samym, ale posłuchaj.
Pakiet Unity OpenXR: Android XR to oficjalny pakiet Unity do obsługi Androida XR. Zapewnia większość funkcji Androida XR, które są dostępne w standardach OpenXR. Umożliwia też integrację z AR Foundation na potrzeby funkcji rzeczywistości mieszanej. Główną zaletą korzystania z pakietu Unity OpenXR: Android XR jest to, że oferuje on ujednolicony interfejs API do obsługi urządzeń XR.
Android XR Extensions for Unity to pakiet XR od Google zaprojektowany specjalnie do tworzenia aplikacji na urządzenia z Androidem XR. Uzupełnia pakiet Unity OpenXR o dodatkowe funkcje, takie jak tryby mieszania środowiska, siatka sceny, śledzenie obrazu i śledzenie ciała. W zamian możesz tworzyć aplikacje tylko na urządzenia z Androidem XR.
Wybór zależy od Twoich konkretnych potrzeb, ale ogólnie zalecamy korzystanie z Unity OpenXR: Android XR, ponieważ zapewnia to znacznie większą elastyczność w zakresie urządzeń, z którymi Twoja aplikacja będzie zgodna. Następnie, w zależności od wymagań aplikacji, możesz dodać rozszerzenia Androida XR dla Unity.
Jak instalować pakiety
Aby dodać nowy pakiet, otwórz projekt w Unity i wybierz kolejno „Window” (Okno) > „Package Management” (Zarządzanie pakietami) > „Package Manager” (Menedżer pakietów).
Tutaj możesz zainstalować te pakiety na karcie „Rejestr Unity”:
Pakiet Android XR dla Unity możesz zainstalować przez GitHub. W tym celu kliknij ikonę ➕, wybierz „Install package from git URL” (Zainstaluj pakiet z adresu URL Git), a następnie wpisz „https://github.com/android/android-xr-unity-package.git”.
Wymagane funkcje OpenXR
Po zainstalowaniu potrzebnych pakietów włączmy niektóre podstawowe funkcje, aby projekt działał.
Możesz włączyć ustawienie OpenXR dla Androida: „Edytuj” –> „Ustawienia projektu” –> „Zarządzanie wtyczkami XR” –> kliknij Androida i włącz OpenXR
Następnie musimy włączyć obsługę „Androida XR”. Inne funkcje OpenXR omówimy w miarę potrzeb. Na razie wystarczy, że włączysz obsługę Androida XR.
Urządzenie wejściowe
Android XR obsługuje wprowadzanie danych za pomocą dłoni, głosu, śledzenia wzroku, klawiatury i kontrolerów. Zalecamy zainstalowanie pakietów XR Interaction Toolkit i XR Hands, ponieważ zawierają one najlepsze gotowe elementy do rozpoczęcia pracy. Korzystając z tych gotowych elementów, będziesz mieć wszystko, czego potrzebujesz do obsługi rąk i kontrolerów w aplikacji.
Po zainstalowaniu obu pakietów narzędzi XR Hands i XR Interactive zalecam zaimportowanie zasobów startowych i demonstracji interakcji z dłońmi. Następnie musisz włączyć profile Hand Interaction i Khronos Simple Controller oraz funkcje Hand Tracking Subsystem i Meta Hand Tracking Aim.
Aby edytować te ustawienia, kliknij Edytuj > Ustawienia projektu > Zarządzanie wtyczkami XR > OpenXR.
Zalecamy też użycie prefabrykatu Unity XR Origin, który reprezentuje pozycję i orientację użytkownika w przestrzeni XR. Zawiera on zestaw kamer i komponenty śledzące potrzebne do renderowania środowiska XR z odpowiedniego punktu widzenia.
Najprostszym sposobem dodania tego prefabrykatu jest zaimportowanie go z demonstracji integracji dłoni, którą zaimportowaliśmy wcześniej. Znajdziesz ją tutaj: „Hands Integration Toolkit” (Zestaw narzędzi do integracji dłoni) > „Hand Interaction” (Interakcja z dłońmi) > „Prefabs” (Prefabrykaty) > „XR Origin”.
Zalecam używanie tego prefabrykatu zamiast opcji „XR Origin” w obiektach gry, ponieważ korzysta on z XR Input Modality Manager, który automatycznie przełącza się między dłońmi użytkownika a kontrolerami. Zapewni to najlepsze rezultaty podczas przełączania się między dłońmi a kontrolerami.
Prywatność i uprawnienia: budowanie zaufania użytkowników
Niezależnie od tego, co stworzysz, musisz uzyskać od użytkowników uprawnienia w czasie działania. Dzieje się tak, ponieważ rozpoznawanie scen, śledzenie wzroku, śledzenie twarzy i śledzenie rąk zapewnia dostęp do danych, które mogą być bardziej wrażliwe dla użytkownika.
Te funkcje zapewniają dostęp do bardziej szczegółowych danych osobowych niż tradycyjne aplikacje na komputery i urządzenia mobilne, dlatego uprawnienia w czasie działania aplikacji zapewniają użytkownikom pełną kontrolę nad tym, jakie dane chcą udostępniać. Aby zachować zgodność z zasadami bezpieczeństwa i prywatności Androida, Android XR ma uprawnienia do każdej z tych funkcji.
Jeśli na przykład używasz pakietu XR Hands do niestandardowych gestów dłonią, musisz poprosić o uprawnienie do śledzenia rąk (patrz poniżej), ponieważ ten pakiet musi śledzić wiele informacji o dłoniach użytkownika. Obejmuje to m.in. śledzenie pozycji stawów dłoni oraz prędkości kątowych i liniowych.
Uwaga: pełną listę rozszerzeń, które wymagają uprawnień, znajdziesz na stronie dla deweloperów XR.
const string k_Permission = "android.permission.HAND_TRACKING"; #if UNITY_ANDROID void Start() { if (!Permission.HasUserAuthorizedPermission(k_Permission)) { var callbacks = new PermissionCallbacks(); callbacks.PermissionDenied += OnPermissionDenied; callbacks.PermissionGranted += OnPermissionGranted; Permission.RequestUserPermission(k_Permission, callbacks); } } void OnPermissionDenied(string permission) { // handle denied permission } void OnPermissionGranted(string permission) { // handle granted permission } #endif // UNITY_ANDROID
Poprawianie jakości obrazu za pomocą warstw kompozycji
Warstwa kompozycji to zalecany sposób renderowania elementów interfejsu. Umożliwiają one wyświetlanie elementów w znacznie wyższej jakości w porównaniu ze standardowym potokiem renderowania Unity, ponieważ wszystko jest renderowane bezpośrednio do kompozytora platformy.
Jeśli na przykład wyświetlasz tekst, standardowe renderowanie w Unity może powodować rozmycie tekstu, miękkie krawędzie i artefakty wizualne. W przypadku warstw kompozycji tekst będzie wyraźniejszy, kontury ostrzejsze, a ogólne wrażenia lepsze.
Oprócz tekstu renderuje też filmy, obrazy i elementy interfejsu w znacznie wyższej jakości. Jest to możliwe dzięki natywnej obsłudze warstw kompozytora środowiska wykonawczego.
Aby włączyć warstwy kompozycji, otwórz Menedżera pakietów, wybierz „Rejestr Unity”, a następnie zainstaluj „Warstwy kompozycji XR”.
Tworzenie i uruchamianie
Po zainstalowaniu pakietów OpenXR i włączeniu funkcji możesz teraz utworzyć gotowy element do obsługi ruchu rąk i głowy, a następnie skompilować scenę i wdrożyć ją bezpośrednio na goglach w celu przetestowania.
Co dalej: rozwijanie umiejętności
Gdy skonfigurujesz już środowisko programistyczne Androida XR i poznasz najważniejsze pojęcia, możesz przejść do kolejnych kroków, aby kontynuować przygodę z programowaniem w XR:
Niezbędne materiały do dalszej nauki:
- Dokumentacja dla deweloperów Androida XR – obszerne przewodniki po wszystkich funkcjach Androida XR.
- Podręcznik programowania w Unity XR – oficjalne materiały Unity dotyczące programowania w XR
Przykładowe projekty do zbadania:
- Przykłady Unity na Androida XR – oficjalne projekty przykładowe Google prezentujące różne funkcje Androida XR.
- Przykłady Unity XR Interaction Toolkit – kompleksowe przykłady interakcji XR i mechaniki rozgrywki.
- Szablon VR Unity – kompletny punkt wyjścia dla projektów VR.
- Szablon VR Multiplayer – odkrywaj społecznościowe doświadczenia XR
Czytaj dalej
-
Instrukcje
Zdając sobie sprawę, że szybkie zużycie baterii jest dla użytkowników Androida bardzo ważne, Google podejmuje znaczące kroki, aby pomóc deweloperom w tworzeniu aplikacji bardziej energooszczędnych.
Alice Yuan • Czas czytania: 8 minut
-
Instrukcje
Chcieliśmy przedstawić Ci przykłady funkcji opartych na AI, które korzystają z modeli na urządzeniu i w chmurze, oraz zainspirować Cię do tworzenia atrakcyjnych rozwiązań dla użytkowników.
Thomas Ezan, Ivy Knight • Czas czytania: 2 minuty
-
Instrukcje
Przewodnik po poziomach skuteczności zawiera 5 poziomów. Zaczniemy od poziomu 1, który wprowadza narzędzia do pomiaru wydajności wymagające minimalnego nakładu pracy, a skończymy na poziomie 5, idealnym dla aplikacji, które mają zasoby do utrzymania niestandardowych ram wydajności.
Alice Yuan • Czas czytania: 9 minut
Bądź na bieżąco
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.