ARCore untuk Jetpack XR
Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
---|---|---|---|---|
30 Juli 2025 | - | - | - | 1.0.0-alpha05 |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada ARCore untuk Jetpack XR, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle
bagi aplikasi atau modul Anda:
Groovy
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha05" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha05") }
Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.
Masukan
Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Versi 1.0
Versi 1.0.0-alpha05
30 Juli 2025
androidx.xr.arcore:arcore:1.0.0-alpha05
, androidx.xr.arcore:arcore-guava:1.0.0-alpha05
, dan androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05
dirilis. Versi 1.0.0-alpha05 berisi commit ini.
Fitur Baru
- Tambahkan
getPrimaryHandSide
agar developer bisa mendapatkan info sisi tangan (I270bd) - Menambahkan API ketersediaan VPS pemeriksaan geospasial (I58573)
- Menambahkan ARCore API untuk
checkVpsAvailability
(Idbded) - Fungsi ekstensi
stateFlowable
ditambahkan ke:xr:arcore:arcore-rxjava3
untuk digunakan oleh developer Java. (I083aa, b/427247794)
Perubahan API
- Nilai Config
*Mode
telah diganti namanya untuk mencerminkan perilakunya. (I6d247, b/414648065) - Artefak ARCore utama (xr:arcore:arcore) hanya akan berisi API asinkron gaya Kotlin. Developer Java dapat mengandalkan library
xr:arcore:arcore-rxjava3
untuk mengakses API yang kompatibel. (Ia525e, b/422794329) - Artefak ARCore utama (
xr:scenecore:scenecore
) hanya akan berisi API asinkron gaya Kotlin. Developer Java dapat mengandalkan libraryxr:arcore:arcore-guava
untuk mengakses API yang kompatibel. (Iffcb4, b/422773524) Anchor.persistAsync()
ditambahkan keAnchorGuava
untuk digunakan oleh developer Java. (I4af1c, b/425984631)Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)
ditambahkan keEarthGuava
untuk digunakan oleh developer Java. (I66357, b/425992992)- Developer Java akan menggunakan fungsi ekstensi untuk
GltfModel.createAsync
diGltfModel.kt
. Fungsi asinkron diGltfModel
akan dihapus. (I0af60) - Library ini kini menggunakan anotasi nullability JSpecify, yang merupakan penggunaan jenis. Developer Kotlin harus menggunakan argumen compiler berikut untuk menerapkan penggunaan yang benar:
-Xjspecify-annotations=strict
(ini adalah setelan default mulai dari compiler Kotlin versi 2.1.0) (Ia8420, b/326456246) - Fungsi ekstensi
subscribeAsFlowable
ditambahkan ke:xr:arcore:arcore-rxjava3
untuk digunakan oleh developer Java. (Id3e49, b/427277298)
Versi 1.0.0-alpha04
7 Mei 2025
androidx.xr.arcore:arcore:1.0.0-alpha04
dirilis. Versi 1.0.0-alpha04 berisi commit ini.
Perubahan API
- Project yang dirilis dengan Kotlin 2.0 memerlukan KGP 2.0.0 atau yang lebih baru untuk digunakan. (Idb6b5)
TrackingState
danHandJointType
telah dipindahkan dari ARCore ke Runtime.Hand.State.isActive (boolean)
telah diganti menjadiHand.State.trackingState (androidx.xr.runtime.TrackingState)
.Anchor.load
menampilkanAnchor.AnchorLoadInvalidUuid
jika UUID tidak valid.
Versi 1.0.0-alpha03
26 Februari 2025
androidx.xr.arcore:arcore:1.0.0-alpha03
dirilis tanpa perubahan penting sejak versi alfa terakhir. Versi 1.0.0-alpha03 berisi commit ini.
Versi 1.0.0-alpha02
12 Februari 2025
androidx.xr.arcore:arcore:1.0.0-alpha02
dirilis. Versi 1.0.0-alpha02 berisi commit ini.
Fitur Baru
- Menambahkan dukungan pelacakan tangan. Gunakan
Hand.left
danHand.right
untuk mengakses informasi pelacakan. - Semua API yang membuat anchor (
Anchor.create
,Anchor.load
,Plane.createAnchor
) kini menampilkanAnchorCreateResult
dan mengimplementasikanAnchorCreateResourcesExhausted
dengan benar.
Perbaikan bug
Anchor.detach
tidak lagi menyebabkan error fatal karena kondisi persaingan dengan thread update Sesi.Anchor.create
lebih stabil saat berjalan di emulator
Versi 1.0.0-alpha01
12 Desember 2024
androidx.xr.arcore:arcore-* 1.0.0-alpha01
dirilis.
Fitur rilis awal
Terinspirasi oleh library ARCore yang ada, library ARCore untuk Jetpack XR menyediakan kemampuan untuk memadukan konten digital dengan dunia nyata. Library ini mencakup pelacakan gerakan, anchor persisten, pengujian hit, dan identifikasi bidang dengan pelabelan semantik (misalnya, lantai, dinding, dan permukaan meja). Lihat panduan developer untuk mempelajari lebih lanjut cara menggunakan ARCore untuk Jetpack XR.
Session
: ARCore untuk Jetpack XR menggunakan Jetpack XR Runtime di balik layar untuk mendukung fungsinya. Anda akan menggunakan Sesi untuk berinteraksi dengan sebagian besar ARCore untuk Jetpack XR API, jadi lihat dokumentasinya.Plane
: Menggunakan bidang untuk memahami dunia di sekitar Anda. Setiap bidang memilikiLabel
yang mendeskripsikannya secara semantik. Anda dapat menggunakansubscribe
untuk mendapatkan notifikasi tentang pesawat terbaru yang terdeteksi ataustate
untuk mendapatkan notifikasi tentang perubahan pada pesawat tertentu.Anchor
: Link antara objek virtual dan lokasi dunia nyata. Anchor dapat dilampirkan ke lokasi tertentu di ruang (menggunakancreate
) atauTrackable
(menggunakancreateAnchor
).Anchor dapat digunakan kembali di seluruh sesi. Anda dapat menggunakan
persist
untuk menyimpannya,getPersistedAnchorUuids
untuk menghitungnya, danload
untuk mengambilnya. Pastikan Andaunpersist
perangkat tersebut setelah tidak lagi digunakan.Anchor dapat beroperasi secara interoperabel antara ARCore untuk Jetpack XR dan Jetpack SceneCore. Anda dapat membuat
AnchorEntity
menggunakan anchor atau, jika Anda memiliki AnchorEntity yang sudah ada, Anda dapat menggunakangetAnchor
untuk mengambil anchor pendukungnya.Menawarkan interaksi pengguna yang alami menggunakan
hitTest
. hitTest menggunakanRay
untuk menentukan konten mana yang berpotongan dan membuatAnchor
dari lokasi tersebut. Pertimbangkan untuk melakukan hitTest dariInputEvent
.
Masalah Umum
Mungkin ada penundaan antara pemanggilan
unpersist
dan UUID-nya dihapus dari hasil yang ditampilkan olehgetPersistedAnchorUuids
.create
tidak akan memvalidasi bahwa sistem memiliki resource yang cukup untuk menampilkan anchor baru. Membuat terlalu banyak penanda dapat menyebabkan aplikasi error.Mempertahankan Anchor yang sebelumnya dipertahankan dan tidak dipertahankan saat ini tidak didukung.
Penggunaan di emulator didukung, tetapi perilakunya mungkin tidak stabil seperti saat dijalankan di perangkat yang sebenarnya. Khususnya, panggilan ke
create
dapat gagal dengan error kode native dan segera menghentikan aktivitas.Dalam situasi tertentu,
RuntimeException
mungkin salah dilempar saat memanggilpersist
dengan pesan “Anchor was not persisted”. Dalam situasi tersebut, fungsi akan tetap berhasil dan penanda akan tetap dipertahankan. Sebaiknya bungkus panggilan kepersist
dengan bloktry
sebagai solusinya.