Обработка аномалий трекера плоскостей AR
Эта статья объясняет, как обрабатывать аномалии трекера плоскостей AR в Weixin, регистрируя колбэки.
Прежде чем начать
Узнайте о рабочем процессе MegaTracker:
- Трекер плоскостей AR в xr-frame по сути является обёрткой для функции 6DoF-плоскости VisionKit.
- Как работает MegaTracker поверх xr-frame.
Поймите концепцию и процесс AR-сессии
Почему возникают аномалии обнаружения плоскостей
В определённых ситуациях (например, при появлении в кадре большой белой стены, длительном закрытии камеры и т.д.) трекер плоскостей AR в Weixin может перейти в аномальное состояние.
В этом случае трекер плоскостей AR не может нормально выдавать позу камеры для каждого кадра (т.е. данные 6DoF), что приводит к невозможности работы MegaTracker.
Когда изображение нормализуется (богатая текстура, камера не закрыта) в течение некоторого времени, трекер плоскостей AR восстановит работу, и MegaTracker также возобновит функционирование.
Настройка поведения при аномалии обнаружения плоскостей
Зарегистрируйте колбэк обработки аномалий через setPlaneDetectionErrorBehavior(behavior). При обнаружении аномалии этот колбэк будет вызван, и разработчик может реализовать в нём пользовательские уведомления, скрытие 3D-контента или другую логику обработки.
session.setPlaneDetectionErrorBehavior(() => {
wx.showToast({
icon: 'none',
title: `微信平面检测结果异常,请将相机对着平面来回移动以恢复跟踪`,
duration: 2000,
});
});
В этом примере используется интерфейс setPlaneDetectionErrorBehavior(behavior) сессии для регистрации колбэка, показывающего окно Toast, который срабатывает при аномалии обнаружения плоскостей.