Strategi active control untuk target dan origin
Melalui konten berikut, Anda akan memahami strategi default untuk menampilkan dan menyembunyikan objek di bawah target dan origin, serta cara menyesuaikannya sesuai kebutuhan.
Sebelum memulai
- Baca Target untuk memahami konsep dasar, status, dan lifecycle target.
- Baca XR Origin untuk memahami konsep dasar, komposisi, dan lifecycle XR Origin.
Active control dan jenis strategi kontrol
Saat session berjalan, target dan origin akan mengalami perubahan status seperti tracking dan lost. Melalui strategi active control, perilaku tampil dan sembunyi objek di bawah target dan origin dapat dikelola secara otomatis.
Di Unity, komponen ActiveController bertanggung jawab mengelola secara otomatis status GameObject.activeSelf dari objek target dan orign, agar konten ditampilkan setelah target dilacak atau motion tracking mulai tracking, dan disembunyikan ketika target hilang atau sebelum motion tracking berhasil diinisialisasi.
ActiveController menyediakan dua strategi active control yang berbeda:
- ActiveWhileTracked: saat dilacak, GameObject akan diaktifkan (GameObject.activeSelf diatur ke
true); saat tracking hilang, GameObject akan dinonaktifkan (GameObject.activeSelf diatur kefalse). - ActiveAfterFirstTracked: sebelum tracking pertama, GameObject akan dinonaktifkan (GameObject.activeSelf diatur ke
false); setelah berhasil dilacak, GameObject akan terus aktif (GameObject.activeSelf diatur ketrue).
Secara default, TargetController menggunakan strategi ActiveWhileTracked, yang berarti ketika target dilacak, target dan konten di bawahnya diaktifkan, sedangkan ketika tracking hilang, target dan kontennya dinonaktifkan.
Secara default, XROriginChildController menggunakan strategi ActiveAfterFirstTracked, yang berarti sebelum motion tracking berhasil diinisialisasi, origin dan konten di bawahnya dinonaktifkan, dan setelah motion tracking berhasil diinisialisasi, origin dan konten di bawahnya akan terus aktif.
Memilih strategi active control yang berbeda
Buka panel Inspector, lalu pilih Input dari menu drop-down Strategy.

Kemudian pilih strategi active control yang diperlukan di sisi kanan untuk menimpa strategi default.

Dalam script, Anda dapat menimpa strategi active control default melalui properti OverrideStrategy.
Misalnya, kode berikut menunjukkan cara mengatur strategi active control target ke ActiveAfterFirstTracked:
target.ActiveController.OverrideStrategy = ActiveController.Strategy.ActiveAfterFirstTracked;
Perubahan pada strategi active akan langsung berlaku dan memperbarui GameObject.activeSelf berdasarkan status tracking saat ini.
Menonaktifkan active control
Jika perlu menonaktifkan active control sepenuhnya, misalnya ingin mengontrolnya sesuai kebutuhan, Anda dapat menonaktifkan active control dengan menonaktifkan komponen ActiveController.

Dalam script, Anda dapat menonaktifkan active control dengan mengatur properti ActiveController.enabled.
target.ActiveController.enabled = false;
Perubahan pada properti ActiveController.enabled langsung berlaku, dan GameObject.activeSelf tidak lagi diperbarui berdasarkan status tracking. Jika komponen ActiveController diaktifkan kembali, GameObject.activeSelf akan diperbarui berdasarkan status tracking saat ini.