Penanganan exception tracker AR bidang
Artikel ini memperkenalkan cara menangani exception tracker AR bidang WeChat dengan mendaftarkan callback.
Sebelum mulai
Pelajari melalui workflow MegaTracker:
- Tracker AR bidang xr-frame pada dasarnya adalah wrapper dari kemampuan bidang VisionKit 6DoF.
- Bagaimana MegaTracker bekerja di xr-frame.
Pelajari konsep dan alur AR Session
Mengapa exception deteksi bidang terjadi
Dalam kondisi tertentu, seperti muncul area dinding putih yang luas pada tampilan atau kamera tertutup dalam waktu lama, tracker AR bidang WeChat mungkin mengalami state abnormal.
Pada saat ini, tracker AR bidang tidak dapat mengoutput pose kamera setiap frame secara normal, yaitu data 6DoF, sehingga MegaTracker tidak dapat bekerja.
Setelah tampilan kembali normal, dengan texture kaya dan kamera tidak tertutup, selama beberapa waktu tracker AR bidang akan kembali bekerja, dan MegaTracker juga akan kembali bekerja.
Mengatur perilaku saat deteksi bidang abnormal
Daftarkan callback penanganan exception melalui setPlaneDetectionErrorBehavior(behavior). Saat exception terdeteksi, callback ini akan dipicu, dan developer dapat mengimplementasikan prompt kustom, menyembunyikan konten 3D, atau melakukan logika penanganan lain di dalamnya.
session.setPlaneDetectionErrorBehavior(() => {
wx.showToast({
icon: 'none',
title: `微信平面检测结果异常,请将相机对着平面来回移动以恢复跟踪`,
duration: 2000,
});
});
Dalam contoh ini, interface setPlaneDetectionErrorBehavior(behavior) milik session digunakan untuk mendaftarkan callback yang memunculkan jendela Toast, dan dipicu saat deteksi bidang abnormal.