Table of Contents

Diagnosis dan perbaikan: konten tidak muncul di aplikasi

"Saya dapat melihat dunia nyata, tetapi konten virtual tidak muncul." Ini adalah salah satu masalah paling umum dalam AR development. Masalah ini dapat berasal dari banyak tahapan, mulai dari Mega localization itu sendiri hingga rendering logic Anda.

Artikel ini memandu Anda melakukan troubleshooting dan menyelesaikan masalah ini secara sistematis.

Alur troubleshooting: dari eksternal ke internal

Mengikuti prinsip "eksternal dulu, internal kemudian" dapat membantu menemukan masalah secara efisien. Jalankan langkah berikut secara berurutan:

Langkah 1: Gunakan tool eksternal untuk memverifikasi status Mega localization (tanpa perlu mengubah kode)

Sebelum masuk jauh ke kode aplikasi Anda, pastikan terlebih dahulu apakah Mega localization service sendiri bekerja normal. Ini adalah langkah paling penting, karena membantu menentukan apakah masalah ada pada Mega localization itu sendiri atau pada integrasi application development seperti rendering.

  1. Gunakan Mega Toolbox (mobile)

    • Instal Mega Toolbox App di test phone Anda jika belum terinstal.
    • Buka App, lalu masuk ke On-site verification and diagnosis tool.
    • Login ke akun Anda dan pilih localization library yang sama dengan aplikasi Anda.
    • Bawa ponsel ke lokasi yang sama tempat aplikasi Anda tidak dapat menampilkan konten saat test.
    • Amati hasil:
      • Jika Toolbox berhasil localization (status interface menampilkan Found): selamat. Mega localization service normal. Masalah ada di dalam aplikasi Anda, terutama pada rendering dan content display logic. Lanjut ke Langkah 2.
      • Jika Toolbox gagal localization (status interface menampilkan NotFound atau lainnya): masalah ada pada localization service itu sendiri. Lihat bagian berikutnya untuk analisis lebih lanjut.
  2. Gunakan simulasi berjalan di PC (jika EIF sudah diakuisisi)

    • Jika Anda sudah merekam EIF data untuk scene ini, Anda dapat memutar ulang data tersebut di Unity editor pada PC menggunakan tool verifikasi session.
    • Amati hasil:
      • Jika localization berhasil saat replay (status interface menampilkan Found): masalah ada pada application code atau environment khusus device.
      • Jika localization gagal saat replay (status interface menampilkan NotFound atau lainnya): masalah ada pada localization service itu sendiri. Lihat bagian berikutnya untuk analisis lebih lanjut.

Langkah 2: Periksa rendering dan content logic di dalam aplikasi

Jika Langkah 1 memastikan bahwa Mega localization service sendiri normal, maka masalah ada pada kode aplikasi Anda. Periksa hal berikut:

  1. Apakah konten diletakkan di bawah node yang benar:

    • Apakah Anda sudah benar menempatkan 3D object di bawah node MegaBlocks > Block_* yang otomatis dibuat oleh tool?
    • Periksa hubungan hierarchy antara konten dan Block node untuk memastikan virtual content dirender pada posisi yang benar saat runtime.
  2. Apakah Block Root MegaTracker diatur dengan benar:

    • Expand AR Session, lalu periksa apakah Block Root di Mega Tracker adalah node MegaBlocks yang dibuat oleh tool.
  3. Apakah node MegaBlocks pernah diubah:

    • Pastikan nama node Block_* tidak dimodifikasi, dan tidak ada nilai pada property local transform yang dimodifikasi.
  4. Apakah event listening benar:

    • Apakah Anda pernah mengubah localization callback handling logic MegaTracker?
    • Apakah kode Anda baru melakukan instantiate atau menampilkan virtual content setelah event status localization success dipicu?
  5. Headset rendering dan transparency:

    • Apakah virtual object Anda tertutup object lain? Periksa render queue dan Shader.
    • Jika menggunakan device VST (video see-through), periksa apakah rendering Anda sudah ditumpangkan dengan benar di atas video stream.
    • Jika menggunakan device OST (optical see-through), periksa apakah konten sulit dilihat karena ambient light terlalu kuat.
  6. Masalah pada konten itu sendiri:

    • Apakah Prefab yang Anda instantiate bermasalah? Misalnya model file hilang, Shader error, scale menjadi 0, dan sebagainya. Coba letakkan object yang sama secara manual di scene dan lihat apakah dapat tampil normal.

Analisis penyebab umum localization failure dan saran perbaikan

Jika pada Langkah 1 Mega Toolbox juga tidak dapat localization, periksa dan selesaikan masalah localization dengan cermat. Berikut penyebab umum dan tindakan perbaikannya:

  • Penyebab 1: map tidak cocok dengan environment
    Environment di lokasi telah berubah drastis dibanding saat acquisition dan mapping, atau experience area tidak tercakup saat acquisition, atau map itu sendiri salah.
    Saran perbaikan:

    • Pastikan map yang dimuat di localization library Anda konsisten secara scene dengan physical space saat ini.
    • Jika environment telah direnovasi, seperti decoration atau penggantian display, perlu acquisition ulang dan regenerate map.
    • Jika area bermasalah tidak tercakup saat acquisition dan mapping, regenerate map melalui incremental update.
  • Penyebab 2: initialization environment buruk
    Aplikasi dimulai di area dengan texture sedikit, seperti dinding solid-color atau menghadap lantai.
    Saran perbaikan:

    • Arahkan user untuk memulai aplikasi di area dengan texture kaya agar sistem cepat menyelesaikan initial localization.
    • Berikan prompt yang jelas pada UI aplikasi, seperti "Angkat ponsel dan lihat sekeliling".
  • Penyebab 3: masalah jaringan atau service
    Network latency menyebabkan request localization service timeout, atau localization service sendiri mengalami fault, atau batas concurrent usage terlampaui. Untuk kondisi terakhir, harap berikan feedback kepada kami tepat waktu.

  • Penyebab 4: mencapai batas kemampuan algorithm
    Mega localization didasarkan pada computer vision, AI, dan algorithm canggih lainnya, tetapi tidak serba bisa dan memiliki batas kemampuan algorithm tertentu. Jika localization terus gagal pada scene atau titik tertentu, Anda dapat memberikan feedback kepada kami melalui screen recording, EIF data recording, dan metode lain untuk membantu kami terus meningkatkan dan mengiterasi algorithm.

Selain itu, perlu dijelaskan bahwa Mega localization membutuhkan proses, biasanya sekitar 1-2 detik. Mengingat kompleksitas real scene seperti network congestion, high concurrency, phone overheating dan frequency reduction, waktu ini mungkin lebih lama. Karena itu, Anda dapat mendesain loading/waiting page yang jelas di aplikasi untuk memberi tahu user "Localizing...", agar user tidak salah mengira service down atau localization tidak ditemukan karena menunggu.

Catatan
  • Localization pertama biasanya lebih lambat daripada localization berikutnya, karena sistem perlu memuat konten terkait setelah localization pertama berhasil. Ini normal.
  • Pergerakan device yang cepat dapat menyebabkan localization hilang. Arahkan user untuk menggerakkan device secara stabil.

Ringkasan dan best practices

  • Selalu verifikasi dengan tool eksternal terlebih dahulu: ini paling cepat mempersempit scope masalah menjadi "localization" atau "rendering".
  • Bangun ekspektasi user yang wajar: gunakan UI prompt agar user tahu localization membutuhkan waktu dan arahkan mereka ke environment yang sesuai.
  • Perhatikan content logic: pastikan setting seperti content binding benar.
  • Manfaatkan log: mencetak log pada key point seperti event triggering, pose acquisition, dan response status dapat membantu Anda cepat menemukan masalah code logic.

Melalui troubleshooting sistematis di atas, Anda seharusnya dapat menyelesaikan sebagian besar masalah "konten tidak muncul". Jika masalah masih ada, siapkan EIF data dan log, lalu kirim laporan detail kepada kami melalui Issue report.