Table of Contents

Diagnosis dan perbaikan: masalah konten tidak muncul di aplikasi

“Saya bisa melihat dunia nyata, tetapi konten virtual tidak muncul.” Ini adalah salah satu masalah paling umum dalam pengembangan AR. Masalah ini dapat berasal dari berbagai aspek, mulai dari positioning Mega itu sendiri hingga logika rendering Anda.

Artikel ini akan memandu Anda untuk secara sistematis memeriksa dan menyelesaikan masalah ini.

Proses pemeriksaan: dari eksternal ke internal

Dengan mengikuti prinsip “eksternal dulu, internal kemudian”, Anda dapat mengidentifikasi masalah dengan efisien. Silakan ikuti langkah-langkah berikut secara berurutan:

Langkah satu: verifikasi status positioning Mega menggunakan alat eksternal (tanpa mengubah kode)

Sebelum menyelami kode aplikasi Anda, pastikan terlebih dahulu bahwa layanan positioning Mega itu sendiri berfungsi normal. Ini adalah langkah paling kritis yang dapat membantu Anda menentukan apakah masalahnya ada pada positioning Mega itu sendiri atau pada integrasi pengembangan aplikasi seperti rendering.

  1. Gunakan Mega Toolbox (perangkat seluler)

    • Pasang Aplikasi Mega Toolbox di ponsel uji Anda (jika belum terpasang).
    • Buka aplikasi, masuk ke Fitur verifikasi dan diagnosis lokasi.
    • Masuk ke akun Anda dan pilih library positioning yang sama dengan aplikasi Anda.
    • Bawa ponsel ke lokasi yang sama di mana konten tidak muncul saat pengujian aplikasi Anda.
    • Amati hasilnya:
      • Jika Toolbox berhasil melakukan positioning (status di antarmuka menunjukkan Found): Selamat! Layanan positioning Mega berfungsi normal. Masalahnya ada di dalam aplikasi Anda, khususnya pada logika rendering dan penampilan konten. Silakan lanjutkan ke Langkah dua.
      • Jika Toolbox gagal melakukan positioning (status di antarmuka menunjukkan NotFound atau lainnya): Masalahnya ada pada layanan positioning itu sendiri. Silakan lihat bagian berikutnya untuk analisis lebih lanjut.
  2. Gunakan simulasi berjalan di PC (jika telah mengumpulkan EIF)

    • Jika Anda telah merekam data EIF untuk skenario ini, Anda dapat memutar ulang data tersebut di editor Unity di PC menggunakan alat verifikasi session.
    • Amati hasilnya:
      • Jika positioning berhasil saat pemutaran ulang (status di antarmuka menunjukkan Found): Masalahnya ada pada kode aplikasi atau lingkungan spesifik perangkat Anda.
      • Jika positioning gagal saat pemutaran ulang (status di antarmuka menunjukkan NotFound atau lainnya): Masalahnya ada pada layanan positioning itu sendiri. Silakan lihat bagian berikutnya untuk analisis lebih lanjut.

Langkah dua: periksa logika rendering dan konten di dalam aplikasi

Jika Langkah satu mengonfirmasi bahwa layanan positioning Mega itu sendiri berfungsi normal, maka masalahnya ada di kode aplikasi Anda. Silakan periksa poin-poin berikut:

  1. Apakah konten ditempatkan di bawah node yang benar:

    • Apakah Anda telah menempatkan objek 3D dengan benar di bawah node MegaBlocks > Block_* yang dihasilkan secara otomatis oleh alat?
    • Periksa hubungan hierarki antara konten dan node Block, untuk memastikan posisi rendering konten virtual saat runtime adalah benar.
  2. Apakah Block Root pada MegaTracker diatur dengan benar:

    • Buka AR Session, periksa apakah Block Root di dalam Mega Tracker adalah node MegaBlocks yang dihasilkan oleh alat.
  3. Apakah ada perubahan pada node MegaBlocks:

    • Pastikan tidak ada perubahan pada nama node Block_*, dan tidak ada modifikasi pada nilai apa pun di dalam properti local transform.
  4. Apakah event listener sudah benar:

    • Apakah Anda telah memodifikasi logika penanganan callback positioning di MegaTracker?
    • Apakah kode Anda mengeksekusi operasi instansiasi atau menampilkan konten virtual hanya setelah event status positioning berhasil dipicu?
  5. Rendering headset dan transparansi:

    • Apakah objek virtual Anda tertutup oleh objek lain? Periksa rendering queue dan Shader.
    • Jika menggunakan perangkat VST (video see-through), periksa apakah rendering Anda ditumpuk dengan benar di atas video stream.
    • Jika menggunakan perangkat OST (optical see-through), periksa apakah konten sulit dilihat karena cahaya lingkungan yang terlalu terang.
  6. Masalah pada konten itu sendiri:

    • Apakah prefab yang Anda instansiasi itu sendiri bermasalah? Misalnya, file model hilang, kesalahan Shader, skala 0, dll. Coba tempatkan objek yang sama secara manual di dalam scene, lihat apakah objek tersebut dapat ditampilkan dengan normal.

Analisis penyebab umum kegagalan positioning dan saran perbaikan

Jika di Langkah satu ditemukan bahwa Mega Toolbox juga tidak dapat melakukan positioning, maka perlu diperiksa dan diselesaikan masalah positioning dengan teliti. Berikut adalah penyebab umum dan tindakannya:

  • Penyebab satu: peta dan lingkungan tidak cocok
    Lingkungan fisik saat ini telah berubah drastis dibandingkan saat pengumpulan dan pembuatan peta, atau area pengalaman tidak tercakup saat pengumpulan, atau peta itu sendiri salah.
    Saran perbaikan:

    • Pastikan peta yang dimuat di library positioning Anda konsisten secara visual dengan ruang fisik saat ini.
    • Jika lingkungan telah diubah (misalnya, renovasi, penggantian pajangan), perlu dilakukan pengumpulan ulang dan pembuatan peta baru.
    • Jika area bermasalah tidak tercakup saat pengumpulan dan pembuatan peta, perlu dibuat peta ulang dengan cara suplementasi dan pembaruan.
  • Penyebab dua: lingkungan inisialisasi yang buruk
    Memulai aplikasi di area dengan tekstur yang sedikit (misalnya, dinding polos, menghadap ke lantai).
    Saran perbaikan:

    • Pandu pengguna untuk memulai aplikasi di area yang kaya tekstur, untuk membantu sistem menyelesaikan positioning awal dengan cepat.
    • Berikan petunjuk yang jelas di UI aplikasi, seperti "Angkat ponsel dan lihat ke sekeliling".
  • Penyebab tiga: masalah jaringan atau layanan
    Keterlambatan jaringan menyebabkan permintaan layanan positioning timeout, atau layanan positioning itu sendiri mengalami gangguan, atau melebihi batas penggunaan bersamaan, dll. Untuk yang terakhir, harap segera berikan umpan balik kepada kami.

  • Penyebab empat: mencapai batas kemampuan algoritma
    Positioning Mega didasarkan pada algoritma computer vision, AI, dan lainnya yang canggih, tetapi tidaklah sempurna dan memiliki batas kemampuan algoritma tertentu. Ketika positioning terus-menerus gagal di beberapa skenario atau titik, Anda dapat memberikan umpan balik kepada kami melalui rekaman layar, perekaman data EIF, dll., untuk membantu kami terus meningkatkan dan mengembangkan algoritma.

Selain itu, perlu dijelaskan secara khusus bahwa positioning Mega membutuhkan proses, biasanya sekitar 1-2 detik. Mengingat kompleksitas skenario dunia nyata seperti kemacetan jaringan, konkurensi tinggi, penurunan frekuensi ponsel karena panas, dll., waktu ini mungkin lebih lama. Oleh karena itu, dalam aplikasi dapat dirancang antarmuka pemuatan/tunggu yang jelas, memberitahu pengguna "Sedang melakukan positioning...", untuk menghindari kesalahpahaman pengguna yang mengira layanan down atau tidak terdeteksi karena menunggu.

Catatan
  • Positioning pertama biasanya lebih lambat daripada positioning berikutnya, karena sistem perlu memuat konten yang sesuai setelah positioning awal berhasil. Ini adalah fenomena normal.
  • Menggerakkan perangkat dengan cepat dapat menyebabkan kehilangan positioning. Pandu pengguna untuk menggerakkan perangkat dengan stabil.

Ringkasan dan praktik terbaik

  • Selalu gunakan alat eksternal untuk verifikasi terlebih dahulu: Ini adalah cara tercepat untuk mempersempit ruang lingkup masalah menjadi "positioning" atau "rendering".
  • Bangun ekspektasi pengguna yang wajar: Melalui petunjuk UI, beri tahu pengguna bahwa positioning membutuhkan waktu, dan pandu mereka ke lingkungan yang sesuai.
  • Perhatikan logika konten: Pastikan pengaturan seperti binding konten Anda sudah benar.
  • Manfaatkan log dengan baik: Mencetak log di titik-titik kunci (seperti pemicuan event, pengambilan pose, status respons) dapat membantu Anda mengidentifikasi masalah logika kode dengan cepat.

Melalui pemeriksaan sistematis di atas, Anda seharusnya dapat menyelesaikan sebagian besar masalah "konten tidak muncul". Jika masalah masih ada, harap siapkan data EIF dan log, dan kirimkan laporan detail kepada kami melalui pelaporan masalah.