Menambahkan sekelompok frame data source
Sebuah AR Session dapat berisi beberapa komponen frame data source, yang disebut frame source group. Saat runtime, session akan memilih frame data source yang paling sesuai dari frame source group berdasarkan perangkat saat ini dan fungsi AR yang diaktifkan. Artikel ini menjelaskan cara menggunakan dan mengelola frame source group.
Sebelum memulai
- Pahami konsep dasar, tipe, dan metode pemilihan runtime dari frame source.
Menggunakan frame source group dari AR Session preset
Session yang dibuat dengan konfigurasi default sudah membawa sekelompok frame data source, dan biasanya sudah cukup saat menggunakan satu fungsi AR.
Frame data source yang disertakan dalam preset session yang berbeda juga berbeda.
Session yang dibuat dengan preset ARSessionFactory.ARSessionPreset.ImageTracking atau menu
AR Session (Image Tracking Preset)hanya memiliki satu frame data source:
Scene hierarchy dari session yang dibuat dengan preset ARSessionFactory.ARSessionPreset.MegaBlock_MotionTracking_Inertial atau menu
AR Session (Mega Block Default Preset)berisi beberapa komponen frame data source:
Jika pada awalnya scene menggunakan preset tertentu untuk membuat session, saat menambahkan fungsi lain selama iterasi, selain menambahkan komponen frame filter yang sesuai, Anda juga perlu menambahkan komponen frame data source yang sesuai bila diperlukan.
Penting
Setelah upgrade dari versi 4.7 atau lebih lama, Anda perlu menghapus seluruh session lalu membuat ulang session melalui menu atau ARSessionFactory agar dapat menggunakan frame source group preset.
Berikut mencantumkan komponen frame data source yang dikonfigurasi secara default untuk semua fitur AR preset. Perhatikan bahwa urutan dalam daftar sama dengan urutan komponen frame data source di scene:
| Preset | Grup frame data source |
|---|---|
Catatan
Urutan komponen yang dibuat oleh preset memastikan frame data source optimal digunakan pada semua perangkat yang didukung oleh built-in frame source.
Menggunakan konfigurasi default frame source
Saat menggunakan parameter default, konfigurasi frame source akan otomatis disesuaikan berdasarkan perangkat dan fungsi AR yang diaktifkan saat runtime.
Jika Anda pernah memodifikasi parameter frame source secara manual, ketika fungsi AR dalam session berubah (misalnya menambahkan motion tracking ke session yang semula hanya berisi image tracking), Anda mungkin perlu menyesuaikan parameter frame source secara manual agar memenuhi kebutuhan fungsi baru, sehingga semua fungsi AR dapat berjalan dengan hasil terbaik.
Penting
Setelah upgrade dari versi 4.7 atau lebih lama, Anda perlu menghapus seluruh session lalu membuat ulang session melalui menu atau ARSessionFactory agar dapat menggunakan parameter default yang benar.
Menambahkan frame source group
Di tampilan Hierarchy, pilih AR Session (EasyAR) lalu klik kanan. Gunakan menu EasyAR Sense > [ AR Feature ] > Frame Source : * untuk menambahkan komponen frame source yang sesuai untuk fungsi tersebut. Anda juga dapat menggunakan menu EasyAR Sense > Frame Source by Transform Type > * Dof > Frame Source : * untuk menambahkan komponen frame source yang diperlukan.
Dalam script, gunakan ARSessionFactory.AddFrameSource<Source>(GameObject, bool) untuk menambahkan komponen frame source.
Misalnya, menu EasyAR Sense > Frame Source by Transform Type > 3 Dof Rot-Only > Frame Source : Three Dof Camera Device dapat menambahkan ThreeDofCameraDeviceFrameSource ke session yang sedang dipilih.

Kode script yang sesuai adalah:
ARSessionFactory.AddFrameSource<ThreeDofCameraDeviceFrameSource>(session);
Pengurutan frame source
Selama proses assembly session, hanya satu frame data source dalam frame source group yang akhirnya akan dipilih dan dirakit ke dalam session. Aturan pemilihan bergantung pada nilai properti AssembleOptions.FrameSourceSelection. Dalam konfigurasi default, Anda dapat memengaruhi frame source yang akhirnya dipilih dengan menyesuaikan urutan setiap komponen dalam frame source group.
Biasanya Anda dapat langsung memindahkan object frame source untuk mengurutkannya dengan metode mengurutkan object dalam scene di tampilan Hierarchy.
Dalam script, gunakan Transform.SetSiblingIndex(int) untuk menyesuaikan urutan object.
Misalnya, untuk menempatkan MotionTrackerFrameSource sebelum frame source lain, pilih object Motion Tracker di tampilan Hierarchy lalu tarik ke posisi paling atas.
Efek yang sama juga dapat dicapai dengan kode script berikut:
motionTrackerFrameSource.transform.SetSiblingIndex(0);
Selain itu, tersedia beberapa metode pengurutan predefined. Di tampilan Hierarchy, pilih AR Session (EasyAR) lalu klik kanan. Gunakan menu EasyAR Sense > Utility > Sort Frame Source : * > * untuk mengurutkan beberapa komponen frame source tertentu.
Dalam script, gunakan ARSessionFactory.SortFrameSource(GameObject, ARSessionFactory.FrameSourceSortMethod) untuk mencapai efek yang sama.
Misalnya, menu EasyAR Sense > Utility > Sort Frame Source : Motion Tracker > System SLAM dapat menempatkan MotionTrackerFrameSource sebelum ARCoreFrameSource, ARCoreARFoundationFrameSource, ARKitFrameSource, ARKitARFoundationFrameSource dan AREngineFrameSource.

Kode script yang sesuai adalah:
ARSessionFactory.SortFrameSource(session, new ARSessionFactory.FrameSourceSortMethod { MotionTracker = ARSessionFactory.FrameSourceSortMethod.MotionTrackerSortMethod.PreferEasyAR });
Setelah pengurutan di atas, scene hierarchy menjadi:

Topik terkait
- Pelajari cara menambahkan dan mengonfigurasi frame source untuk headset
- Coba mendapatkan frame source yang sedang digunakan saat runtime
