Table of Contents

Problèmes connus et limites du plugin Mega pour WeChat Mini Program

Cet article présente les problèmes connus et les limites du plugin Mega Mini Program pendant son utilisation.

Problèmes connus de WeChat

Défauts actuellement confirmés dans WeChat xr-frame ou VisionKit. Lorsqu'ils se produisent, la fonction AR échoue. Faites attention aux scénarios de déclenchement associés pendant le développement.

Exception de détection de plan WeChat

Dans certains cas, par exemple lorsqu'un grand mur blanc apparaît dans l'image ou lorsque la caméra est obstruée pendant longtemps, la détection de plan fournie par WeChat peut entrer dans un état anormal. Dans cet état, MegaTracker ne peut pas fonctionner normalement.

Pour la méthode de traitement, consultez Gestion des exceptions Plane AR tracker.

Temps d'initialisation de Session long

AR Session ne peut terminer son initialisation qu'une fois l'initialisation de la détection de plan WeChat terminée. Dans certains cas, l'initialisation de la détection de plan WeChat prend beaucoup de temps.

Pour savoir pourquoi AR Session doit attendre la fin de l'initialisation de xr-frame ARTracker, consultez Comment MegaTracker fonctionne sur xr-frame.

<xr-ar-tracker id="xrARTracker" mode="Plane" bind:ar-tracker-state="handleARTrackerState"></xr-ar-tracker>
handleARTrackerState({detail}) {
    if (detail.value.state == xrFrameSystem.EARTrackerState.Detected) {
        console.log('Plane is now detected by XR-Frame ARTracker.');
    }
}

Le worldPosition du nœud n'est pas mis à jour immédiatement dans la frame actuelle

Dans cet exemple, trs.worldPosition n'est pas mis à jour à temps:

public onTick(delta, data) {
    const trs = this.el.getComponent(xrFrameSystem.Transform);
    // WorldPosition de ce noeud avant la mise a jour
    console.log(`World Position before update: ${trs.worldPosition.x}, ${trs.worldPosition.y}, ${trs.worldPosition.z}`);
    // LocalPosition de ce noeud avant la mise a jour
    console.log(`Local Position before update: ${trs.Position.x}, ${trs.Position.y}, ${trs.Position.z}`);
    trs.position.x += 0.1;
    trs.position.y += 0.1;
    trs.position.z += 0.1;
    // WorldPosition de ce noeud n a pas ete mis a jour
    console.log(`World Position after update: ${trs.worldPosition.x}, ${trs.worldPosition.y}, ${trs.worldPosition.z}`);
    // LocalPosition de ce noeud a ete mis a jour
    console.log(`Local Position after update: ${trs.Position.x}, ${trs.Position.y}, ${trs.Position.z}`);
}

Pendant le développement, il est recommandé de toujours utiliser LocalTransform, c'est-à-dire el.getComponent(xrFrameSystem.Transform).position et el.getComponent(xrFrameSystem.Transform).rotation.

Exception lors du changement d'orientation de l'écran

Si "auto" est renseigné dans window de la configuration globale app.json de WeChat Mini Program,

après que l'appareil quitte le Mini Program en mode paysage puis y revienne en mode portrait, l'affichage AR peut devenir anormal.

Par conséquent, n'utilisez pas "auto" dans les applications AR Mini Program, à aucun moment.

Limites d'utilisation

Exigences strictes pour le fonctionnement des fonctionnalités. Si elles ne sont pas satisfaites, la fonction n'est pas disponible, mais cela peut être évité en ajustant la configuration ou l'environnement.

Limites des appareils

Les appareils exécutant le plugin Mega Mini Program doivent au minimum prendre en charge l'interface de plan WeChat VisionKit V1. Pour obtenir de meilleurs résultats, il est recommandé d'utiliser des appareils qui prennent en charge l'interface de plan WeChat VisionKit V2.

  • Liste des appareils pris en charge: consultez la liste de prise en charge de l'interface AR de plan V2.

  • Méthode de vérification rapide:

    1. Scannez le QR code officiel Sample de WeChat Mini Program. Official WeChat Mini Program Sample QR code
    2. Après être entré dans le Mini Program, accédez à Interface > VisionKit visual capability > Horizontal plane AR-v2 pour déterminer rapidement si l'appareil actuel est pris en charge.

Si vous devez utiliser le service Mega sur des appareils qui ne prennent pas en charge VisionKit, consultez les bonnes pratiques pour les scènes de navigation et utilisez le produit EasyAR Sense AR navigation, qui prend en charge presque tous les appareils.

Configuration obligatoire de PlaneMode

En raison des limites de prise en charge de certaines interfaces WeChat, planeMode doit être défini sur 1.

<xr-scene ar-system="modes:Plane; planeMode: 1" bind:ready="handleReady">

Limites de la fonction GPS

L'alignement de Block via GPS n'est pas encore pris en charge.

Le placement de données d'annotation via GPS n'est pas encore pris en charge.

Rubriques connexes