Środowisko wykonawcze XR

Rozpocznij niestandardową sesję AR lub 3D za pomocą naszego natywnego środowiska wykonawczego.
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca do publikacji Wersja Beta Wersja alfa
7 maja 2025 r. - - - 1.0.0-alpha04

Deklarowanie zależności

Aby dodać zależność od środowiska wykonawczego XR, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Maven firmy Google.

Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle aplikacji lub modułu:

GroovyKotlin
dependencies {
    implementation "androidx.xr.runtime:runtime:1.0.0-alpha04"

    // Use in environments that do not support OpenXR
    testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha04"
}
dependencies {
    implementation("androidx.xr.runtime:runtime:1.0.0-alpha04")

    // Use in environments that do not support OpenXR
    testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha04")
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz zagłosować na istniejący problem, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wersja 1.0

Wersja 1.0.0-alpha04

7 maja 2025 r.

Funkcje androidx.xr.runtime:runtime:1.0.0-alpha04, androidx.xr.runtime:runtime-openxr:1.0.0-alpha04androidx.xr.runtime:runtime-testing:1.0.0-alpha04 są dostępne. Wersja 1.0.0-alpha04 zawiera te komisy.

Nowe funkcje

  • Sesja obsługuje teraz androidx.lifecycle.LifecycleOwner, co zwiększa interoperacyjność z dotychczasowymi paradygmatami cyklu życia Androida.
  • Ciągi znaków w pliku manifestu na potrzeby Androida XR są określone i opisane tutaj.
  • Metody rozszerzenia wywołania zwrotnego Widoczność przestrzenna dodane do monitorowania, czy zawartość sceny porusza się w polu widzenia użytkownika.
  • Dodano wersję zastępczą klasy JxrPlatformAdapter (oraz wszystkich powiązanych z nią klas).
  • Zmienna Session będzie używana zarówno w wymiarze SceneCore, jak i w czasie wykonywania zamiast wymiaru Session w wymiarze SceneCore.
  • Dodano ActivityPose.hitTest, co umożliwia hitTest w przypadku treści wirtualnych.
  • W czasie kompilacji można teraz określić wiele implementacji środowiska uruchomieniowego. Podczas wykonywania wczytywana jest tylko jedna wersja na podstawie zestawu funkcji bieżącego urządzenia.
  • Dodano nowy typ komponentu SpatialPointerComponent, który umożliwia klientom określenie ikony renderowanej dla wskaźnika lub jej wyłączenie. Ten komponent można obecnie dołączać tylko do instancji PanelEntity.

Zmiany w interfejsie API

  • Udostępnij implementację Config. (I95860)
  • Dodaj HandJointTypeTrackingState. (I55880)
  • Projekty opublikowane z Kotlin 2.0 wymagają KGP 2.0.0 lub nowszej wersji (Idb6b5).
  • Nazwa Hand.isActive (boolean) została zmieniona na Hand.trackingState. Implementacja usługi OpenXR została odpowiednio zmodyfikowana.
  • Wymagania dotyczące uprawnień android.permission.SCENE_UNDERSTANDINGSession.configure zostały zmienione na android.permission.SCENE_UNDERSTANDING_COARSE.
  • Funkcja LifecycleManager.configure jest teraz implementowana i przekazuje obiekt Config, który zawiera właściwość dla każdej konfigurowalnej funkcji czasu wykonywania.
  • Aby skonfigurować dostępne funkcje w czasie wykonywania, można teraz wywołać funkcję Session.configure z argumentem Config.
  • Funkcja Session.create obsługuje teraz przekazywanie argumentu CoroutineContext zamiast CoroutineDispatcher.
  • Session.create obsługuje wczytywanie ARCore w przypadku Jetpacka XR lub SceneCore. Musisz podać co najmniej 1 wersję (dostępne są wersje testowe).
  • Funkcja FakePerceptionManager zgłasza błąd AnchorInvalidUuidException, gdy do funkcji Anchor.loadAnchor.unpersist przekazany zostanie nieprawidłowy identyfikator UUID.
  • Element CoreState nie jest już klasą danych.

Poprawki błędów

  • Naprawiono konfiguracje Proguarda w czasie działania.

Wersja 1.0.0-alpha03

26 lutego 2025 r.

androidx.xr.runtime:runtime:1.0.0-alpha03, androidx.xr.runtime:runtime-openxr:1.0.0-alpha03androidx.xr.runtime:runtime-testing:1.0.0-alpha03 zostały wydane bez istotnych zmian od ostatniej wersji alfa. Wersja 1.0.0-alpha03 zawiera te komity.

Wersja 1.0.0-alpha02

12 lutego 2025 r.

Funkcje androidx.xr.runtime:runtime:1.0.0-alpha02, androidx.xr.runtime:runtime-openxr:1.0.0-alpha02androidx.xr.runtime:runtime-testing:1.0.0-alpha02 są dostępne. Wersja 1.0.0-alpha02 zawiera te komity.

Zmiany w zakresie zmian w funkcjonalności i zachowaniu

  • Funkcje OpenXR środowiska uruchomieniowego, które zwracają element Anchor, teraz wywołują błąd AnchorResourcesExhaustedException, jeśli napotkają kod błędu informujący o osiągnięciu limitu zasobów OpenXR.
  • Uprawnienie android.permission.HAND_TRACKING jest teraz wymagane w przypadku funkcji Session.createSession.resume.

Nowe funkcje

  • Dodano obsługę śledzenia rąk.

Poprawki błędów

  • Tworzenie punktów kotwiczenia jest bardziej stabilne podczas uruchamiania na emulatorze.

Wersja 1.0.0-alpha01

12 grudnia 2024 r.

Element androidx.xr.runtime:runtime-* 1.0.0-alpha01 został zwolniony.

Funkcje wersji początkowej

Pierwsza wersja środowiska wykonawczego Jetpack XR. Ta biblioteka zawiera podstawowe funkcje pakietu bibliotek Jetpack XR. Obejmuje to m.in. wykrywanie możliwości, zarządzanie cyklem życia i konfigurację. Biblioteka Runtime udostępnia różne wersje (np. runtime-openxr lub runtime-testing) w zależności od platformy wykonania. Dodatkowo biblioteka ta udostępnia podstawowe abstrakcje matematyczne, takie jak Vector3Matrix4, które są używane w całym interfejsie Jetpack XR API.

  • Session: zapewnia precyzyjną kontrolę nad systemem XR, w tym możliwość określania, kiedy ma być wykonywane przetwarzanie, a kiedy nie, oraz ogólną konfigurację. Jest to też identyfikator, którego będziesz używać we wszystkich innych interfejsach API, aby odblokować funkcje systemu.

  • Pose: lokalizacja w dowolnym układzie współrzędnych, która ma powiązaną pozycję i orientację. Użyjesz tej klasy do komunikowania lokalizacji obiektów za pomocą ARCore dla Jetpack XR i Jetpack SceneCore.

Znane problemy

  • configure jest obecnie nieaktywna. W przyszłych wersjach dodamy nowe ustawienia, które pozwolą Ci kontrolować działanie Session.