Table of Contents

Target tracking Unity AR -- target

target merepresentasikan berbagai objek yang dapat dilacak di Unity. Melalui bagian berikut, Anda akan memahami konsep dasar, status, dan lifecycle target sebagai objek tracking dalam Unity AR.

Sebelum memulai

Apa itu target

target adalah representasi di Unity dari objek yang dikenali dan dilacak oleh fungsi AR. Di dunia nyata, objek ini dapat berupa gambar, objek 3D, peta spasial, dan sebagainya. Dengan mengenali dan melacak objek ini, aplikasi AR dapat menumpangkan konten virtual di dunia nyata dan menghadirkan pengalaman interaktif yang kaya.

Sebagian target bersifat statis di dunia nyata, misalnya poster di dinding.

Video ini menampilkan scene AR sederhana yang menjalankan image tracking. Bagian kiri video adalah tampilan Hierarchy, bagian tengah adalah tampilan Scene, dan bagian kanan adalah tampilan Game. Video direkam dalam mode Play Unity Editor menggunakan data simulasi runtime. Isi tampilan Game sama dengan yang dilihat pengguna melalui ponsel di dunia nyata. Dalam video ini, target (ImageTarget) mewakili kartu nama di dunia nyata. Kami menempatkan bola kuning di atasnya sebagai penanda agar gerakannya mudah diamati.

Dapat dilihat bahwa posisi target di dunia nyata dan di scene tetap, sedangkan kamera yang mewakili pengguna, yaitu kerucut biru, bergerak mengikuti pergerakan pengguna di dunia nyata. Kerucut putih merekam lintasan posisi dan orientasi kamera dalam rentang waktu sebelumnya. Bola kuning berada di bawah node target (ImageTarget), yang juga merupakan struktur organisasi objek yang umum dalam scene seperti ini.

Sebagian target dapat bergerak di dunia nyata, misalnya poster pada bus.

Video ini menampilkan scene yang sama, tetapi kali ini kami menggerakkan target, yaitu kartu nama, di dunia nyata. Dapat dilihat bahwa setelah target bergerak, bola kuning mengikuti gerakan kartu nama, dan penanda bola pada tampilan Game tetap menempel pada kartu nama.

Agar mudah dipahami, tampilan gizmo ImageTarget dimatikan dalam dua video di atas, dan keduanya menggunakan center mode SessionOrigin. Dalam kedua video tersebut, gerakan objek pada tampilan Scene sama dengan gerakan di dunia nyata. Dalam scene AR sebenarnya, hubungan gerak ini lebih kompleks.

Perilaku target dalam center mode berbeda

Di Unity, titik referensi pusat untuk semua tracking AR disebut session center, sedangkan aturan yang menentukan pusat ini selama session berjalan disebut center mode. Dalam center mode yang berbeda, perilaku target berbeda:

  • Dalam center mode SessionOrigin, target tidak boleh digerakkan secara sembarang.

    Mode SessionOrigin hanya dapat ada pada scene yang memiliki motion tracking.

    Meskipun mode ini dapat menunjukkan gerakan target dan kamera di dunia nyata dengan baik dalam scene sederhana sebelumnya, mode ini tidak umum digunakan dalam scene AR sebenarnya. Dalam mode ini, session akan mengontrol gerakan target, dan karena error komputasi dari motion tracking atau fungsi AR itu sendiri, sulit menjamin target benar-benar tetap diam. Saat ini, root node konten harus mengikuti gerakan target, yang dapat memengaruhi perilaku konten, misalnya sistem fisika, di sistem Unity.

  • Dalam center mode FirstTarget atau SpecificTarget, jika target tepat merupakan objek yang dipilih sebagai pusat, target dapat digerakkan secara bebas.

    Secara umum, mode FirstTarget lebih sering digunakan. Mode ini menjamin objek pertama yang dilacak tidak dikontrol oleh session di scene. Jika tidak ada kebutuhan untuk memindahkan target, maka target tersebut akan tetap diam, terlepas dari apakah objek yang bersesuaian di dunia nyata bergerak atau tidak.

  • Dalam center mode FirstTarget atau SpecificTarget, jika target bukan objek yang dipilih sebagai pusat, serta dalam center mode Camera, target tidak boleh digerakkan secara sembarang.

    Saat melacak beberapa objek secara bersamaan, meskipun objek-objek tersebut relatif tetap di lingkungan nyata, karena adanya error komputasi, pada satu waktu hanya satu target yang dapat bebas dari kontrol session. Pada saat ini, tergantung konfigurasi, gerakan target lain tidak dijamin; meskipun tidak bergerak di dunia nyata, di scene masih mungkin ada gerakan kecil. Perilaku ini saat beberapa objek dilacak bersamaan harus dipertimbangkan sepenuhnya, dan strategi konten harus disesuaikan dengan wajar.

Untuk center mode dan cara gerak objek di dalam scene, lihat detailnya di Center mode.

Status target

Status target mencerminkan kondisi recognition dan tracking target dalam session saat ini. Status umum meliputi:

  • Tracked: target telah berhasil dikenali dan dilacak. Aplikasi AR dapat menumpangkan konten virtual di atasnya, dan konten akan menempel pada objek di dunia nyata.
  • Not Tracked: target saat ini belum dikenali atau dilacak. Jika aplikasi AR tetap menumpangkan konten virtual di atasnya, konten tidak akan menempel pada objek di dunia nyata.

Selain itu, saat status berubah, Anda dapat merespons melalui event berikut:

  • TargetFound: dipicu saat target berhasil dikenali dan dilacak.
  • TargetLost: dipicu saat target kehilangan status tracking.

Lifecycle target

Dalam scene Unity AR, target biasanya dikelola oleh komponen frame filter yang sesuai. frame filter memproses data gambar dari frame source serta mengenali dan melacak target di dalamnya. Lifecycle frame filter bergantung pada session. Walaupun implementasi fungsi AR yang berbeda dapat bervariasi, pada sebagian besar kasus, saat session dimulai, target akan dimuat dan setelah dimuat akan dikontrol oleh session. Saat session berhenti, target akan dibongkar dan tetap di tempat sampai digunakan oleh session berikutnya atau dihapus secara manual.

Langkah berikutnya

Topik terkait