Table of Contents

Gestion des exceptions du plane AR tracker

Cet article présente comment gérer les exceptions du plane AR tracker WeChat en enregistrant des callback.

Avant de commencer

Pourquoi des exceptions de plane detection apparaissent

Dans certaines situations, par exemple lorsqu'un grand mur blanc apparaît dans l'image ou que la caméra est longtemps masquée, le plane AR tracker WeChat peut entrer dans un état anormal.

À ce moment, le plane AR tracker ne peut pas sortir normalement la camera pose de chaque frame, c'est-à-dire les données 6DoF, ce qui empêche MegaTracker de fonctionner.

Lorsque l'image redevient normale pendant un certain temps, avec une texture riche et une caméra non masquée, le plane AR tracker reprend son fonctionnement, et MegaTracker reprend également son fonctionnement.

Définir le comportement lorsque plane detection est anormale

Enregistrez un callback de gestion d'exception via setPlaneDetectionErrorBehavior(behavior). Lorsqu'une exception est détectée, ce callback est déclenché, et le développeur peut y implémenter des messages personnalisés, masquer le contenu 3D ou effectuer une autre logique de traitement.

session.setPlaneDetectionErrorBehavior(() => {
    wx.showToast({
        icon: 'none',
        title: `微信平面检测结果异常,请将相机对着平面来回移动以恢复跟踪`,
        duration: 2000,
    });
});

Dans cet exemple, l'interface setPlaneDetectionErrorBehavior(behavior) de session est utilisée pour enregistrer un callback qui ouvre une fenêtre Toast, déclenché lorsque plane detection est anormale.