Table of Contents

平面 AR 追蹤器異常處理

這篇文章介紹瞭如何通過註冊回呼處理微信平面 AR 追蹤器的異常。

開始之前

為什麼會出現平面檢測異常

在特定情況下(如畫面中出現大片白牆、攝像頭長時間被遮擋等),微信平面 AR 追蹤器可能出現狀態異常。

此時平面 AR 追蹤器無法正常輸出每幀的相機位姿(即 6DoF 數據)這會導致 MegaTracker 無法工作。

當畫面正常(紋理豐富,攝像頭不被遮擋)一段時間後平面 AR 追蹤器會恢復工作,同時 MegaTracker 也會恢復工作。

設置平面檢測異常時的行為

通過 setPlaneDetectionErrorBehavior(behavior) 註冊異常處理回呼。當檢測到異常時,該回呼會被觸發,開發者可在其中實現自定義提示,隱藏 3D 內容或其他處理邏輯。

session.setPlaneDetectionErrorBehavior(() => {
    wx.showToast({
        icon: 'none',
        title: `微信平面檢測結果異常,請將相機對著平面來回移動以恢復跟踪`,
        duration: 2000,
    });
});

這個例子中使用 session 的 setPlaneDetectionErrorBehavior(behavior) 接口註冊了一個彈出 Toast 窗口的回呼,當平面檢測異常時觸發。