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.
- Referensi status: Dokumentasi status pelacak AR mini program wechat.
- Contoh pendengaran:
<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:
- Pindai kode QR sample resmi mini program wechat.

- Setelah masuk ke mini program, navigasikan ke antarmuka > Kemampuan visual VisionKit > AR bidang horizontal-v2, untuk menilai dengan cepat apakah perangkat saat ini mendukung.
- Pindai kode QR sample resmi mini program wechat.
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.