Strategi kontrol aktif untuk target dan origin
Melalui konten berikut, Anda akan mempelajari strategi tampil dan sembunyi default objek di bawah target dan origin, serta cara menyesuaikannya sesuai kebutuhan.
Sebelum memulai
- Baca Target untuk memahami konsep dasar, status, dan siklus hidup target.
- Baca XR Origin untuk memahami konsep dasar, komposisi, dan siklus hidup XR Origin.
Kontrol aktif dan jenis strategi kontrol
Selama sesi berjalan, target dan origin akan mengalami perubahan status seperti pelacakan dan kehilangan. Melalui strategi kontrol aktif, perilaku tampil dan sembunyi objek di bawah target dan origin dapat dikelola secara otomatis.
Di Unity, komponen ActiveController bertanggung jawab untuk mengelola status GameObject.activeSelf objek target dan origin secara otomatis, sehingga konten ditampilkan setelah target dilacak atau pelacakan gerak mulai melacak, dan menyembunyikan konten sebelum target hilang atau pelacakan gerak berhasil diinisialisasi.
ActiveController menyediakan dua strategi kontrol aktif yang berbeda:
- ActiveWhileTracked: Saat dilacak, GameObject akan diaktifkan (GameObject.activeSelf disetel ke
true); saat pelacakan hilang, GameObject akan dinonaktifkan (GameObject.activeSelf disetel kefalse). - ActiveAfterFirstTracked: Sebelum pelacakan pertama, GameObject akan dinonaktifkan (GameObject.activeSelf disetel ke
false); begitu berhasil dilacak, GameObject akan terus diaktifkan (GameObject.activeSelf disetel ketrue).
Secara default, TargetController menggunakan strategi ActiveWhileTracked, yang berarti saat target dilacak, target dan konten di bawahnya akan diaktifkan, sedangkan saat pelacakan hilang, target dan kontennya akan dinonaktifkan.
Secara default, XROriginChildController menggunakan strategi ActiveAfterFirstTracked, yang berarti sebelum pelacakan gerak berhasil diinisialisasi, origin dan konten di bawahnya akan dinonaktifkan, sedangkan begitu pelacakan gerak berhasil diinisialisasi, origin dan konten di bawahnya akan terus diaktifkan.
Memilih strategi kontrol aktif yang berbeda
Buka panel Inspector, di menu dropdown Strategy pilih Input

Kemudian di sebelah kanan pilih strategi kontrol aktif yang diinginkan untuk menimpa strategi default.

Di skrip, strategi kontrol aktif default dapat ditimpa melalui properti OverrideStrategy.
Misalnya, kode berikut menunjukkan cara menyetel strategi kontrol aktif target ke ActiveAfterFirstTracked:
target.ActiveController.OverrideStrategy = ActiveController.Strategy.ActiveAfterFirstTracked;
Modifikasi pada strategi aktif akan segera berlaku, dan memperbarui GameObject.activeSelf berdasarkan status pelacakan saat ini.
Menonaktifkan kontrol aktif
Jika perlu menonaktifkan sepenuhnya kontrol aktif, misalnya karena perlu mengontrol sesuai kebutuhan, Anda dapat menutup kontrol aktif dengan menonaktifkan komponen ActiveController.

Di skrip, kontrol aktif dapat dimatikan dengan menyetel properti ActiveController.enabled.
target.ActiveController.enabled = false;
Modifikasi properti enabled akan segera berlaku, dan tidak akan lagi memperbarui GameObject.activeSelf berdasarkan status pelacakan. Jika Anda mengaktifkan kembali komponen ActiveController, GameObject.activeSelf akan diperbarui berdasarkan status pelacakan saat ini.