Table of Contents

Problèmes connus et limitations du plugin Mega pour mini-programme WeChat

Cet article présente les problèmes connus et les limitations lors de l'utilisation du plugin Mega pour mini-programme.

Problèmes connus de WeChat

Défauts actuellement confirmés dans xr-frame ou VisionKit de WeChat. Ils entraîneront une défaillance des fonctions AR, veuillez être attentif aux scénarios déclencheurs lors du développement.

Détection de plan anormale dans WeChat

Dans des cas spécifiques (comme l'apparition d'un grand mur blanc dans l'image, la caméra obstruée pendant longtemps, etc.), la détection de plan fournie par WeChat peut présenter un état anormal. Dans cet état, MegaTracker ne peut pas fonctionner correctement.

Consultez Gestion des erreurs de détection de plan AR pour les méthodes de traitement.

Temps d'initialisation de session long

La session AR nécessite que la détection de plan de WeChat termine son initialisation. Dans certains cas, l'initialisation de la détection de plan de WeChat prend beaucoup de temps.

La raison pour laquelle la session AR doit attendre l'initialisation de ARTracker de xr-frame est expliquée dans Comment fonctionne MegaTracker 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.');
    }
}

La worldPosition des nœuds n'est pas mise à jour immédiatement dans la frame actuelle

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

public onTick(delta, data) {
    const trs = this.el.getComponent(xrFrameSystem.Transform);
    // WorldPosition du nœud avant mise à jour
    console.log(`World Position before update: ${trs.worldPosition.x}, ${trs.worldPosition.y}, ${trs.worldPosition.z}`);
    // LocalPosition du nœud avant mise à 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 du nœud non mise à jour
    console.log(`World Position after update: ${trs.worldPosition.x}, ${trs.worldPosition.y}, ${trs.worldPosition.z}`);
    // LocalPosition du nœud mise à jour
    console.log(`Local Position after update: ${trs.Position.x}, ${trs.Position.y}, ${trs.Position.z}`);
}

Il est recommandé d'utiliser toujours LocalTransform, c'est-à-dire el.getComponent(xrFrameSystem.Transform).position et el.getComponent(xrFrameSystem.Transform).rotation.

Anomalie de changement d'orientation de l'écran

Si "auto" est entré dans window de la configuration globale app.json du mini-programme WeChat.

Lorsque l'appareil quitte le mini-programme en mode paysage et y revient en mode portrait, l'image AR peut présenter des anomalies.

Par conséquent, ne jamais utiliser "auto" dans les applications de mini-programme AR.

Limitations d'utilisation

Exigences matérielles pour le fonctionnement des fonctionnalités. Si elles ne sont pas satisfaites, les fonctionnalités ne sont pas disponibles, mais peuvent être évitées en ajustant la configuration ou l'environnement.

Limitations des modèles d'appareils

Les appareils exécutant le plugin Mega pour mini-programme doivent prendre en charge au moins l'interface de plan VisionKit V1 de WeChat. Pour des résultats optimaux, il est recommandé d'utiliser des appareils prenant en charge l'interface de plan VisionKit V2 de WeChat.

  • Liste des modèles pris en charge : Consultez Liste de prise en charge de l'interface AR de plan V2.

  • Méthode de vérification rapide :

    1. Scannez le QR code de l'exemple officiel du mini-programme WeChat. QR code de l'exemple officiel du mini-programme WeChat
    2. Après être entré dans le mini-programme, naviguez vers Interface > Capacités visuelles VisionKit > AR de plan horizontal-v2 pour vérifier rapidement si l'appareil actuel est pris en charge.

Si vous devez utiliser les services Mega sur des appareils ne prenant pas en charge VisionKit, consultez Meilleures pratiques pour les scénarios de navigation pour utiliser le produit de navigation AR Vis+ qui prend en charge presque tous les appareils.

Configuration forcée de PlaneMode

En raison des limitations 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">

Limitations des fonctionnalités GPS

L'alignement des blocs via GPS n'est pas encore pris en charge.

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

Sujets connexes