Table of Contents

Diagnosis dan perbaikan: masalah konten yang melompat dan bergeser dalam aplikasi

"Konten virtual bergeser", "objek bergetar", "posisi tidak stabil" — ini adalah masalah umum yang dihadapi pengembang dalam aplikasi AR. Ketidakstabilan konten dapat sangat merusak imersi dan menyebabkan pengalaman pengguna yang buruk.

Artikel ini akan membantu Anda memahami penyebab konten melompat atau bergeser, serta menyediakan metode sistematis untuk pemeriksaan dan optimalisasi.

Membedakan "getaran normal" dengan "pergeseran abnormal"

Pertama, kita perlu menetapkan ekspektasi yang wajar. Mencapai pelacakan AR presisi tinggi pada perangkat seluler itu sendiri penuh tantangan. Berikut ini termasuk dalam rentang normal, tidak dapat dihilangkan sepenuhnya, tetapi dapat dioptimalkan:

  • Gemetar kecil frekuensi tinggi (Jitter):

    • Manifestasi: Objek virtual bergoyang halus pada skala milimeter.
    • Penyebab: Disebabkan oleh noise fisik sensor perangkat, batas presisi algoritma pelacakan visual, dan guncangan halus tangan pengguna yang memegang perangkat.
    • Contoh: Saat mengamati dari dekat (misalnya, menempatkan objek virtual di atas meja dan mendekat), gemetar halus seperti ini adalah hal normal.
  • Pergeseran singkat (Drift):

    • Manifestasi: Saat pengguna menggerakkan atau memutar perangkat dengan cepat, objek virtual mengalami penyimpangan posisi untuk waktu singkat (0.5-1 detik), lalu kembali normal.
    • Penyebab: Sistem SLAM perangkat saat bergerak cepat, kesalahan akumulasi IMU (Inertial Measurement Unit) dan keterlambatan pelacakan visual menyebabkan pergeseran posisi sementara.
    • Contoh: Dalam skenario dinamis, ini dapat diterima. Jika objek dapat cepat "ditarik kembali" ke posisi yang benar, artinya sistem berfungsi.

Sedangkan kondisi berikut termasuk dalam masalah abnormal yang perlu diperiksa dan diperbaiki:

  • Pergeseran posisi terus-menerus dan signifikan: Objek virtual perlahan dan terus-menerus menyimpang dari posisi seharusnya, dan tidak kembali atau membutuhkan waktu sangat lama untuk pulih.
  • Lompatan atau kedipan hebat: Objek virtual melompat besar di layar, atau muncul dan menghilang.
  • Ketidaksesuaian posisi relatif terhadap objek fisik: Objek virtual tidak dapat stabil "melekat" pada objek fisik.
Catatan

Selain itu, ada poin penting yang perlu diperhatikan:
Untuk perangkat yang beroperasi dalam mode 0DoF, 3DoF, atau 5DoF, "rasa melekat" dan "rasa nyata"-nya secara inheren lebih lemah daripada perangkat 6DoF. Saat pengguna bergerak cepat, berbelok, atau naik/turun tangga, objek virtual tidak dapat mengikuti dengan sempurna.
Oleh karena itu, fenomena seperti konten yang "melayang di udara" atau "pergeseran posisi" dalam mode ini merupakan batasan mendasar kemampuan perangkat, bukan merupakan "kerusakan konten melompat atau bergeser" yang dibahas dalam artikel ini.
Untuk perbedaan pengalaman antar mode xDoF, silakan merujuk pada penjelasan di Praktik Terbaik Navigasi.

Proses pemeriksaan sistematis

Silakan ikuti urutan pemeriksaan berikut, dimulai dari penyebab yang paling mungkin.

Langkah pertama: Faktor lingkungan eksternal dan perangkat keras (tidak perlu modifikasi kode)

  1. Pemeriksaan lingkungan fisik:

    • Kekayaan tekstur
      Apakah lingkungan pengujian Anda terlalu monoton? Dinding putih polos yang luas, lantai licin, permukaan kaca dapat menyebabkan kegagalan atau kesalahan dalam pelacakan visual.
    • Objek dinamis
      Apakah ada banyak objek bergerak di lingkungan (seperti kerumunan orang, kendaraan yang melintas)? Objek dinamis dapat mengganggu pelacakan visual, tetapi masalah seperti ini biasanya bersifat sementara.
    • Kebingungan skenario
      Apakah ada area yang sangat mirip dan membingungkan di lingkungan (seperti pintu lift di pintu masuk yang berbeda)? Area yang mirip secara visual dapat memengaruhi pelacakan, berpotensi menyebabkan hasil pelacakan melompat-lompat di antara area serupa. Masalah seperti ini dapat dihindari dengan menyetel informasi awal yang sesuai sebelumnya.
  2. Pemeriksaan perangkat keras:

    • Perangkat kepanasan
      Setelah berjalan lama, apakah perangkat menjadi sangat panas? Kepanasan dapat menyebabkan penurunan kinerja CPU/GPU, memengaruhi kinerja sistem SLAM perangkat itu sendiri, dan merupakan penyebab paling umum dari pergeseran terus-menerus.
    • Kinerja perangkat
      Pada beberapa perangkat lama, dibatasi oleh kinerja perangkat keras dan presisi komponen, pergeseran skala lebih mudah terjadi, menyebabkan konten virtual juga bergeser. Anda dapat mencoba mengganti perangkat untuk pengujian perbandingan, membantu menentukan apakah masalah disebabkan oleh batasan perangkat itu sendiri.

Langkah kedua: Analisis kualitas peta dan pelacakan (menggunakan alat eksternal)

  1. Menggunakan Mega Toolbox:

    • Jalankan Mega Toolbox di lokasi yang sama, amati stabilitas pelacakannya.
    • Jika pelacakan Toolbox juga bergeser/melompat: Masalah ada pada peta itu sendiri atau lingkungan saat ini tidak cocok untuk pelacakan.
    • Jika pelacakan Toolbox stabil: Masalah ada pada aplikasi Anda. Silakan lanjutkan ke langkah tiga.
  2. Menggunakan simulasi PC untuk menjalankan data EIF:

    • Putar ulang data EIF yang Anda rekam di lokasi.
    • Jika pemutaran ulang juga bergeser/melompat: Menunjukkan bahwa skenario itu sendiri tidak cocok untuk pelacakan, atau ada masalah pada peta itu sendiri, atau pelacakan gerak perangkat yang merekam EIF itu sendiri mengalami pergeseran skala.
    • Jika pemutaran ulang stabil: Menunjukkan bahwa skenario itu sendiri ramah pelacakan, masalah mungkin terletak pada faktor seperti kepanasan perangkat, penurunan kinerja aplikasi Anda saat berjalan secara real-time.

Langkah ketiga: Pemeriksaan logika internal aplikasi

  1. Pembaruan pose (Pose Update):

    • Apakah Anda melakukan pemrosesan halus tambahan yang tidak perlu pada data pose (seperti Lerp atau SmoothDamp yang berlebihan), karena ini justru dapat menyebabkan keterlambatan dan rasa bergeser.
    • Biasanya, menggunakan Pose mentah yang dikembalikan oleh Mega secara langsung adalah yang paling stabil.
  2. Kecocokan sistem koordinat (Coordinate System Matching):

    • Pastikan node objek virtual, kamera adegan, MegaTracker, dll., memiliki relasi yang benar, dan Anda tidak mengubah nilai local transform dari node-node itu sendiri di bawah MegaBlocks.
    • Kesalahan penyetelan node dapat menyebabkan konversi sistem koordinat yang tidak benar, menghasilkan perilaku render konten yang tidak terduga.

Peringatan khusus: Masalah overlay visual pada perangkat headset OST

Setelah menyelesaikan pemeriksaan logika pelacakan dan rendering, jika Anda menggunakan perangkat headset OST (optical see-through), perlu dipertimbangkan juga situasi khusus.

Bahkan jika perangkat itu sendiri memiliki kemampuan pelacakan gerak 6DoF yang baik, terkadang masih ditemui masalah "rasa melekat" yang buruk antara objek virtual dan ruang fisik. Ini biasanya bukan kerusakan layanan pelacakan Mega, melainkan fenomena inheren yang disebabkan oleh prinsip optik perangkat OST, seperti kesalahan penyelarasan optik atau perbedaan kalibrasi mata manusia.

Untuk penjelasan rinci dan metode penilaian masalah seperti ini, dapat merujuk pada penjelasan di Penjelasan Khusus Perangkat OST.

Ringkasan dan praktik terbaik

Setelah pemeriksaan sebelumnya, Anda seharusnya telah mengidentifikasi akar penyebab konten melompat atau bergeser. Untuk memudahkan Anda meninjau kembali dan mengambil tindakan dengan cepat, kami merangkum fenomena masalah umum, kemungkinan penyebab, dan praktik terbaik dalam tabel di bawah ini. Berdasarkan hasil pemeriksaan Anda, temukan solusi yang sesuai dalam tabel berikut.

Tipe Masalah Kemungkinan Penyebab Praktik Terbaik
Gemetar kecil Noise sensor, batas algoritma Gemetar kecil seperti ini normal, umumnya tidak perlu terlalu diperhatikan
Pergeseran setelah bergerak cepat Keterlambatan SLAM, koreksi algoritma Bimbing pengguna untuk menggerakkan perangkat dengan stabil. Jika tidak dapat pulih dengan cepat, perlu perhatian ekstra
Pergeseran besar terus-menerus Kerusakan SLAM, perbedaan perangkat Dapat ganti perangkat untuk verifikasi silang
Lompatan/kedipan hebat Skenario membingungkan, tidak ramah pelacakan Atur informasi prioritas bantu, atau bimbing pengguna
Ketidaksesuaian posisi relatif dengan objek fisik Kesalahan pelacakan/peta, kesalahan logika kode Uji dari banyak sudut pandang dan amati posisi objek virtual, perbaiki kemungkinan kesalahan kode

Jika masalah Anda masih ada setelah pemeriksaan dan perbaikan di atas, silakan gabungkan rekaman layar, rekaman data EIF, dan log detail, lalu kirimkan laporan terperinci kepada kami melalui metode Pelaporan Masalah.