Table of Contents

Обработка аномалий трекера плоскостей AR

Эта статья объясняет, как обрабатывать аномалии трекера плоскостей AR в Weixin, регистрируя колбэки.

Прежде чем начать

Почему возникают аномалии обнаружения плоскостей

В определённых ситуациях (например, при появлении в кадре большой белой стены, длительном закрытии камеры и т.д.) трекер плоскостей AR в Weixin может перейти в аномальное состояние.

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

Когда изображение нормализуется (богатая текстура, камера не закрыта) в течение некоторого времени, трекер плоскостей AR восстановит работу, и MegaTracker также возобновит функционирование.

Настройка поведения при аномалии обнаружения плоскостей

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

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

В этом примере используется интерфейс setPlaneDetectionErrorBehavior(behavior) сессии для регистрации колбэка, показывающего окно Toast, который срабатывает при аномалии обнаружения плоскостей.