Table of Contents

Masalah dan batasan yang diketahui dari plugin mega wechat mini program

Artikel ini memperkenalkan masalah dan batasan yang diketahui saat menggunakan plugin mini program Mega.

Masalah yang diketahui dari wechat

Cacat yang telah dikonfirmasi pada xr-frame atau VisionKit wechat saat ini. Saat terjadi, akan menyebabkan fungsi AR tidak berfungsi, harap perhatikan skenario pemicu terkait selama pengembangan.

Deteksi bidang wechat yang tidak normal

Dalam situasi tertentu (seperti munculnya dinding putih besar di gambar, kamera yang terhalang dalam waktu lama, dll.), deteksi bidang yang disediakan oleh wechat mungkin menunjukkan status tidak normal. Dalam status ini, MegaTracker tidak dapat bekerja dengan baik.

Metode penanganan merujuk ke Penanganan kesalahan deteksi bidang AR.

Waktu inisialisasi sesi yang lama

Sesi AR perlu menunggu inisialisasi deteksi bidang wechat selesai sebelum dapat menyelesaikan inisialisasi. Dalam beberapa kasus, waktu inisialisasi deteksi bidang wechat cukup lama.

Alasan mengapa sesi AR perlu menunggu inisialisasi ARTracker xr-frame selesai dapat dilihat di Bagaimana MegaTracker bekerja di atas 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 node tidak segera diperbarui pada frame saat ini

Dalam contoh ini trs.worldPosition tidak diperbarui tepat waktu:

public onTick(delta, data) {
    const trs = this.el.getComponent(xrFrameSystem.Transform);
    // WorldPosition node sebelum pembaruan
    console.log(`World Position before update: ${trs.worldPosition.x}, ${trs.worldPosition.y}, ${trs.worldPosition.z}`);
    // LocalPosition node sebelum pembaruan
    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 node tidak diperbarui
    console.log(`World Position after update: ${trs.worldPosition.x}, ${trs.worldPosition.y}, ${trs.worldPosition.z}`);
    // LocalPosition node diperbarui
    console.log(`Local Position after update: ${trs.Position.x}, ${trs.Position.y}, ${trs.Position.z}`);
}

Dalam pengembangan, disarankan untuk selalu menggunakan LocalTransform, yaitu el.getComponent(xrFrameSystem.Transform).position dan el.getComponent(xrFrameSystem.Transform).rotation.

Kesalahan pengalihan orientasi layar

Jika "auto" dimasukkan dalam window di konfigurasi global mini program wechat app.json.

Jika perangkat keluar dari mini program dalam mode lanskap, lalu masuk kembali dalam mode potret, akan muncul situasi gambar AR yang tidak normal.

Oleh karena itu, jangan pernah menggunakan "auto" dalam aplikasi mini program AR.

Batasan penggunaan

Persyaratan keras untuk menjalankan fungsi. Jika tidak terpenuhi, fungsi tidak dapat digunakan, tetapi dapat dihindari dengan menyesuaikan konfigurasi atau lingkungan.

Batasan model perangkat

Perangkat yang menjalankan plugin mini program Mega perlu mendukung setidaknya antarmuka bidang wechat VisionKit V1. Untuk hasil yang ideal, disarankan menggunakan perangkat yang mendukung antarmuka bidang wechat VisionKit V2.

  • Daftar model yang didukung: Lihat Daftar dukungan antarmuka AR bidang V2.

  • Metode penilaian cepat:

    1. Pindai kode QR sample resmi mini program wechat. Kode QR sample resmi mini program wechat
    2. Setelah masuk ke mini program, navigasikan ke antarmuka > Kemampuan visual VisionKit > AR bidang horizontal-v2, untuk menilai dengan cepat apakah perangkat saat ini mendukung.

Jika perlu menggunakan layanan Mega pada perangkat yang tidak mendukung VisionKit, lihat Praktik terbaik skenario navigasi untuk menggunakan produk navigasi AR visi+ yang mendukung hampir semua perangkat.

Konfigurasi wajib planeMode

Dibatasi oleh dukungan beberapa antarmuka wechat, planeMode harus disetel ke 1.

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

Batasan fungsi gps

Saat ini tidak mendukung penyelarasan block melalui gps.

Saat ini tidak mendukung penempatan data anotasi melalui gps.

Topik terkait