Android XR obsługuje aplikacje utworzone za pomocą OpenXR dzięki obsłudze specyfikacji OpenXR 1.1 i wybranych rozszerzeń dostawców. OpenXR to otwarty standard, który umożliwia tworzenie wciągających i interaktywnych aplikacji za pomocą wspólnego zestawu interfejsów API na wielu urządzeniach XR.
Funkcje
Android XR obsługuje funkcje, które pozwalają tworzyć aplikacje w pełni wykorzystujące unikalne możliwości urządzeń XR za pomocą OpenXR. Oto niektóre z tych funkcji:
- Platforma Spatial Entity
- Ujednolicona podstawa do rozumienia scen i wnioskowania przestrzennego. Umożliwia aplikacjom wykrywanie, wysyłanie zapytań i śledzenie fizycznych obiektów przestrzennych w otoczeniu, tworzenie kotwic przestrzennych dołączonych do obiektów, wykonywanie rzutowania promieni przestrzennych i utrwalanie obiektów przestrzennych w sesjach aplikacji.
- Obiekty śledzone
- Obsługuje wykrywanie płaszczyzn, czyli możliwość identyfikowania i śledzenia płaskich powierzchni w otoczeniu, co umożliwia umieszczanie wirtualnych obiektów w stosunku do świata rzeczywistego, oraz kotwice, czyli wirtualne punkty odniesienia, które można dołączyć do obiektów lub lokalizacji w świecie rzeczywistym, dzięki czemu wirtualne treści pozostają dokładnie ustawione i zorientowane nawet wtedy, gdy użytkownik się porusza.
- Rzutowanie promieni
- Technika używana do określania punktu przecięcia między wirtualnym promieniem a obiektami w scenie, co ułatwia interakcje, takie jak wybieranie i manipulowanie elementami wirtualnymi.
- Utrwalanie kotwic
- Możliwość zapisywania i przywracania kotwic w wielu sesjach, co pozwala na trwałe i spójne umieszczanie wirtualnych treści w otoczeniu.
- Śledzenie obiektów
- Możliwość śledzenia myszy, klawiatury i innych obiektów w świecie rzeczywistym.
- Śledzenie kodów QR
- Możliwość śledzenia kodów QR w środowisku fizycznym i dekodowania ich danych.
- Tekstury głębi
- Generowanie map głębi, które zawierają informacje o odległości między kamerą a obiektami w scenie, co umożliwia uzyskanie bardziej realistycznych efektów okluzji i interakcji.
- Widok otoczenia
- Możliwość łączenia materiału z kamery w świecie rzeczywistym z treściami wirtualnymi, co tworzy środowisko rzeczywistości mieszanej, które płynnie łączy świat fizyczny i cyfrowy.
- Siatka sceny
- Możliwość uzyskania siatki 3D otoczenia, która może być używana do fizyki, okluzji i innych interakcji z uwzględnieniem świata.
- Widok otoczenia w warstwie kompozycji
- Umożliwia wycięcie warstwy kompozycji w postaci wielokąta, co można wykorzystać do przenoszenia obiektów z rzeczywistego świata do sceny.
- Śledzenie twarzy
- Możliwość śledzenia cech twarzy użytkownika, co umożliwia tworzenie bardziej realistycznych i ekspresyjnych awatarów oraz postaci wirtualnych.
- Śledzenie wzroku
- Określa położenie i orientację oka użytkownika, co ma na celu zwiększenie realizmu pozycji oczu awatarów.
- Śledzenie rąk
- Możliwość śledzenia położenia i ruchu rąk użytkownika.
- Siatka rąk
- Dokładne odwzorowanie rąk użytkownika w postaci siatki o niskiej liczbie wielokątów. Zoptymalizowana pod kątem dostarczania treści z platformy do aplikacji, aby zapewnić jak najlepszą wydajność. Jest to alternatywa dla innych rozszerzeń, które używają pozycji wiązania i wag mieszania.
- Szacowanie oświetlenia
- Używane do dopasowywania modeli oświetlenia do warunków oświetleniowych w świecie rzeczywistym użytkownika.
Obsługiwane urządzenia wejściowe
Android XR obsługuje też te urządzenia wejściowe:
- Interakcja z użyciem rąk
- Rozpoznawanie określonych gestów rąk, takich jak szczypanie, przesuwanie i wskazywanie, co umożliwia użytkownikom interakcję z wirtualnymi obiektami za pomocą gestów i ruchów rąk.
- Interakcja za pomocą wzroku
- Możliwość śledzenia ruchów oczu użytkownika, co pozwala mu wybierać obiekty wirtualne i wchodzić z nimi w interakcję za pomocą wzroku.
- Kontrolery ruchu 6DoF
- Możliwość śledzenia położenia i ruchu kontrolerów wraz z przypisaniami padu kierunkowego i przycisków do wywoływania działań lub zdarzeń najechania w aplikacji.
- Interakcja z użyciem myszy
- Możliwość interakcji użytkowników z obiektami za pomocą wskaźnika myszy w przestrzeni 3D.
Obsługiwane funkcje związane z wydajnością
Android XR obsługuje te funkcje związane z wydajnością:
- Foveacja śledzona wzrokiem
- Umożliwia aplikacji renderowanie treści w wyższej rozdzielczości tylko w punkcie skupienia wzroku.
- Warping przestrzeni
- Wykorzystuje wektory prędkości i informacje o teksturze głębi do generowania klatek pośrednich, co skutecznie zwiększa liczbę klatek na sekundę wymaganą do utrzymania użytkowników w wirtualnym świecie.
- Synteza klatek
- Wykorzystuje wektory ruchu i dane klatek dostarczane przez aplikację do syntezy klatek pośrednich, co poprawia płynność obrazu i liczbę klatek na sekundę.
- Wskaźniki dotyczące skuteczności
- Podaje wskaźniki wydajności Androida XR w czasie działania bieżącego urządzenia z XR, kompozytora i aplikacji XR. Obejmuje to czas renderowania klatki procesora, czas renderowania klatki GPU, wykorzystanie GPU, częstotliwość procesora, liczbę klatek na sekundę i inne dane.
Pełną listę obsługiwanych funkcji i rozszerzeń znajdziesz w przeglądzie funkcji OpenXR.
Obsługiwane wyszukiwarki
W przypadku tworzenia aplikacji OpenXR na Androida XR obsługiwane są te wyszukiwarki:
Unity
Obsługa Unity w Androidzie XR, oparta na OpenXR, umożliwia programistom tworzenie aplikacji za pomocą Unity 6. Więcej informacji o tworzeniu aplikacji XR za pomocą Unity znajdziesz w omówieniu Unity.
OpenXR™ i logo OpenXR są znakami towarowymi należącymi do The Khronos Group Inc. i są zarejestrowane jako znaki towarowe w Chinach, Unii Europejskiej, Japonii i Wielkiej Brytanii.