Table of Contents

Tratamento de exceções do plane AR tracker

Este artigo apresenta como tratar exceções do plane AR tracker do WeChat registrando callback.

Antes de começar

Por que ocorrem exceções de plane detection

Em situações específicas, como quando aparece uma grande parede branca na imagem ou a câmera fica bloqueada por muito tempo, o plane AR tracker do WeChat pode entrar em estado anormal.

Nesse momento, o plane AR tracker não consegue emitir normalmente a camera pose de cada frame, ou seja, dados 6DoF, o que faz com que MegaTracker não funcione.

Depois que a imagem volta ao normal por um período, com texture rica e câmera não bloqueada, o plane AR tracker retoma o funcionamento, e MegaTracker também retoma o funcionamento.

Definir o comportamento quando plane detection está anormal

Registre um callback de tratamento de exceções por meio de setPlaneDetectionErrorBehavior(behavior). Quando uma exceção é detectada, esse callback é acionado, e o desenvolvedor pode implementar prompts personalizados, ocultar conteúdo 3D ou outra lógica de tratamento.

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

Neste exemplo, a interface setPlaneDetectionErrorBehavior(behavior) de session é usada para registrar um callback que exibe uma janela Toast, acionado quando plane detection está anormal.