Table of Contents

WeChat Mini Program Mega プラグインの既知の問題と制限

この記事では、Mega Mini Program プラグインの使用中に発生する既知の問題と制限について説明します。

WeChat の既知の問題

現在確認されている WeChat xr-frame または VisionKit の不具合です。発生すると AR 機能が失效するため、開発時には関連する発生条件に注意してください。

WeChat 平面検出の例外

特定の状況、たとえば画面内に大きな白い壁が表示される場合や、カメラが長時間遮られる場合などに、WeChat が提供する平面検出が異常状態になることがあります。この状態では、MegaTracker は正常に動作できません。

処理方法については、Plane AR tracker 例外処理を参照してください。

Session の初期化時間が長い

AR Session は WeChat 平面検出の初期化が完了した後でのみ初期化を完了できます。場合によっては、WeChat 平面検出の初期化に時間がかかります。

AR Session が xr-frame ARTracker の初期化完了を待つ必要がある理由については、MegaTracker が 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.');
    }
}

ノードの worldPosition は現在のフレームですぐに更新されない

この例では、trs.worldPosition がすぐに更新されません。

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}`);
}

開発中は常に LocalTransform、つまり el.getComponent(xrFrameSystem.Transform).positionel.getComponent(xrFrameSystem.Transform).rotation を使用することをお勧めします。

画面方向切り替えの例外

WeChat Mini Program のグローバル設定 app.jsonwindow に "auto" を設定した場合、

デバイスが横画面モードで Mini Program を離れた後、縦画面モードで再び入ると、AR 画面が異常になることがあります。

したがって、AR Mini Program アプリケーションではいかなる場合も "auto" を使用しないでください

使用制限

機能実行の必須要件です。満たしていない場合、機能は使用できませんが、設定や環境を調整することで回避できます。

デバイス制限

Mega Mini Program プラグインを実行するデバイスは、少なくとも WeChat VisionKit V1 平面インターフェイスをサポートしている必要があります。理想的な効果を得るには、WeChat VisionKit V2 平面インターフェイスをサポートするデバイスの使用をお勧めします。

  • サポートデバイス一覧: V2 平面 AR インターフェイスサポート一覧を参照してください。

  • クイック判定方法:

    1. WeChat Mini Program 公式 Sample QR コードをスキャンします。 Official WeChat Mini Program Sample QR code
    2. Mini Program に入った後、Interface > VisionKit visual capability > Horizontal plane AR-v2 に移動すると、現在のデバイスがサポートされているかをすばやく判断できます。

VisionKit をサポートしていないデバイスで Mega サービスを使用する必要がある場合は、ナビゲーションシーンのベストプラクティスを参照し、ほぼすべてのデバイスをサポートする EasyAR Sense AR navigation product を使用してください。

PlaneMode の必須設定

一部の WeChat インターフェイスのサポート制限により、planeMode1 に設定する必要があります。

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

GPS 機能制限

GPS による Block の位置合わせはまだサポートされていません。

GPS による annotation data の配置はまだサポートされていません。

関連トピック