Strategi kontrol active untuk target dan origin
Melalui konten berikut, Anda akan mempelajari 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 siklus hidup target.
- Baca XR Origin untuk memahami konsep dasar, komponen, dan siklus hidup XR Origin.
Jenis kontrol active dan strategi kontrol
Selama sesi berjalan, target dan origin akan mengalami perubahan status seperti pelacakan dan kehilangan. Melalui strategi kontrol active, perilaku tampilan dan penyembunyian objek di bawah target dan origin dapat dikelola secara otomatis.
Di Unity, komponen ActiveController bertanggung jawab untuk secara otomatis mengelola status GameObject.activeSelf objek target dan orign, 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 active 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); setelah 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, dan 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, dan setelah pelacakan gerak berhasil diinisialisasi, origin dan konten di bawahnya akan terus diaktifkan.
Memilih strategi kontrol active yang berbeda
Buka panel Inspector, di menu tarik-turun Strategy pilih Input

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

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

Dalam skrip, kontrol active dapat ditutup dengan menyetel properti ActiveController.enabled.
target.ActiveController.enabled = false;
Modifikasi properti ActiveController.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.