Mode pusat AR Session
Mode pusat adalah konsep inti dalam Unity AR yang menentukan objek mana yang dipilih session sebagai titik referensi (objek pusat) untuk semua pelacakan AR selama berjalan, serta objek mana dalam session yang dapat bergerak bebas. Melalui konten berikut, Anda akan memahami konsep dasar mode pusat dan pengaruhnya terhadap perilaku pergerakan objek dalam adegan.
Sebelum memulai
- Pahami konsep dasar, komponen, dan alur kerja session melalui Pengantar AR Session.
- Pahami peran kamera dalam adegan AR melalui Kamera, serta bagaimana session mengontrol properti kamera untuk memastikan pengalaman AR yang benar.
- Pahami konsep dasar, komponen, dan siklus hidup XR Origin melalui XR Origin.
- Pahami konsep dasar, status, dan siklus hidup target melalui Target.
Objek pusat dan mode pusat
Dalam satu session, mungkin terdapat satu atau lebih fungsi AR berbeda yang berjalan bersamaan. Fungsi AR ini mungkin melacak objek yang berbeda, dan mungkin menggunakan fungsi pelacakan gerakan secara bersamaan untuk melacak posisi dan orientasi perangkat itu sendiri.
Untuk memastikan perilaku pergerakan objek dalam adegan sesuai harapan, session perlu memilih titik referensi sebagai pusat semua pelacakan AR. Perwakilan titik referensi ini dalam adegan Unity adalah objek pusat (CenterObject). Mode pusat (CenterMode) adalah aturan yang menentukan objek mana yang menjadi objek pusat selama session berjalan.
Pusat sebuah session dapat berupa salah satu objek berikut:
- Target yang dilacak
- XR Origin
- Kamera
Mode pusat menentukan objek mana yang dipilih session sebagai objek pusat, serta apakah objek tersebut dapat bergerak bebas. Objek di luar ini (termasuk kamera non-pusat, XR Origin, dan target) dikendalikan oleh session untuk bergerak relatif terhadap objek pusat.
Dalam Unity, session mendukung empat mode pusat berikut:
| Nama | Diagram | Deskripsi |
|---|---|---|
| FirstTarget SpecificTarget |
![]() |
Menggunakan target sebagai pusat, target ini dapat dipindahkan secara bebas. Di antaranya,
|
| SessionOrigin | ![]() |
Menggunakan XR Origin sebagai pusat, XR Origin dapat dipindahkan secara bebas. Camera dan target dalam session dikendalikan oleh session, bergerak relatif terhadap XR Origin pusat. |
| Camera | ![]() |
Menggunakan camera sebagai pusat, camera dapat dipindahkan secara bebas. XR Origin dan target dalam session dikendalikan oleh session, bergerak relatif terhadap camera pusat. |
Diagram menunjukkan tiga objek: bola biru mewakili XR Origin, kerucut biru mewakili camera, gambar kuning mewakili target. Dalam mode pusat yang berbeda, session memilih objek berbeda sebagai pusat, diagram menunjukkan sistem koordinat lokal objek terkait.
Kiat
Jika Anda memiliki pengalaman menggunakan AR Foundation, Anda mungkin menyadari bahwa konsep serupa tidak ada di AR Foundation. Sebenarnya, perilaku AR Foundation konsisten dengan mode pusat SessionOrigin.
Dalam session, hubungan gerak relatif antara target dan camera dikendalikan oleh session saat ini. Hubungan gerak relatif antara XR Origin dan camera dikendalikan oleh session saat ini atau framework pihak ketiga (seperti AR Foundation). Keberadaan mode pusat memastikan session dapat mengontrol perilaku gerak objek dalam adegan dengan benar di berbagai lingkungan operasi.
Misalnya, jika AR Foundation atau SDK headset berbasis Unity XR mengontrol hubungan gerak relatif antara XR Origin dan camera, XR Origin sebagai desain framework Unity XR dapat dipindahkan oleh session, sedangkan camera tidak bisa. Dalam kasus ini, session akan membatasi mode pusat menjadi FirstTarget, SpecificTarget, atau SessionOrigin, sehingga bagi session, pusatnya adalah XR Origin atau target tertentu, sedangkan bagi framework Unity XR, pusatnya tetap XR Origin, dan seluruh sistem dapat bekerja dengan sempurna.
Peringatan
Dalam Unity AR, objek apa pun yang ada dalam sistem koordinat dunia Unity dan tidak menyesuaikan transform berdasarkan komponen session mungkin tidak ditampilkan dengan benar. Karena session akan menyesuaikan posisi dan orientasi objek lain dalam adegan berdasarkan posisi dan orientasi objek pusat, jika ada objek yang tidak dikendalikan oleh session, posisi dan orientasinya mungkin tidak konsisten dengan yang dihitung session, menyebabkan perilaku tak terduga.
Misalnya, jika model panda ditempatkan dalam sistem koordinat dunia, posisi dan orientasi model panda ini mungkin tidak sesuai dengan objek apa pun di dunia nyata, terlihat mengambang atau bergerak acak.
Cara yang benar adalah selalu menempatkan konten yang akan ditampilkan di bawah node target tertentu, atau di bawah node XR Origin (jika konten perlu mengikuti gerakan XR Origin). Dengan demikian, posisi dan orientasi konten akan disesuaikan berdasarkan hasil perhitungan session, memastikan konten dapat ditumpangkan dengan benar di dunia nyata.
Menyelaraskan posisi dan orientasi konten dengan target atau XR Origin secara manual dimungkinkan, tetapi harus dilakukan pada waktu yang tepat, lihat Memilih mode pusat yang sesuai.
Mode pusat yang tersedia
Tidak semua mode pusat valid dalam setiap situasi. Session menentukan mode pusat mana yang valid berdasarkan lingkungan operasi saat ini dan frame source yang dipilih, untuk memastikan dapat mengontrol perilaku gerak objek dalam adegan dengan benar. Properti ARSession.AvailableCenterMode dapat digunakan untuk mendapatkan daftar mode pusat valid session saat ini.
Bergantung pada frame source yang dipilih, mode pusat valid session memiliki beberapa situasi berbeda:
| frame source | Camera dikendalikan | Memiliki data gerak | Memiliki desain origin | Mode pusat valid |
|---|---|---|---|---|
|
Ya | Tidak | - |
|
|
Ya | Ya | Ya |
camera bukannode turunan XR Origin |
|
Tidak | Ya | Ya |
|
|
Tidak | Ya | Tidak |
|
Kecuali saat menggunakan FramePlayer, mode pusat valid ditentukan saat session dirakit. Saat menggunakan FramePlayer, mode pusat valid ditentukan secara dinamis setiap frame berdasarkan ada tidaknya informasi gerak dalam data.
Karakteristik mode pusat yang berbeda
Selanjutnya, kami akan menunjukkan perilaku pergerakan objek dalam berbagai mode pusat melalui serangkaian video contoh.
Konten video sebagai berikut:
Di dunia nyata, terdapat dua objek yang dapat dilacak dengan tipe berbeda:
- Satu adalah pohon Natal, yang diam tidak bergerak. Dilacak melalui fungsi peta spasial renggang.
- Yang lainnya adalah kertas A4, dengan gambar yang dicetak sebelumnya di atasnya, yang dapat dipindahkan. Dilacak melalui fungsi pelacakan gambar.
Saat merekam video, pengamat (ponsel) mulai dari belakang kanan pohon Natal dan bergerak mengelilinginya. Kertas A4 diayunkan ke kiri dan kanan di depan pengamat.
Untuk memudahkan pengamatan, kami menambahkan beberapa penanda ke objek berbeda dalam adegan:
- Pohon Natal: Saat dalam status terlacak, ditumpangi titik-titik awan biru terang di ruang yang ditempatinya. Penanda ini menghilang saat pelacakan hilang.
- Kertas A4: Saat dalam status terlacak, ditumpangi panda tepat di atasnya. Tampilan
Gamejuga menampilkan gambar tambahan dengan konten dan ukuran yang sama persis dengan kertas A4. Penanda ini menghilang saat pelacakan hilang.- XR Origin: bola biru ditempatkan pada posisinya
- Kamera: kerucut biru ditempatkan pada posisinya, dengan sumbu utama searah dengan arah pandang kamera.
Video-video ini direkam menggunakan data simulasi, dalam mode Play editor Unity. Tampilan kiri adalah tampilan Scene, kanan adalah tampilan Game. Konten tampilan Game sama dengan yang dilihat pengguna di dunia nyata melalui ponsel.
Mode pusat FirstTarget dan SpecificTarget
FirstTarget dan SpecificTarget mode pusat adalah mode di mana objek target tertentu dijadikan sebagai pusat. Dalam kedua mode ini, selain target pusat, kamera dan XR Origin dalam sesi, serta target lainnya, dikendalikan oleh sesi dan bergerak relatif terhadap target pusat sebagai titik referensi.
Beberapa target dapat bergerak di dunia nyata, seperti kertas A4 dalam video.
Dalam video di atas, objek pusat adalah kertas A4 yang dilacak melalui fungsi pelacakan gambar. Dapat dilihat bahwa tanpa operasi eksternal, kertas A4 (panda) diam, sedangkan kamera (kerucut biru), XR Origin (bola biru), dan pohon Natal (titik-titik biru terang) semuanya bergerak.
Beberapa target diam di dunia nyata, seperti pohon Natal dalam video.
Dalam video di atas, objek pusat adalah pohon Natal yang dilacak melalui fungsi peta spasial jarang. Dapat dilihat bahwa tanpa operasi eksternal, pohon Natal (titik-titik biru terang) diam, sedangkan kamera (kerucut biru) dan kertas A4 (panda) bergerak. XR Origin (bola biru) juga tidak bergerak, tetapi karena relatif diam terhadap pohon Natal.
Dalam kedua mode ini, target pusat sebagai titik referensi dapat bergerak bebas. Saat ini terjadi, kamera dan XR Origin dalam sesi serta target lainnya akan ikut bergerak; transform mereka tidak dapat dikendalikan secara eksternal.
Dalam video di atas, objek pusat adalah kertas A4 yang dilacak melalui fungsi pelacakan gambar. Dapat dilihat bahwa karena kita memindahkan kertas A4 (panda) secara manual, kamera (kerucut biru), XR Origin (bola biru), dan pohon Natal (titik-titik biru terang) semuanya ikut bergerak. Perlu diperhatikan bahwa pada saat ini, konten yang ditampilkan di
Gameview tidak berubah, karena posisi dan orientasi kamera relatif terhadap kertas A4 dan objek lainnya tidak berubah.
Perbedaan antara mode FirstTarget dan SpecificTarget terletak pada kemungkinan perubahan target pusat selama proses berjalan, tetapi cara pemilihan pusat saat perubahan terjadi berbeda. Untuk menjelaskan ini, kita perlu mempertimbangkan proses pelacakan yang berhasil dan yang hilang.
Saat objek pusat sesi berubah, ARSession.CenterObject akan selalu mencerminkan objek pusat saat ini, tetapi ARSession.CenterMode tidak akan berubah.
Perubahan pusat dalam mode FirstTarget
Dalam mode pusat FirstTarget, sesi selalu berpusat pada target pertama yang dilacak. Jika target ini kehilangan pelacakan, sesi akan memilih pusat baru. Ketika sesi melacak atau baru melacak target lain, target lain itu akan dipilih sebagai objek pusat baru.
Pemilihan ulang pusat terjadi dalam situasi berikut:
Tidak ada
targetyang dalam status pelacakan di frame saat ini
Saat ini, jika mode SessionOrigin valid, sesi akan merosot ke mode SessionOrigin dan memilihXR Originsebagai objek pusat; jika tidak, sesi akan merosot ke mode Camera dan memilihcamerasebagai objek pusat.Ada
targetdalam status pelacakan di frame saat ini, dan tidak adatargetyang dalam status pelacakan di frame sebelumnya
Saat ini, sesi akan memilih salah satutargetyang dilacak sebagai objek pusat.Ada
targetdalam status pelacakan di frame saat ini, dantargetpusat di frame sebelumnya kehilangan pelacakan di frame saat ini
Saat ini, sesi akan memilih salah satutargetyang dilacak sebagai objek pusat baru.
Dalam video di atas, objek pusat awalnya adalah kertas A4 yang dilacak melalui fitur image tracking. Dapat dilihat bahwa ketika kertas A4 (panda) kehilangan pelacakan, sesi memilih ulang objek pusat. Saat itu, pohon Natal (titik awan biru terang) menjadi objek pusat baru. Di akhir video, kertas A4 dilacak kembali, tetapi tidak menjadi objek pusat karena pohon Natal sudah menjadi objek pusat.
Perubahan pusat mode specifictarget
Dalam mode pusat SpecificTarget, sesi selalu berpusat pada target yang ditentukan. Jika target ini kehilangan pelacakan, sesi akan memilih ulang pusat, tetapi tidak akan memilih target lain sebagai objek pusat baru. Ketika sesi melacak kembali target yang ditentukan ini, itu masih akan dipilih sebagai objek pusat.
Pemilihan ulang pusat terjadi dalam situasi berikut:
targetyang ditentukan tidak dilacak di frame saat ini
Saat ini, jika mode SessionOrigin valid, sesi akan merosot ke mode SessionOrigin dan memilihXR Originsebagai objek pusat; jika tidak, sesi akan merosot ke mode Camera dan memilihcamerasebagai objek pusat.targetyang ditentukan dalam status pelacakan di frame saat ini, dantargetyang ditentukan tidak dilacak di frame sebelumnya
Saat ini, sesi akan memilihtargetyang ditentukan sebagai objek pusat.
Dalam video di atas, objek pusat ditetapkan sebagai kertas A4 yang dilacak melalui fitur image tracking. Dapat dilihat bahwa ketika kertas A4 (panda) kehilangan pelacakan, sesi tidak memilih
targetlain sebagai objek pusat baru. Saat itu, pohon Natal (titik awan biru terang) tidak menjadi objek pusat. Di akhir video, kertas A4 dilacak kembali dan kembali menjadi objek pusat.
Mode pusat sessionorigin
Mode pusat SessionOrigin adalah mode yang menggunakan XR Origin sebagai objek pusat. Dalam mode ini, camera dan target dalam sesi dikendalikan oleh sesi, bergerak dengan titik referensi XR Origin pusat.
Dalam video di atas, objek pusat adalah XR Origin. Dapat dilihat bahwa karena tidak ada operasi eksternal, XR Origin (bola biru) diam, sedangkan kamera (kerucut biru) dan kertas A4 (panda) bergerak. Pohon Natal (titik awan biru terang) juga tidak bergerak, tetapi ini karena relatif diam terhadap XR Origin.
Dalam mode ini, titik referensi pusat XR Origin dapat bergerak bebas. Saat ini, camera dan target dalam sesi akan ikut bergerak, dan transform mereka tidak dapat dikendalikan secara eksternal.
Dalam video di atas, objek pusat adalah XR Origin. Dapat dilihat bahwa karena kita memindahkan XR Origin (bola biru) secara manual, kamera (kerucut biru), pohon Natal (titik awan biru terang), dan kertas A4 (panda) ikut bergerak. Perlu diperhatikan bahwa konten yang ditampilkan di tampilan
Gametidak berubah, karena posisi dan orientasi kamera relatif terhadap XR Origin dan objek lain tidak berubah.
Dalam mode SessionOrigin, XR Origin harus valid, sehingga objek pusat tidak berubah dalam mode ini.
Mode pusat camera
Mode pusat camera adalah mode yang menggunakan camera sebagai objek pusat. Dalam mode ini, XR Origin dan target dalam sesi dikendalikan oleh sesi, bergerak dengan titik referensi camera pusat.
Dalam video di atas, objek pusat adalah kamera. Dapat dilihat bahwa karena tidak ada operasi eksternal, kamera (kerucut biru) diam, sedangkan XR Origin (bola biru), pohon Natal (titik awan biru terang), dan kertas A4 (panda) bergerak.
Dalam mode ini, titik referensi pusat camera dapat bergerak bebas. Saat ini, XR Origin dan target dalam sesi akan ikut bergerak, dan transform mereka tidak dapat dikendalikan secara eksternal.
Dalam video di atas, objek pusat adalah kamera. Dapat dilihat bahwa karena kita memindahkan kamera (kerucut biru) secara manual, XR Origin (bola biru), pohon Natal (titik awan biru terang), dan kertas A4 (panda) ikut bergerak. Perlu diperhatikan bahwa konten yang ditampilkan di tampilan
Gametidak berubah, karena posisi dan orientasi kamera relatif terhadap XR Origin dan objek lain tidak berubah.
Dalam mode Camera, camera harus valid, sehingga objek pusat tidak berubah dalam mode ini.


