Table of Contents

Bekannte Probleme und Einschränkungen des WeChat Mini Program Mega-Plugins

Dieser Artikel beschreibt die bekannten Probleme und Einschränkungen des Mega Mini Program-Plugins während der Verwendung.

Bekannte WeChat-Probleme

Aktuell bestätigte Defekte in WeChat xr-frame oder VisionKit. Wenn sie auftreten, fällt die AR-Funktion aus. Achten Sie während der Entwicklung auf die entsprechenden Auslöseszenarien.

Ausnahme bei der WeChat-Ebenenerkennung

In bestimmten Fällen, zum Beispiel wenn im Bild eine große weiße Wand erscheint oder die Kamera längere Zeit verdeckt ist, kann die von WeChat bereitgestellte Ebenenerkennung in einen abnormalen Zustand geraten. In diesem Zustand kann MegaTracker nicht normal arbeiten.

Die Behandlungsmethode finden Sie unter Ausnahmebehandlung für Plane AR tracker.

Lange Initialisierungszeit der Session

AR Session kann die Initialisierung erst abschließen, nachdem die WeChat-Ebenenerkennung initialisiert wurde. In einigen Fällen dauert die Initialisierung der WeChat-Ebenenerkennung lange.

Warum AR Session warten muss, bis die Initialisierung von xr-frame ARTracker abgeschlossen ist, siehe Wie MegaTracker auf xr-frame funktioniert.

<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.');
    }
}

worldPosition des Knotens wird im aktuellen Frame nicht sofort aktualisiert

In diesem Beispiel wird trs.worldPosition nicht rechtzeitig aktualisiert:

public onTick(delta, data) {
    const trs = this.el.getComponent(xrFrameSystem.Transform);
    // 更新前该节点的 WorldPosition
    console.log(`World Position before update: ${trs.worldPosition.x}, ${trs.worldPosition.y}, ${trs.worldPosition.z}`);
    // 更新前该节点的 LocalPosition
    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 未被更新
    console.log(`World Position after update: ${trs.worldPosition.x}, ${trs.worldPosition.y}, ${trs.worldPosition.z}`);
    // 该节点的 LocalPosition 被更新
    console.log(`Local Position after update: ${trs.Position.x}, ${trs.Position.y}, ${trs.Position.z}`);
}

Während der Entwicklung wird empfohlen, immer LocalTransform zu verwenden, also el.getComponent(xrFrameSystem.Transform).position und el.getComponent(xrFrameSystem.Transform).rotation.

Ausnahme beim Wechsel der Bildschirmausrichtung

Wenn in der globalen Konfiguration app.json des WeChat Mini Program in window "auto" eingetragen ist,

kann die AR-Ansicht abnormal werden, nachdem das Gerät das Mini Program im Querformat verlassen hat und im Hochformat erneut eintritt.

Verwenden Sie daher in AR Mini Program-Anwendungen zu keinem Zeitpunkt "auto".

Nutzungseinschränkungen

Harte Anforderungen für den Funktionsbetrieb. Wenn sie nicht erfüllt sind, ist die Funktion nicht verfügbar, kann jedoch durch Anpassung der Konfiguration oder Umgebung vermieden werden.

Geräteeinschränkungen

Geräte, auf denen das Mega Mini Program-Plugin ausgeführt wird, müssen mindestens die WeChat VisionKit V1-Ebenenschnittstelle unterstützen. Für optimale Ergebnisse wird empfohlen, Geräte zu verwenden, die die WeChat VisionKit V2-Ebenenschnittstelle unterstützen.

  • Liste unterstützter Geräte: Siehe Supportliste der V2 plane AR-Schnittstelle.

  • Schnelle Prüfmethode:

    1. Scannen Sie den offiziellen Sample-QR-Code des WeChat Mini Program. Official WeChat Mini Program Sample QR code
    2. Navigieren Sie nach dem Betreten des Mini Program zu Interface > VisionKit visual capability > Horizontal plane AR-v2, um schnell festzustellen, ob das aktuelle Gerät unterstützt wird.

Wenn Sie Mega-Dienste auf Geräten verwenden müssen, die VisionKit nicht unterstützen, siehe Best Practices für Navigationsszenen und verwenden Sie das EasyAR Sense AR navigation product, das nahezu alle Geräte unterstützt.

Pflichtkonfiguration für PlaneMode

Aufgrund von Einschränkungen bei der Unterstützung einiger WeChat-Schnittstellen muss planeMode auf 1 gesetzt werden.

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

Einschränkungen der GPS-Funktion

Das Ausrichten von Block über GPS wird derzeit nicht unterstützt.

Das Platzieren von Annotationsdaten über GPS wird derzeit nicht unterstützt.

Verwandte Themen