Table of Contents

Обработка исключений plane AR tracker

В этой статье описывается, как обрабатывать исключения WeChat plane AR tracker путем регистрации callback.

Перед началом

Почему возникают исключения plane detection

В определенных случаях, например когда в кадре появляется большая белая стена или камера долго закрыта, WeChat plane AR tracker может перейти в abnormal state.

В этот момент plane AR tracker не может нормально выводить pose камеры для каждого кадра, то есть данные 6DoF, что приводит к невозможности работы MegaTracker.

После того как изображение некоторое время остается нормальным, с богатой texture и без закрытия камеры, plane AR tracker восстановит работу, и MegaTracker также восстановит работу.

Настройка поведения при abnormal plane detection

Зарегистрируйте callback обработки исключений через setPlaneDetectionErrorBehavior(behavior). При обнаружении исключения этот callback будет вызван, и разработчик может реализовать в нем пользовательские подсказки, скрытие 3D-контента или другую логику обработки.

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

В этом примере interface setPlaneDetectionErrorBehavior(behavior) у session используется для регистрации callback, открывающего окно Toast; он вызывается при abnormal plane detection.