Table of Contents

Diagnosa 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 tahapan, mulai dari pelacakan Mega itu sendiri hingga logika rendering Anda.

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

Alur penyelesaian masalah: dari luar ke dalam

Ikuti prinsip "luar dulu, baru dalam" untuk menemukan masalah secara efisien. Lakukan langkah-langkah berikut secara berurutan:

Langkah satu: verifikasi status pelacakan mega menggunakan alat eksternal (tanpa modifikasi kode)

Sebelum menyelami kode aplikasi Anda, pastikan dulu layanan pelacakan Mega berfungsi normal. Ini adalah langkah paling kritis untuk menentukan apakah masalah ada pada pelacakan Mega itu sendiri atau pada integrasi pengembangan aplikasi seperti rendering.

  1. Gunakan Mega Toolbox (perangkat mobile)

    • Instal Aplikasi Mega Toolbox di ponsel uji Anda (jika belum terpasang).
    • Buka App, masuk ke "Tes Pelacakan Situs" atau fungsi serupa.
    • Masuk ke akun Anda dan pilih library pelacakan 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 melacak (status antarmuka menunjukkan Found): Bagus! Layanan pelacakan Mega normal. Masalah ada di dalam aplikasi Anda, khususnya pada logika rendering dan penampilan konten. Lanjutkan ke Langkah dua.
      • Jika Toolbox gagal melacak (status antarmuka menunjukkan NotFound atau lainnya): Masalah ada pada layanan pelacakan itu sendiri. Lihat bagian selanjutnya untuk analisis mendalam.
  2. Gunakan simulasi run di PC (jika sudah mengumpulkan data EIF)

    • Jika Anda telah merekam data EIF untuk skenario ini, Anda dapat memutar ulang data tersebut di Unity editor di PC menggunakan alat validasi session.
    • Amati hasilnya:
      • Jika pelacakan berhasil saat pemutaran ulang (status antarmuka menunjukkan Found): Masalah ada pada kode aplikasi Anda atau lingkungan spesifik perangkat.
      • Jika pelacakan gagal saat pemutaran ulang (status antarmuka menunjukkan NotFound atau lainnya): Masalah ada pada layanan pelacakan itu sendiri. Lihat bagian selanjutnya untuk analisis mendalam.

Langkah dua: periksa logika rendering dan konten di dalam aplikasi

Jika Langkah satu mengonfirmasi bahwa layanan pelacakan Mega itu sendiri normal, maka masalah ada pada kode aplikasi Anda. 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 hierarki hubungan antara konten dan node Block, untuk memastikan posisi rendering konten virtual saat runtime sudah benar.
  2. Apakah Block Root pada MegaTracker sudah diatur dengan benar:

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

    • Pastikan nama node Block_* tidak diubah, dan tidak ada nilai apa pun di properti local transform yang diubah.
  4. Apakah pendengaran event sudah benar:

    • Apakah Anda memodifikasi logika penanganan callback pelacakan di MegaTracker?
    • Apakah kode Anda melakukan instantiasi atau menampilkan konten virtual hanya setelah event status pelacakan berhasil dipicu?
  5. Rendering headset dan transparansi:

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

    • Apakah prefab yang Anda instansiasi bermasalah? Misalnya, file model hilang, Shader error, skala 0, dll. Coba tempatkan objek yang sama secara manual di scene, lihat apakah bisa ditampilkan dengan normal.

Analisis penyebab umum kegagalan pelacakan dan saran perbaikan

Jika di Langkah satu Anda menemukan Mega Toolbox juga gagal melacak, maka perlu dianalisis dan diselesaikan masalah pelacakannya. Berikut adalah penyebab umum dan solusinya:

  • Penyebab satu: peta dan lingkungan tidak cocok
    Lingkungan fisik saat ini telah mengalami perubahan besar dibandingkan saat pengambilan dan pembuatan peta, atau area yang dialami tidak tercakup saat pengambilan, atau peta itu sendiri salah.
    Saran perbaikan:

    • Pastikan peta yang dimuat di library pelacakan Anda sesuai secara visual dengan ruang fisik saat ini.
    • Jika lingkungan telah diubah (seperti renovasi, penggantian tata letak), perlu dilakukan pengambilan ulang dan pembuatan peta baru.
    • Jika area bermasalah tidak tercakup saat pengambilan dan pembuatan peta awal, perlu dibuat peta ulang melalui proses pembaruan tambahan.
  • Penyebab dua: lingkungan inisialisasi buruk
    Aplikasi dimulai di area dengan tekstur minim (seperti dinding polos, menghadap lantai).
    Saran perbaikan:

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

  • Penyebab empat: mencapai batas kemampuan algoritma
    Pelacakan Mega didasarkan pada algoritma computer vision dan AI canggih, tetapi bukanlah solusi serba bisa dan memiliki batasan kemampuan tertentu. Ketika terjadi kegagalan pelacakan terus-menerus di beberapa skenario atau titik tertentu, 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 pelacakan Mega memerlukan proses, biasanya sekitar 1-2 detik. Mempertimbangkan kompleksitas skenario dunia nyata seperti kemacetan jaringan, penggunaan bersamaan tinggi, penurunan kinerja ponsel karena panas, waktu ini mungkin bisa lebih lama. Oleh karena itu, dalam aplikasi, Anda dapat merancang antarmuka pemuatan/tunggu yang jelas, memberi tahu pengguna "Sedang melacak...", untuk menghindari pengguna mengira layanan down atau gagal melacak karena menunggu.

Catatan
  • Pelacakan pertama biasanya lebih lambat daripada pelacakan berikutnya karena sistem perlu memuat konten yang sesuai setelah pelacakan awal berhasil. Ini adalah hal normal.
  • Menggerakkan perangkat dengan cepat dapat menyebabkan pelacakan hilang. 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 "pelacakan" atau "rendering".
  • Buat ekspektasi pengguna yang wajar: Berikan petunjuk melalui UI, beri tahu pengguna bahwa pelacakan 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 pada titik-titik kunci (seperti pemicu event, pengambilan pose, status respons) dapat membantu Anda menemukan masalah logika kode dengan cepat.

Melalui penyelesaian masalah sistematis di atas, Anda seharusnya dapat menyelesaikan sebagian besar masalah "konten tidak muncul". Jika masalah masih ada, siapkan data EIF dan log, dan kirimkan laporan terperinci kepada kami melalui cara Pelaporan Masalah.