Tworzenie aplikacji z obsługiwanymi rozszerzeniami OpenXR

Android XR obsługuje OpenXR zgodnie ze specyfikacją OpenXR 1.1 i długą listą rozszerzeń zewnętrznych dostawców. Korzystanie z tych rozszerzeń zapewnia znajome środowisko podczas tworzenia aplikacji na XR. Niektóre z tych funkcji wymagają uprawnień czasu działania na Androidzie. Jeśli chcesz tworzyć aplikacje bezpośrednio na podstawie interfejsów OpenXR API, wymagane pliki nagłówkowe znajdziesz w tym repozytorium.

Rozszerzenia dostawcy Androida XR

Nazwa rozszerzenia

Opis

XR_ANDROID_composition_layer_passthrough_mesh

Umożliwia aplikacji wyświetlanie tekstur passthrough na dowolnej geometrii za pomocą dodatkowej warstwy kompozycji. To rozszerzenie wymaga android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_depth_texture

Udostępnia surową i wygładzoną głębię na potrzeby okluzji, testów trafień i innych konkretnych zadań, które wykorzystują dokładną geometrię sceny, np. wykrywanie podrobionych twarzy. Zapewnia teksturę głębi o niskiej rozdzielczości i pewność sceny na podstawie bieżących pozycji kamery lub oczu. To rozszerzenie wymaga android.permission.SCENE_UNDERSTANDING_FINE.

XR_ANDROID_device_anchor_persistence

Umożliwia aplikacji zapisywanie, pobieranie i usuwanie kotwic na bieżącym urządzeniu w różnych aplikacjach i sesjach urządzenia. To rozszerzenie wymaga android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_eye_tracking

Zezwala aplikacji na uzyskiwanie informacji o pozycji i orientacji oczu użytkownika, co ma na celu bardziej realistyczne przedstawianie pozycji i stanu oczu awatarów. Nie używaj tego rozszerzenia do innych celów związanych ze śledzeniem wzroku. Do interakcji należy używać znacznika XR_EXT_eye_gaze_interaction. To rozszerzenie wymaga android.permission.EYE_TRACKING_COARSE lub android.permission.EYE_TRACKING_FINE.

XR_ANDROID_face_tracking

Zezwala aplikacji na pobieranie wag kształtów mieszanych i renderowanie wyrazów twarzy w środowiskach XR. To rozszerzenie wymaga android.permission.FACE_TRACKING.

XR_ANDROID_hand_mesh

Umożliwia śledzenie rąk za pomocą dynamicznej siatki rąk. To rozszerzenie ma na celu dostarczanie buforów wierzchołków i indeksów dla siatki spersonalizowanej reprezentacji dłoni użytkownika. Do śledzenia stawów dłoni można używać XR_EXT_hand_tracking, a do interakcji – XR_EXT_hand_interaction. To rozszerzenie wymaga android.permission.HAND_TRACKING.

XR_ANDROID_light_estimation

Szacuje oświetlenie otoczenia (w tym harmoniczne sferyczne) w bieżącym otoczeniu użytkownika. To rozszerzenie umożliwia aplikacji żądanie danych reprezentujących oświetlenie środowiska w świecie rzeczywistym wokół zestawu słuchawkowego. Te informacje mogą być używane podczas renderowania obiektów wirtualnych, aby oświetlać je w tych samych warunkach co scena, w której są umieszczone. To rozszerzenie wymaga android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_mouse_interaction

To rozszerzenie wprowadza nowy profil interakcji zaprojektowany specjalnie dla urządzeń wskazujących, aby można było wprowadzać dane za pomocą systemu działań OpenXR. Umożliwia korzystanie z często używanych pozycji działania w profilach myszy użytkownika, w tym w przypadku myszy i trackpadów. Jest to funkcja przeznaczona do interakcji z obiektami za pomocą wskaźnika myszy w przestrzeni 3D. Na przykład używanie wirtualnego wskaźnika laserowego do celowania w wirtualny przycisk na ścianie to interakcja odpowiednia dla pozycji „celowanie”.

XR_ANDROID_passthrough_camera_state

Określa stany włączony, inicjowanie lub wyłączony dla kamery podglądu.

XR_ANDROID_performance_metrics

To rozszerzenie udostępnia interfejsy API do wyliczania i wykonywania zapytań dotyczących różnych liczników danych o wydajności bieżącego urządzenia XR, kompozytora i aplikacji XR.

XR_ANDROID_raycast

To rozszerzenie umożliwia aplikacji wykonywanie śledzenia promieni w odniesieniu do obiektów śledzonych w otoczeniu. To rozszerzenie wymaga android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_scene_meshing

Umożliwia aplikacji uzyskiwanie w czasie rzeczywistym semantycznej siatki 3D otoczenia. To rozszerzenie wymaga android.permission.SCENE_UNDERSTANDING_FINE.

XR_ANDROID_trackables

To rozszerzenie umożliwia aplikacji dostęp do obiektów śledzonych, takich jak samoloty, w środowisku fizycznym oraz tworzenie kotwic dołączonych do obiektu śledzonego. To rozszerzenie wymaga android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_trackables_object

Obsługuje śledzenie obiektów fizycznych, takich jak klawiatura i mysz, w scenie. To rozszerzenie wymaga android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_unbounded_reference_space

Zapewnia nieograniczoną przestrzeń odniesienia, która może być wykorzystywana do lepszego zrozumienia sceny z biegiem czasu. Ta przestrzeń odniesienia umożliwia widzowi swobodne poruszanie się w złożonym środowisku, często wiele metrów od miejsca, w którym się rozpoczął, przy jednoczesnej optymalizacji stabilności układu współrzędnych w pobliżu widza.

Inne obsługiwane rozszerzenia

Obsługiwane są też te dodatkowe rozszerzenia: Informacje znajdują się w witrynach zewnętrznych.


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.