Bekerja dengan ARCore untuk Jetpack XR

ARCore untuk Jetpack XR memungkinkan aplikasi berfungsi dengan konsep dasar augmented reality (AR), menggunakan primitif pemahaman scene tingkat rendah dan pelacakan gerakan. Gunakan ARCore untuk Jetpack XR saat mem-build pengalaman AR dan Anda perlu menggunakan data planar atau konten anchor ke lokasi tetap dalam ruang.

Memahami siklus proses Session

Semua objek yang dilacak oleh ARCore untuk Jetpack XR harus diakses melalui Session. Serupa dengan siklus proses Aktivitas, objek Session juga memiliki siklus proses yang harus dipertahankan sesuai dengan penggunaan fitur objek Session oleh aplikasi Anda. Jika aplikasi Anda berisi satu aktivitas yang mendukung XR, pertimbangkan untuk menangani siklus proses Session menggunakan Komponen berbasis siklus proses.

Mengakses Session

Session harus dibuat saat menggunakan ARCore untuk Jetpack XR.

Saat menggunakan Jetpack Compose untuk XR, gunakan LocalSession untuk mengakses sesi yang dibuat untuk Anda.

Melanjutkan sesi

Melanjutkan sesi harus dilakukan saat aplikasi Anda siap menangani perubahan status dari ARCore untuk Jetpack XR. Dalam banyak kasus, hal ini dilakukan dalam callback onResume() Aktivitas, tetapi aplikasi Anda mungkin ingin menunda pemrosesan hingga interaksi pengguna.

Cuplikan kode berikut menunjukkan contoh melanjutkan sesi.

when (val result = session.resume()) {
    is SessionResumeSuccess -> {
        // Session has been created successfully.
        // Attach any successful handlers here.
    }

    is SessionResumePermissionsNotGranted -> {
        // Request permissions in `result.permissions`.
    }
}

Lihat SessionResumeResult untuk mengetahui alasan Session dapat gagal dilanjutkan.

Menjeda sesi

Saat aktivitas Anda beralih ke latar belakang, jeda Session menggunakan [Session.pause()][Session.pause]. Menjeda sesi akan menghentikan pelacakan sementara hingga sesi dilanjutkan, sehingga mempertahankan status sistem persepsi.

Menghancurkan sesi

Untuk membuang Session secara permanen, gunakan [Session.destroy()][Session.destroy]. Tindakan ini akan mengosongkan resource yang digunakan oleh sesi dan menghancurkan semua status sesi.

Lihat juga