Manejo de excepciones del plane AR tracker
Este artículo presenta cómo manejar excepciones del plane AR tracker de WeChat mediante el registro de callbacks.
Antes de empezar
Aprenda mediante workflow de MegaTracker:
- El plane AR tracker de xr-frame es esencialmente un wrapper de la capacidad de plano VisionKit 6DoF.
- Cómo funciona MegaTracker en xr-frame.
Por qué aparecen excepciones de plane detection
En ciertas situaciones, como cuando aparece una gran pared blanca en la imagen o la cámara permanece bloqueada durante mucho tiempo, el plane AR tracker de WeChat puede entrar en un estado anormal.
En ese momento, el plane AR tracker no puede emitir normalmente la pose de cámara de cada frame, es decir, datos 6DoF, lo que hará que MegaTracker no pueda funcionar.
Después de que la imagen vuelva a la normalidad durante un tiempo, con texture rica y la cámara sin bloquear, el plane AR tracker reanudará su funcionamiento y MegaTracker también volverá a funcionar.
Configurar el comportamiento cuando plane detection es anormal
Registre un callback de manejo de excepciones mediante setPlaneDetectionErrorBehavior(behavior). Cuando se detecte una excepción, este callback se activará, y el desarrollador puede implementar indicaciones personalizadas, ocultar contenido 3D u otra lógica de manejo.
session.setPlaneDetectionErrorBehavior(() => {
wx.showToast({
icon: 'none',
title: `微信平面检测结果异常,请将相机对着平面来回移动以恢复跟踪`,
duration: 2000,
});
});
En este ejemplo, se usa la interface setPlaneDetectionErrorBehavior(behavior) de session para registrar un callback que muestra una ventana Toast y se activa cuando plane detection es anormal.