Apakah ada cara untuk mereset permukaan yang terdeteksi ARCore tanpa merusak dan membuat ulang skrip sesi?

Saya membuat aplikasi yang menggunakan ARCore opsional. Ini berarti saya mengaktifkan dan menonaktifkan perangkat ARCore saat runtime. Saya perhatikan bahwa permukaan yang terdeteksi akan tetap ada meskipun Anda menonaktifkan dan mengaktifkan kembali perangkat ARCore.

Apakah ada cara untuk mereset data permukaan yang terdeteksi? Saya ingin pengguna memulai dari awal setiap kali mereka membuka konten AR.

Saya telah menemukan jawaban untuk ini di utas lain, tetapi semuanya melibatkan penghancuran paksa skrip ARCoreSession dari perangkat ARCore dan kemudian menambahkan kembali skrip ke dalamnya. Ini sepertinya.. bodoh dan tidak efisien.


person Robin Herben    schedule 25.03.2019    source sumber


Jawaban (1)


Menghapus Pesawat Terdeteksi saja di adegan Anda (tanpa merusak dan membuat ulang ArSession) bukanlah praktik yang baik menggunakan ARCore. Alternatifnya adalah menghapus semua ArAnchors yang dirancang untuk menampung Renderables. Meskipun pendekatan yang paling kuat adalah dengan menghancurkan ArSession saat ini dan membuat yang baru lagi.

Lihat GitHub edisi #253 ini untuk detail lebih lanjut: Kosongkan Pesawat dan Jangkar.

Dan...

Lihat postingan StackOverflow Cara menghapus semua bidang di ARCore untuk mengetahui lebih lanjut.

person Andy Fedoroff    schedule 20.04.2019