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 realistycznych i interakcyjnych doświadczeń za pomocą wspólnego zestawu interfejsów API na wielu urządzeniach XR.
Funkcje
Android XR obsługuje funkcje, które umożliwiają tworzenie aplikacji, które w pełni wykorzystują unikalne możliwości urządzeń XR za pomocą OpenXR. Te funkcje to:
- urządzenia śledzące,
- Obsługuje wykrywanie płaszczyzny, czyli zdolność do rozpoznawania i śledzenia płaskich powierzchni w środowisku, co umożliwia umieszczanie wirtualnych obiektów w relacji do świata rzeczywistego oraz punktów odniesienia, czyli wirtualnych punktów odniesienia, które można dołączać do obiektów lub lokalizacji w świecie rzeczywistym. Dzięki temu wirtualne treści są poprawnie pozycjonowane i orientowane nawet wtedy, gdy użytkownik się porusza.
- Rzutowanie promieni
- Technika służąca do określania punktu przecięcia promienia wirtualnego z obiektami w scenie, ułatwiająca interakcje takie jak wybieranie i manipulowanie elementami wirtualnymi.
- Trwałość kotwicy
- Możliwość zapisywania i przywracania punktów zakotwiczenia w wielu sesjach, co umożliwia trwałe i spójne umieszczanie treści wirtualnych w środowisku.
- Śledzenie obiektów
- Możliwość śledzenia myszy, klawiatury i innych obiektów w rzeczywistym świecie.
- Tekstury głębi
- Generowanie map głębi, które dostarczają informacji o odległości między kamerą a obiektami w scenie, co umożliwia bardziej realistyczne zasłonięcie i efekty interakcji.
- Widok otoczenia
- Możliwość łączenia nagrań z kamery z wirtualnymi treściami, co pozwala tworzyć hybrydową rzeczywistość, która płynnie łączy świat fizyczny i cyfrowy.
- Przekazywanie warstwy kompozycji
- Pozwala na przepuszczanie kompozycji wielokątów przez wycinek warstwy. Można go wykorzystać do wstawiania do sceny obiektów ze świata rzeczywistego.
- Śledzenie twarzy
- Możliwość śledzenia elementów twarzy użytkownika, co umożliwia tworzenie bardziej realistycznych i wyrazistych awatarów oraz wirtualnych postaci.
- Śledzenie ruchów gałek ocznych
- Określa położenie i orientację oka użytkownika, co ma na celu nadanie bardziej realistycznego wyrazu oczom awatara.
- Śledzenie rąk
- Możliwość śledzenia pozycji i ruchu rąk użytkownika.
- Siatka ręczna
- Dokładne odwzorowanie dłoni użytkownika w postaci siatki o niskiej liczbie wielokątów. Optymalizacja pod kątem dostarczania danych z platformy do aplikacji, aby zapewnić Ci jak najlepszą wydajność. Jest to alternatywa dla innych rozszerzeń, które używają pozycji wiązania i wag mieszania.
- Szacowanie światła
- Używany do modelowania oświetlenia w celu dopasowania go do warunków oświetleniowych w świecie rzeczywistym.
Obsługiwane urządzenia wejściowe
Android XR obsługuje też te urządzenia wejściowe:
- Interakcja z ręką
- Rozpoznawanie określonych gestów dłoni, takich jak szczypanie, przesuwanie i wskazywanie, co umożliwia użytkownikom interakcję z wirtualnymi obiektami za pomocą gestów i ruchu dłoni.
- Interakcja z okiem
- Możliwość śledzenia ruchów oczu użytkownika, dzięki której może on wybierać i wchodzić w interakcję z obiektami wirtualnymi za pomocą wzroku.
- Kontrolery ruchu 6DoF
- Możliwość śledzenia pozycji i ruchu kontrolerów wraz z przypisaniem przycisków i krzyżaka do wywoływania działań lub zdarzeń kursora w aplikacji.
- Interakcja z myszą
- Możliwość interakcji z obiektmi za pomocą wskaźnika myszy w przestrzeni 3D
Obsługiwane funkcje dotyczące skuteczności
Android XR obsługuje te funkcje związane z wydajnością.
- Foveacja śledzenia wzroku
- Pozwala aplikacji renderować treści w wyższej rozdzielczości tylko w miejscu skupienia oczu.
- Przestrzeń zakrzywiona
- Używa wektorów prędkości i informacji o teksturze głębi, aby generować klatki pośrednie, które skutecznie zwiększają liczbę klatek na sekundę, co pozwala utrzymać użytkowników w świecie Twoich doświadczeń
- Dane dotyczące skuteczności
- Przekazuje dane o wydajności Androida XR w czasie działania bieżącego urządzenia XR, kompozytora i aplikacji XR. Obejmuje to czas renderowania klatki przez procesor, czas renderowania klatki przez procesor graficzny, wykorzystanie procesora graficznego, częstotliwość procesora, liczbę klatek na sekundę i więcej.
Pełną listę obsługiwanych funkcji i rozszerzeń znajdziesz w omówieniu funkcji OpenXR.
Obsługiwane wyszukiwarki
Unity
Obsługa Unity w Androidzie XR, oparta na OpenXR, umożliwia deweloperom tworzenie doświadczeń za pomocą Unity 6. Więcej informacji o tworzeniu aplikacji XR w Unity znajdziesz w omówieniu Unity.