Table of Contents

Memilih mode center yang tepat

Memilih mode center yang sesuai sangat penting untuk pembuatan konten. Dengan materi berikut, Anda akan mempelajari cara mendapatkan dan mengubah mode center, serta saran memilih mode center yang tepat.

Sebelum mulai

  • Pelajari Pengantar AR Session untuk memahami konsep dasar, komponen, dan alur kerja session.
  • Pelajari Mode center AR Session untuk memahami konsep mode center dan pengaruhnya terhadap perilaku gerak objek di scene.

Mendapatkan mode center yang tersedia

Saat session berjalan, hanya mode center yang tersedia untuk session saat ini yang akan muncul di menu drop-down Center pada panel Inspector. Jika session belum dimulai, semua mode center akan ditampilkan.

alt text

Gambar ini menunjukkan mode center yang tersedia untuk session yang menggunakan CameraDeviceFrameSource di editor.

Dalam skrip, setelah session berhasil assemble, Anda dapat memperoleh daftar mode center yang tersedia pada session saat ini melalui properti ARSession.AvailableCenterMode.

Contohnya, kode berikut menunjukkan cara memeriksa apakah suatu mode center tersedia pada session saat ini:

if (Session.AvailableCenterMode.Contains(mode))
{
    // mode tersedia pada session saat ini
}

Mengubah mode center

Buka panel Inspector, lalu pilih mode center yang diinginkan di menu Center.

alt text

Dalam skrip, Anda dapat mengubah mode center melalui properti ARSession.CenterMode.

Contohnya, kode berikut menunjukkan cara berganti mode center yang tersedia secara berurutan:

while (true)
{
    Session.CenterMode = (ARSession.ARCenterMode)(((int)Session.CenterMode + 1) % Enum.GetValues(typeof(ARSession.ARCenterMode)).Length);
    if (Session.AvailableCenterMode.Contains(Session.CenterMode)) { break; }
}

Saat session diperbarui setiap frame, session akan memeriksa apakah mode center saat ini valid. Jika valid, session akan segera mencoba memakai mode center yang baru.

Pada video di atas, session awalnya memakai mode FirstTarget, dengan objek pusat berupa pohon Natal (point cloud biru muda). Lalu kami mengubah mode center secara manual ke Camera, dan objek pusat berubah menjadi kamera (kerucut biru). Untuk penjelasan detail video, lihat Mode center AR Session.

Jika mode center yang diubah tidak valid pada session saat ini, properti CenterMode akan otomatis diubah ke mode center yang pertama tersedia (biasanya FirstTarget atau SessionOrigin) dan satu baris peringatan akan dicatat di log:

Center mode {Value} is unavailable in this session, reset to {NewValue}.

Cara memilih mode center

Penyelarasan dengan objek dunia nyata adalah kebutuhan inti dalam pembuatan konten AR, dan mode center menentukan objek mana yang dipakai sebagai titik referensi untuk menghitung posisi dan orientasi objek lain di scene. Karena itu, memilih mode center yang sesuai sangat penting.

Saran umum

Dalam banyak kasus, menggunakan FirstTarget atau SpecificTarget dengan target sebagai pusat akan lebih ramah untuk pembuatan konten. Dengan begitu, titik referensi konten yang diletakkan di bawah target akan tetap diam dan tidak akan terganggu oleh pergerakan XR Origin atau camera (misalnya memengaruhi perhitungan sistem fisik). Namun ini tidak mutlak:

  • Jika Anda tidak tahu harus memilih yang mana, gunakan nilai default, yaitu center FirstTarget.
    Karena sebagian besar fungsi AR memiliki error dan terus memperbaiki error itu saat runtime, objek yang tampak diam di dunia nyata (misalnya target pada sparse spatial map dan XR Origin pada motion tracking) sebenarnya bisa bergerak relatif di ruang virtual. Dalam kasus ini, memakai target sebagai pusat lebih sesuai dengan kebutuhan pembuatan konten.

  • Kasus beberapa target dilacak bersamaan
    Pada kasus ini, karena error perhitungan, meskipun objek di dunia nyata relatif diam, target tersebut juga bisa memiliki gerak relatif. Pemilihan objek pusat harus disesuaikan dengan kebutuhan nyata; biasanya mode FirstTarget adalah pilihan yang lebih tepat.

  • Kapan memakai mode SessionOrigin
    SessionOrigin cocok untuk scene yang hanya menjalankan motion tracking, karena saat itu XR Origin adalah satu-satunya titik referensi. Mode ini juga cocok untuk kasus khusus jika vendor headset tidak mengimplementasikan titik referensi motion tracking dengan benar. Dalam situasi itu, Anda harus memakai pusat dunia Unity untuk memaksa mode SessionOrigin.

  • Skenario penggunaan mode Camera
    Mode Camera lebih cocok untuk scene di mana kamera fisik tidak bergerak (misalnya AR kartu dengan kamera tetap). Dalam kasus ini, mode ini memudahkan pembuatan konten.

Mode center yang umum dipakai untuk tiap fungsi AR

Saat menggunakan sebagian fungsi AR secara terpisah, beberapa mode center lebih sering dipakai. Tabel berikut merangkum mode yang umum digunakan:

Fungsi Mode center umum
Mega FirstTarget atau SpecificTarget
Motion tracking SessionOrigin
Plane detection SessionOrigin
Sparse spatial map FirstTarget atau SpecificTarget
Dense spatial map SessionOrigin
Surface tracking FirstTarget atau SpecificTarget
Image tracking FirstTarget, SpecificTarget, atau Camera
Cloud image recognition FirstTarget, SpecificTarget, atau Camera
Object tracking FirstTarget, SpecificTarget, atau Camera

Hal yang perlu dipertimbangkan untuk lintas perangkat

Saat mengembangkan aplikasi AR lintas perangkat, Anda perlu memperhatikan dukungan mode center di tiap perangkat.

  • Jika hanya melibatkan ponsel dan tablet, biasanya tidak ada masalah besar. Jika perlu memakai SessionOrigin, pastikan motion tracking dapat berjalan.
  • Jika perlu memakai headset, Anda harus lebih berhati-hati:
    • Lihat Mode center yang valid untuk menentukan mode center apa saja yang didukung perangkat yang akan dipakai. Jika menggunakan ekstensi pihak ketiga, perhatikan juga OriginType yang digunakan.
    • Saat menggunakan perangkat Rokid, sebisa mungkin jangan memakai UXR. XRI bisa memastikan sebagian besar mode center tersedia.
    • Pada headset yang tidak mendukung FirstTarget dan SpecificTarget, perlu diingat bahwa sebagian besar konten seperti Mega atau image tracking tidak bisa tetap diam relatif terhadap sistem koordinat dunia Unity.

Konten yang tampil benar untuk setiap mode center

Peringatan

Dalam Unity AR, objek apa pun yang berada di sistem koordinat dunia Unity dan belum menyesuaikan transform sesuai komponen session bisa jadi tidak tampil dengan benar.

Jika Anda menempatkan model di sistem koordinat dunia, posisi dan orientasinya mungkin tidak punya hubungan dengan objek nyata mana pun. Hasilnya bisa tampak kebetulan benar, atau terlihat melayang dan bergerak ke mana-mana.

Agar konten tampil benar di mode center apa pun, cara yang tepat adalah:

  • selalu letakkan konten yang akan ditampilkan di bawah node target yang sesuai, atau di bawah node XR Origin jika konten harus mengikuti gerakan XR Origin
  • atau sejajarkan konten secara manual dengan target atau XR Origin, tetapi lakukan setelah event ARSession.PostSessionUpdate
Catatan

Ini tidak menjamin semua elemen bekerja sempurna, karena beberapa fitur Unity hanya bisa bekerja di sistem koordinat dunia (misalnya sistem fisik). Memilih mode center yang tepat tetap penting.

Topik terkait