ARCore for Jetpack XR zapewnia aplikacji zaawansowane możliwości percepcji, dzięki którym może ona rozumieć świat rzeczywisty za pomocą różnych interfejsów API. Niektóre z tych interfejsów API pomagają ulepszyć wrażenia immersyjne na urządzeniach takich jak gogle XR i okulary XR z przewodem, inne pomagają ulepszyć wrażenia rozszerzone na urządzeniach takich jak okulary z AI, a jeszcze inne pomagają ulepszyć wrażenia użytkownika aplikacji na wszystkich typach urządzeń z Androidem XR.
Możesz na przykład użyć ARCore for Jetpack XR, aby pobrać dane planarne, zakotwiczyć treści w stałej lokalizacji w przestrzeni lub użyć pozycji geoprzestrzennej do zakotwiczenia treści w rzeczywistej lokalizacji.
Dodawanie zależności bibliotek
Zanim zaczniesz korzystać z funkcji percepcji w aplikacji XR, dodaj niezbędne zależności w zależności od typu wrażeń użytkownika aplikacji, które ulepszasz za pomocą AR.
Dostęp do sesji
Funkcje percepcji w ARCore for Jetpack XR opierają się na Session, który korzysta ze środowiska wykonawczego Jetpack XR.
Sposób, w jaki aplikacja powinna uzyskiwać dostęp do sesji, zależy od typów wrażeń użytkownika aplikacji, które ulepszasz za pomocą funkcji percepcji:
- Jeśli Twoja aplikacja ulepsza wrażenia immersyjne dzięki przestrzennemu interfejsowi, który korzysta z Jetpack Compose for XR, uzyskaj dostęp do sesji z Jetpack Compose for XR.
- We wszystkich innych sytuacjach możesz utworzyć sesję za pomocą środowiska wykonawczego Jetpack XR, co opisujemy w następnej sekcji na tej stronie.
Tworzenie sesji za pomocą środowiska wykonawczego Jetpack XR
Aby utworzyć sesję, przekaż Context do metody create(). Ten Context może być Activity na immersyjnych urządzeniach z XR lub urządzeniach mobilnych albo wyświetlanym kontekstem na inteligentnych okularach.
Tworzenie sesji ARCore może być kosztownym zadaniem i powinno być przetwarzane w tle, jak w tym przykładzie:
lifecycleScope.launch { when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) } }
Funkcja create() może używać opcjonalnego parametru LifecycleOwner, który umożliwia zarządzanie cyklem życia sesji przez inną funkcję LifecycleOwner. Cykl życia obiektu LifecycleOwner musi rozpoczynać się i kończyć w zakresie podanego kontekstu, w przeciwnym razie może dojść do wycieku obiektu Session.
Konfigurowanie sesji
Niektóre funkcje mogą być domyślnie wyłączone i wymagają skonfigurowania. Aby skonfigurować sesję, użyj configure() i określ opcje konfiguracji, których wymaga Session. Szczegółowe informacje o wymaganej konfiguracji różnych funkcji AR znajdziesz na odpowiednich stronach dotyczących poszczególnych funkcji AR.
Dalsze kroki
Gdy aplikacja będzie miała sesję, zapoznaj się ze sposobami, w jakie możesz jej używać do ulepszania wrażeń użytkownika aplikacji na różnych urządzeniach z XR:
- Wykrywanie płaszczyzn za pomocą ARCore dla Jetpack XR
- Tworzenie kotwic za pomocą ARCore dla Jetpack XR
- Praca z dłońmi przy użyciu ARCore for Jetpack XR
- Włączanie śledzenia twarzy w aplikacji za pomocą ARCore for Jetpack XR
- Pobieranie informacji o głębi w aplikacji za pomocą ARCore dla Jetpack XR
- Śledzenie pozycji urządzenia za pomocą ARCore dla Jetpack XR