Gestione delle eccezioni del plane AR tracker
Questo articolo presenta come gestire le eccezioni del plane AR tracker di WeChat registrando callback.
Prima di iniziare
Comprendere tramite workflow MegaTracker:
- Il plane AR tracker di xr-frame è essenzialmente un wrapper della capacità VisionKit 6DoF plane.
- Come MegaTracker funziona su xr-frame.
Comprendere il concetto e il flusso di AR Session
Perché si verificano eccezioni di plane detection
In situazioni specifiche, come la presenza di una grande parete bianca nell'immagine o la camera coperta per lungo tempo, il plane AR tracker di WeChat può entrare in uno stato anomalo.
In questo momento, il plane AR tracker non può emettere normalmente la camera pose di ogni frame, cioè i dati 6DoF, e questo impedisce a MegaTracker di funzionare.
Dopo che l'immagine torna normale per un certo periodo, con texture ricca e camera non coperta, il plane AR tracker riprenderà a funzionare, e anche MegaTracker riprenderà a funzionare.
Impostare il comportamento quando plane detection è anomala
Registrare un callback di gestione delle eccezioni tramite setPlaneDetectionErrorBehavior(behavior). Quando viene rilevata un'eccezione, questo callback viene attivato, e lo sviluppatore può implementare prompt personalizzati, nascondere contenuti 3D o altra logica di gestione.
session.setPlaneDetectionErrorBehavior(() => {
wx.showToast({
icon: 'none',
title: `微信平面检测结果异常,请将相机对着平面来回移动以恢复跟踪`,
duration: 2000,
});
});
In questo esempio, l'interface setPlaneDetectionErrorBehavior(behavior) di session viene usata per registrare un callback che mostra una finestra Toast, attivato quando plane detection è anomala.