Nowości dotyczące produktów
Aktualizacje pakietu Android XR SDK: wersja przedpremierowa dla programistów 4
5 min czytania
Z przyjemnością informujemy o udostępnieniu wersji przedpremierowej 4 pakietu Android XR SDK. Nadal skupiamy się na ujednoliceniu tworzenia aplikacji na różne urządzenia, takie jak zestawy słuchawkowe, przewodowe okulary XR i inteligentne okulary. Aby nasza platforma była intuicyjna, wprowadzamy bardziej opisowe nazwy formatów. Okulary z AI to teraz okulary audio, a okulary z wyświetlaczem AI to okulary z wyświetlaczem. Zmiany te są widoczne w naszej dokumentacji od dziś.
Ta wersja zawiera wiele aktualizacji, które pomogą Ci tworzyć niesamowite rozwiązania na urządzenia XR, umożliwiać bardziej immersyjne wrażenia na zestawach słuchawkowych XR i upraszczać tworzenie rozszerzonych wrażeń na okularach audio i okularach z wyświetlaczem.Ponadto nasze podstawowe biblioteki, w tym XR Runtime, Jetpack SceneCore i ARCore dla Jetpack XR, wkrótce oficjalnie przejdą do wersji beta.
Aby zapewnić Ci wczesny dostęp do sprzętu i zasobów do tworzenia immersyjnych i rozszerzonych wrażeń na przyszłych urządzeniach, takich jak okulary z wyświetlaczem i okulary audio oraz Project Aura firmy XREAL, ogłaszamy program Android XR Developer Catalyst. Dowiedz się więcej i zacznij wypełniać zgłoszenie już dziś.
Tworzenie rozszerzonych wrażeń na okulary audio i okulary z wyświetlaczem
W wersji przedpremierowej dla programistów 4 wprowadzamy nowe interfejsy API, które pomogą Ci tworzyć i testować aplikacje. Zaczynamy od bibliotek do tworzenia rozszerzonych wrażeń.
Jetpack Projected: interfejsy API Device Availability i ProjectedTestRule
Biblioteka Jetpack Projected pomaga przenosić wrażenia z aplikacji z telefonu do pola widzenia użytkownika. Dodaliśmy interfejs API Device Availability, który łączy sygnały stanu noszenia i łączności w standardowe wartości Lifecycle.State Androida. Dzięki temu możesz dostosowywać działanie aplikacji w zależności od tego, czy urządzenie jest noszone.
val xrDevice = XrDevice.getCurrentDevice(projectedContext) // Observe the device lifecycle flow xrDevice.getLifecycle().currentStateFlow .collect { state -> when (state) { Lifecycle.State.STARTED -> { /* Device is available (worn) */ } Lifecycle.State.CREATED -> { /* Device is unavailable (not worn) */ } Lifecycle.State.DESTROYED -> { /* Device is DISCONNECTED */ } } }
Aby uprościć testowanie, nowy ProjectedTestRule interfejs API w artefakcie projected-testing automatyzuje konfigurację środowisk testowych. Pomaga to pisać przejrzyste i niezawodne testy jednostkowe bez powtarzalnego kodu.
// from the 'androidx.xr.projected:projected-testing:1.0.0-alpha07' artifact @get:Rule val projectedTestRule = ProjectedTestRule() @Test fun testProjectedContextInitialization() { // by default, ProjectedTestRule automatically creates and connects // a projected device before each test val projectedContext = ProjectedContext.createProjectedDeviceContext(context) // assert the projected context is successfully initialized assertThat(projectedContext).isNotNull() }
Jetpack Compose Glimmer: Google Sans Flex i nowe komponenty
Nasza biblioteka interfejsu użytkownika dla okularów z wyświetlaczem, Jetpack Compose Glimmer, zawiera teraz Google Sans Flex, co poprawia czytelność na optycznych wyświetlaczach przeziernych. Dodaliśmy też kilka interaktywnych komponentów:
- Stosy: zaprojektowane dla grup zoptymalizowanych pod kątem touchpada, wyświetlających po jednym elemencie.
- _Chipsy z tytułem_: zapewniają kategoryzację i kontekst kart treści.
Tworzenie immersyjnych wrażeń na zestawy słuchawkowe XR i przewodowe okulary XR
Jeśli chcesz tworzyć w pełni immersyjne wrażenia na zestawy słuchawkowe XR i przewodowe okulary XR, mamy dla Ciebie kilka ważnych aktualizacji.
Przejście do wersji beta i nowoczesna architektura
XR Runtime, Jetpack SceneCore i funkcje percepcji ARCore dla Jetpack XR (mapy głębi, śledzenie wzroku i dłoni, testowanie trafień i kotwice przestrzenne) wkrótce przejdą do wersji beta, dlatego uprościliśmy interfejsy API Jetpack XR. Usunęliśmy starsze pakiety Guava i RxJava3 na rzecz nowoczesnej architektury opartej na Kotlinie.
Jetpack SceneCore: glTF i niestandardowe siatki
Rozszerzamy możliwości modeli 3D, dodając możliwość precyzyjnego dostrajania modeli 3D i uzyskiwania dostępu do określonych węzłów w modelu 3D. Za pomocą GltfModelNode możesz modyfikować właściwości takie jak pozy, materiały i tekstury, a nawet uruchamiać animacje dla określonych węzłów.
// Create a new PBR material pbrMaterial = KhronosPbrMaterial.create( session = xrSession, alphaMode = AlphaMode.OPAQUE ) // Load a texture. val texture = Texture.create( session = xrSession, path = Path("textures/texture_name.png") ) // Apply the texture and configure occlusion to define how the material handles ambient lighting. pbrMaterial.setOcclusionTexture( texture = texture, strength = 0.5f ) // Access the hierarchy of nodes within the model entity. val entityNodes = entity.nodes // Find the specific node to apply the material override. val myEntityNode = entityNodes.find { it.name == "node_name" } // Apply the PBR material to the node. myEntityNode?.setMaterialOverride( material = newMaterial )
Wprowadzamy też niestandardowe siatki do SceneCore. Niestandardowe siatki umożliwiają tworzenie geometrii na bieżąco za pomocą kodu, co jest idealne do tworzenia niestandardowych modeli 3D. Ta funkcja zostanie udostępniona w wersji eksperymentalnej, więc wypróbuj ją i podziel się z nami swoją opinią.
// Create the mesh val roadMesh = CustomMesh.BuilderFromMeshData(session, roadVertexLayout) .addVertexData(ByteBufferRegion(roadDataBuffer, 0, vertexDataSize)) .setIndexData(ByteBufferRegion(roadDataBuffer, vertexDataSize, indexDataSize)) .setTopology(MeshSubsetTopology.TRIANGLES) .build() // Define the material val roadMaterial = KhronosPbrMaterial.create(session, AlphaMode.OPAQUE) // Instantiate the entity using the custom mesh and material val roadEntity = MeshEntity.create( session, roadMesh, listOf(roadMaterial), pose = roadPose, )
Compose for XR: natywna obsługa glTF
Teraz mamy natywną obsługę glTF bezpośrednio w Compose for XR dzięki SpatialGltfModel. Używaj jej razem z SpatiallGltfModelState, aby uzyskiwać dostęp do węzłów i animacji w modelu glTF lub dodawać tekstury i materiały do modeli 3D.
val myGltfModelState = rememberSpatialGltfModelState( source = SpatialGltfModelSource.fromPath( Paths.get("models/my_animated_model.glb") ) ) val myGltfAnimation = myGltfModelState.animations.find { it.name == "animation_name" } DisposableEffect(myGltfAnimation) { myGltfAnimation?.loop() onDispose { myGltfAnimation?.stop() } } SpatialGltfModel(state = myGltfModelState, modifier = modifier)
ARCore dla Jetpack XR: wersja przedpremierowa interfejsu Geospatial API dla przewodowych okularów XR
W ARCore dla Jetpack XR udostępniamy też wersję przedpremierową interfejsu Geospatial API dla przewodowych okularów XR. Ta aktualizacja umożliwia precyzyjne kotwiczenie treści cyfrowych powiązanych z rzeczywistymi lokalizacjami w ponad 87 krajach.
Łącząc system pozycjonowania wizualnego (VPS) ARCore z możliwościami rozumowania i dźwięku interfejsu Gemini Live API, możesz tworzyć rozwiązania dopasowane kontekstowo, które rozumieją zarówno lokalizację, jak i pozycję użytkownika. Wyobraź sobie, że tworzysz immersyjną wycieczkę z przewodnikiem AI, która zapewnia w czasie rzeczywistym opisy audio pobliskich miejsc, płynnie łącząc informacje cyfrowe ze środowiskiem fizycznym.
Zacznij budować przyszłość już dziś
To świetny czas na tworzenie aplikacji na Androida XR. Dzięki temu, że Jetpack XR SDK wkrótce przejdzie do wersji beta, a Ty będziesz mieć do dyspozycji wiele nowych narzędzi, możesz przygotować swoje aplikacje na XR w każdym z tych obszarów.
Przeczytaj dokumentację, zapoznaj się z przykładami i sprawdź eksperymenty XR
Pełne przewodniki techniczne, dokumentację interfejsu API i instrukcje konfigurowania nowego emulatora znajdziesz w oficjalnej witrynie dla deweloperów Androida. Zainspiruj się naszymi przykładami i eksperymentami. Zobacz, jak wykorzystaliśmy te interfejsy API do tworzenia immersyjnych układów przestrzennych, wczytywania modeli 3D, eksplorowania dźwięku przestrzennego i nie tylko.
Sprawdź nowości dotyczące silników gier
Dodaliśmy oficjalną obsługę Unreal Engine i Godot oraz udostępniliśmy 2 nowe narzędzia, które przyspieszą tworzenie aplikacji na Androida XR za pomocą Unity i Android XR Interaction Framework. Na podstawie Waszych opinii wprowadzamy też Android XR Engine Hub, który umożliwia uruchamianie aplikacji bezpośrednio z preferowanego silnika.
Zgłoś się do programu Android XR Developer Catalyst
Nie przegap okazji, aby tworzyć aplikacje na najnowszy sprzęt z Androidem XR. Zgłoś się już dziś, aby uzyskać dostęp do sprzętu w wersji przedpremierowej, w tym do prototypu okularów audio i okularów z wyświetlaczem oraz do Project Aura firmy XREAL.
Dowiedz się więcej i zgłoś się już dziś
Cieszymy się, że w tym roku, gdy będziemy wprowadzać na rynek kolejne urządzenia z Androidem XR, będziemy mogli zobaczyć niesamowite rozwiązania XR, które stworzysz.
Więcej informacji o tym ogłoszeniu i wszystkich nowościach z Google I/O 2026 znajdziesz na io.google.
Czytaj dalej
-
Nowości dotyczące produktów
Z przyjemnością informujemy, że w Androidzie XR pojawiła się oficjalna obsługa Unreal Engine i Godot. Uruchamiamy też nowe narzędzia, które zwiększą Twoją produktywność i umożliwią korzystanie z nowych funkcji XR: Android XR Engine Hub i Android XR Interaction Framework.
Luke Hopkins • 4 min czytania
-
Nowości dotyczące produktów
Wraz z wydaniem Androida 17 przechodzimy na standard tworzenia adaptacyjnego. Użytkownicy nie korzystają już tylko z jednego formatu. W ciągu dnia przełączają się między telefonami, urządzeniami składanymi, tabletami, laptopami, wyświetlaczami samochodowymi i immersyjnymi środowiskami XR.
Fahd Imtiaz • 4 min czytania
-
Nowości dotyczące produktów
Z przyjemnością informujemy o udostępnieniu funkcji Google TV i narzędzi dla deweloperów, które zwiększą wykrywalność Twoich treści i przygotują aplikację na przyszłe wrażenia telewizyjne.
Paul Lammertsma • 4 min czytania
Bądź na bieżąco
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.