Tworzenie aplikacji na Androida XR za pomocą Unreal Engine

Odpowiednie urządzenia z XR
Te wskazówki pomogą Ci tworzyć treści na te typy urządzeń z XR.
Gogle XR
Przewodowe okulary XR

Obsługa programowania XR w Unreal Engine jest oparta na standardzie OpenXR, dzięki czemu funkcje OpenXR obsługiwane w Androidzie XR są natywnie obsługiwane w Unreal.

Z tego przewodnika dowiesz się:

  • Obsługa Unreal Engine na Androidzie XR
    • Podstawy XR w Unreal Engine
    • Tworzenie i publikowanie aplikacji na Androida XR
    • Wtyczki Unreal Engine do Androida XR
    • Korzystanie z pomocy
  • Dane wejściowe i interakcja
  • Obsługiwane rozszerzenia

Obsługa Unreal Engine na Androidzie XR

Podczas tworzenia aplikacji Unreal na Androida XR możesz korzystać z funkcji obliczeń przestrzennych najnowszych wersji Unreal Engine 5. Unreal Engine 5 obsługuje podstawową specyfikację OpenXR, a rozszerzenia Androida XR dla Unreal obsługują Androida XR i inne rozszerzenia, które pomogą Ci szybko rozpocząć pracę.

Podstawy XR w Unreal Engine

Jeśli dopiero zaczynasz korzystać z Unreal lub XR, zapoznaj się z dokumentacją dla deweloperów XR, aby poznać podstawowe pojęcia i przepływy pracy. Oto kilka najważniejszych obszarów, które warto poznać:

Tworzenie i publikowanie aplikacji na Androida

Unreal Engine udostępnia obszerną dokumentację dotyczącą tworzenia, kompilowania i publikowania aplikacji na Androida. Ta dokumentacja zawiera informacje o zarządzaniu uprawnieniami Androida w silniku, konfigurowaniu ustawień kompilacji Androida (w sekcji Ustawienia projektu > Platforms > Android) i korzystaniu z narzędzia Unreal Automation Tool (UAT).

Zapoznaj się też z dokumentacją dotyczącą pakowania i rozpowszechniania aplikacji na Androida XR, aby poznać szczegółowe wymagania dotyczące aplikacji przestrzennych rozpowszechnianych w Sklepie Google Play. Upewnij się, że aplikacja jest zgodna ze wskazówkami dotyczącymi jakości w przypadku trybu immersyjnego, aby zapewnić spójne i wygodne działanie na Androidzie XR.

Wtyczki Unreal Engine do Androida XR

Dostępne są 2 główne wtyczki, które umożliwiają tworzenie aplikacji Unreal na Androida XR. Wtyczkami tymi zarządza się w menu Plugins (Wtyczki) (Edit > Plugins (Edytuj > Wtyczki)).

Wtyczka OpenXR na Androida XR

Wtyczka Android XR OpenXR to główny interfejs silnika, który dodaje obsługę Androida XR do Unreal. Implementuje rozszerzenia OpenXR wymagane do śledzenia przestrzennego, rozpoznawania środowiska i percepcji. Aby dowiedzieć się, jak dodać i skonfigurować tę wtyczkę, zapoznaj się z dokumentacją Unreal Engine OpenXR.

Rozszerzenia Androida XR dla Unreal

Rozszerzenia Androida XR dla Unreal (wersja 1.1.0, obsługująca Unreal Engine 5.6.x i 5.8.x) uzupełniają podstawową obsługę OpenXR, w tym dodatkowe funkcje, które pomagają tworzyć immersyjne doświadczenia, takie jak encje przestrzenne, rzutowanie promieni przestrzennych i głębi, wtapianie widocznego obszaru, mapa sześcienna szacowania światła, zaawansowane dane siatki dłoni i określone optymalizacje sprzętowe. Aby dowiedzieć się, jak zaimportować i skonfigurować ten pakiet, zapoznaj się z krótkim wprowadzeniem do rozszerzeń Androida XR lub dokumentacją API rozszerzeń Androida XR dla Unreal.

Uzyskaj pomoc

Jeśli napotkasz problemy, zapoznaj się z sekcją pomocy dotyczącą Unreal Engine na naszej stronie pomocy.

Dane wejściowe i interakcja

Tworzenie interaktywnych doświadczeń przestrzennych wymaga mapowania ruchów fizycznych na działania cyfrowe. Unreal Engine używa systemu Enhanced Input w połączeniu z OpenXR do obsługi zarówno kontrolerów ruchu, jak i śledzenia rąk. Konfigurując działania wejściowe i konteksty mapowania danych wejściowych, możesz tworzyć elastyczne interakcje, takie jak chwytanie, wskazywanie i poruszanie się po interfejsie, które działają bezproblemowo w różnych metodach wprowadzania danych na Androidzie XR.

Szczegółowe instrukcje dotyczące tworzenia tych mechanizmów znajdziesz w dokumentacji Unreal Engine na temat tworzenia interaktywnych środowisk XR.

Android XR obsługuje te metody interakcji w Unreal Engine:

Profile interakcji

Profile interakcji możesz skonfigurować w sekcji OpenXR w ustawieniach projektu. Dzięki temu aplikacja może zachować spójne mapowanie danych wejściowych na różnych kontrolerach i metodach śledzenia.

Interakcja za pomocą dłoni

Interakcja za pomocą dłoni jest możliwa dzięki rozszerzeniu OpenXR Hand Tracking. Dostęp do danych o stawach dłoni i pozach można uzyskać za pomocą komponentów śledzenia XR w Blueprints lub C++.

Interakcja za pomocą ruchu gałek ocznych

Dane dotyczące wzroku można pobrać jako standardowy strumień wejścia, co pozwala na sterowanie interfejsem użytkownika lub funkcjami obecności społecznościowej. Wymaga to uprawnienia android.permission.EYE_TRACKING_FINE.

Śledzenie twarzy

Uzyskuj dostęp do danych o mimice twarzy w czasie rzeczywistym, aby animować awatary lub ułatwiać interakcje społecznościowe. Używa przy tym rozszerzenia XR_ANDROID_face_tracking.

Obsługiwane rozszerzenia

Podczas tworzenia aplikacji na Androida XR w Unreal obsługiwane są te rozszerzenia OpenXR:

Funkcja lub możliwość Ciąg znaków rozszerzenia OpenXR Udostępnione przez

Trwałość kotwic na urządzeniu

XR_ANDROID_device_anchor_persistence

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Raycast

XR_ANDROID_raycast

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Elementy możliwe do śledzenia (płaszczyzny/głębokość)

XR_ANDROID_trackables

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Śledzenie obiektów

XR_ANDROID_trackables_object

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Siatka sceny

XR_ANDROID_scene_meshing

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Śledzenie twarzy

XR_ANDROID_face_tracking

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Śledzenie wzroku

XR_ANDROID_eye_tracking

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Stan kamery trybu Passthrough

XR_ANDROID_passthrough_camera_state

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Warstwa siatki trybu passthrough

XR_ANDROID_composition_layer_passthrough_mesh

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Tekstura głębi

XR_ANDROID_depth_texture

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Szacowanie oświetlenia

XR_ANDROID_light_estimation

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Mapa sześcienna do szacowania oświetlenia

XR_ANDROID_light_estimation_cubemap

Rozszerzenia Androida XR dla Unreal (wersja 1.1.0)

Wskaźniki skuteczności

XR_ANDROID_performance_metrics

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Zalecane rozwiązanie

XR_ANDROID_recommended_resolution

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Interakcja dłonią

XR_EXT_hand_interaction

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Narzędzia do debugowania

XR_EXT_debug_utils

Unreal Native OpenXR

Ustawienia skuteczności

XR_EXT_performance_settings

Unreal Native OpenXR

Częstotliwość odświeżania wyświetlacza

XR_FB_display_refresh_rate

Unreal Native OpenXR

Siatka śledzenia rąk

XR_FB_hand_tracking_mesh

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Zakrzywienie przestrzeni

XR_FB_space_warp

Unreal Native OpenXR

Warstwa kompozycji Equirect2

XR_KHR_composition_layer_equirect2

Unreal Native OpenXR

Ustawienia Thread na Androidzie

XR_KHR_android_thread_settings

Unreal Native OpenXR

Globalne przyciemnienie trybu passthrough

XR_ANDROID_global_passthrough_dimming

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Właściwości rozszerzenia systemu

XR_ANDROID_enumerate_system_extension_properties

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Podmioty przestrzenne

XR_EXT_spatial_entity

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Śledzenie płaszczyzny przestrzennej

XR_EXT_spatial_plane_tracking

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Śledzenie znaczników przestrzennych

XR_EXT_spatial_marker_tracking

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Kotwice przestrzenne i trwałość

XR_EXT_spatial_anchor, XR_EXT_spatial_persistence

Rozszerzenia Androida XR dla Unreal (wersja 1.0.0)

Wygładzanie krawędzi w obszarze wyświetlania

XR_ANDROID_viewport_feathering

Rozszerzenia Androida XR dla Unreal (wersja 1.1.0)

Wykrywanie przestrzenne i promień głębi

XR_ANDROID_spatial_discovery_raycast

Rozszerzenia Androida XR dla Unreal (wersja 1.1.0)

Rozszerzenia pochodzą z jednego z tych źródeł:

  • Rozszerzenia Androida XR dla Unreal: to rozszerzenia Google (ANDROID) i rozszerzenia elementów przestrzennych (EXT) opracowane na platformę Android XR. Aby korzystać z tych funkcji przestrzennych, zainstaluj i włącz wtyczkę rozszerzeń Androida XR w .uproject i zapoznaj się z dokumentacją interfejsu API rozszerzeń Androida XR dla Unreal, aby dowiedzieć się, jak korzystać z Blueprint i C++.
  • Unreal Native OpenXR: te funkcje wykorzystują standardowe rozszerzenia Khronos (KHR), Extension (EXT) i Meta (FB), które są już zintegrowane i utrzymywane bezpośrednio w podstawowej wtyczce OpenXR silnika Unreal Engine.