Table of Contents

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:

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

alt text

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

alt text

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.

alt text

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.