Ulepszanie aplikacji dzięki funkcji percepcji za pomocą ARCore dla Jetpack XR

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
Okulary audio i z wyświetlaczem

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:

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: