Table of Contents

Ausnahmebehandlung für plane AR tracker

Dieser Artikel beschreibt, wie Ausnahmen des WeChat plane AR tracker durch Registrierung von callbacks behandelt werden.

Bevor Sie beginnen

Warum Ausnahmen bei plane detection auftreten

In bestimmten Situationen, etwa wenn eine große weiße Wand im Bild erscheint oder die Kamera lange verdeckt ist, kann der WeChat plane AR tracker einen abnormalen Zustand erreichen.

In diesem Moment kann der plane AR tracker die camera pose jedes frame, also 6DoF-Daten, nicht normal ausgeben, wodurch MegaTracker nicht funktionieren kann.

Nachdem das Bild für eine gewisse Zeit wieder normal ist, mit reichhaltiger texture und nicht verdeckter Kamera, nimmt der plane AR tracker die Arbeit wieder auf, und MegaTracker funktioniert ebenfalls wieder.

Verhalten bei abnormaler plane detection festlegen

Registrieren Sie über setPlaneDetectionErrorBehavior(behavior) einen callback zur Ausnahmebehandlung. Wenn eine Ausnahme erkannt wird, wird dieser callback ausgelöst, und Entwickler können darin benutzerdefinierte Hinweise implementieren, 3D-Inhalte ausblenden oder andere Behandlungslogik ausführen.

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

In diesem Beispiel wird die interface setPlaneDetectionErrorBehavior(behavior) von session verwendet, um einen callback zu registrieren, der ein Toast-Fenster öffnet und bei abnormaler plane detection ausgelöst wird.