Table of Contents

Menambahkan target pelacakan Mega

Dokumen ini menjelaskan cara menambahkan dan mengonfigurasi target pelacakan Mega.

Sebelum mulai

Catatan

Konten dan alat berikut hanya berlaku untuk proses pengembangan aplikasi Unity menggunakan EasyAR Mega.

Jika Anda sedang mengembangkan mini program, silakan lihat membuat dan mengunggah annotation dengan Unity Editor (pengembangan mini program).

Jika Anda tidak sedang mengembangkan aplikasi Unity tetapi ingin melihat hasil mapping Mega, silakan lihat pratinjau 3D real-scene mesh pada panduan Mega.

Jika Anda tidak sedang mengembangkan aplikasi Unity tetapi perlu melihat efek lokalisasi dengan runtime simulasi, silakan lihat pratinjau hasil simulasi pada panduan Mega.

Dokumen ini memerlukan package Unity berikut sudah diimpor ke proyek:

  • com.easyar.sense

Target pelacakan Mega

Target pelacakan Mega adalah objek kosong yang berisi komponen MegaBlockController, yang merepresentasikan sebuah block di Unity.

alt text

Catatan

Saat package com.easyar.mega belum diimpor, fungsi editor untuk block tidak dapat digunakan, tetapi tidak memengaruhi hasil dan fungsi tracking saat runtime.

Jika konfigurasi belum mengaktifkan fitur Mega dengan benar, fitur ini tidak dapat digunakan.

alt text

Membuat target pelacakan

Klik kanan pada area kosong di tampilan Hierarchy, lalu pilih menu EasyAR Sense > Mega > Target : Mega Block untuk membuat target pelacakan Mega.

alt text

Di script, Anda dapat membuatnya dengan ARSessionFactory.CreateController.

ARSessionFactory.CreateController<MegaBlockController>();

Mengonfigurasi target pelacakan

Mengonfigurasi sumber data target

Target pelacakan hanya dapat dikenali dan dilacak setelah sumbernya dikonfigurasi dengan benar.

Di tampilan Hierarchy, Anda dapat memilih node block lalu mengisi ID dan Name block.

Di script, Anda dapat mengubah, sebelum MonoBehaviour.Start() pada komponen, Source untuk menetapkan sumber block.

block.Source = new MegaBlockController.BlockInfoSourceData(id, name);

Di sini

  • block id adalah identitas unik block, dan wajib diisi.
  • block name adalah nama block, dapat diisi bebas sesuai kebutuhan. Umumnya disarankan memakai nama asli block agar mudah dikenali.
Kiat

block id dan name dapat diambil dari library lokalisasi yang sesuai di EasyAR Development Center.

Jika di library lokalisasi belum ada data block, Anda perlu menambahkan Block yang dibutuhkan ke library lokalisasi, lalu memeriksa kembali validitas cloud positioning library.

Mengonfigurasi tracker yang digunakan target

Target pelacakan akan dimuat oleh tracker yang dikonfigurasi dan dilacak setelah berhasil dilokalisasi.

Di tampilan Hierarchy, Anda dapat memilih node block lalu memilih Mega Tracker di session.

alt text

Di script, Anda dapat mengubah Tracker untuk menetapkan tracker bagi block.

block.Tracker = megaTracker;

Tracker dapat diubah kapan saja saat runtime. Proses load/unload akan terjadi saat session berjalan. Jika Anda mengatur Tracker menjadi null, target tersebut akan di-unload dari tracker yang sebelumnya diset. Pemuatan block adalah proses virtual dan tidak akan gagal.

Catatan

Ada beberapa syarat penting agar target dapat dilacak:

  1. id dari MegaBlockController.Source harus dikonfigurasi dengan benar sebelum MonoBehaviour.Start().
  2. block yang sesuai dengan id dari Source harus ada di library lokalisasi.
  3. MegaBlockController.Tracker harus dikonfigurasi menggunakan library lokalisasi yang benar.

Siklus hidup target pelacakan

Lifecycle umum sebuah target pelacakan adalah sebagai berikut:

flowchart LR
  sstart((session dimulai))
  sstop([session berhenti])
  
  start("Target.Start")
  load("Muat")
  tracking[["Tracking berkelanjutan"]]

  sstart --> load --> tracking --> sstop
  start -. "Target.Tracker = tracker" .-> load 

Prosesnya secara garis besar dapat dibagi menjadi beberapa tahap:

  • Load: target pelacakan dimuat oleh tracker yang dikonfigurasi. Ini terjadi setelah Start() pada target itu sendiri dan session dimulai.
  • Proses tracking: setelah target pelacakan berhasil dilokalisasi, tracker akan terus melacak posisi dan status target sampai target lain berhasil dilokalisasi.
  • Unload: target pelacakan di-unload dari tracker, dan tracker tidak lagi melacak target. Ini terjadi ketika session berhenti atau target diatur agar tidak menggunakan tracker.

Langkah berikutnya

Topik terkait