Mendapatkan status target
Selama session berjalan, target akan mengalami perubahan status seperti tracking dan lost. Melalui konten berikut, Anda akan memahami cara mendapatkan dan menggunakan informasi status target, serta cara menggunakan event found dan lost untuk mengontrol tampilan content.
Sebelum mulai
- Pelajari konsep dasar, komposisi, dan workflow session melalui ARSession introduction.
- Pelajari konsep dasar, status, dan lifecycle target melalui Target.
Menentukan apakah target sedang dilacak
Anda dapat menggunakan property TargetController.IsTracked untuk menentukan apakah target sedang dilacak.
Menggunakan event found dan lost dari target
Anda dapat menggunakan event TargetController.TargetFound dan TargetController.TargetLost untuk menangani kondisi ketika target dilacak atau hilang.
Misalnya, kode berikut menunjukkan proses memutar video saat target dilacak, dan menjeda playback video saat target hilang:
target.TargetFound += () =>
{
if (player && player.gameObject.activeInHierarchy)
{
player.Play();
}
};
target.TargetLost += () =>
{
if (player && player.gameObject.activeInHierarchy)
{
player.Pause();
}
};
Hati-Hati
Jika target tidak di-unload secara manual, TargetController.TargetLost mungkin dipanggil saat session berhenti. Jika session tidak dihentikan secara manual, event ini mungkin dipanggil selama OnDestroy session. Karena urutan eksekusi OnDestroy Unity tidak dijamin, objek yang digunakan dalam event perlu diperiksa validitasnya untuk menghindari mengakses objek yang sudah dihancurkan selama OnDestroy.
Langkah berikutnya
- active control policy memperkenalkan default show dan hide policy untuk objek di bawah target, serta cara menyesuaikannya sesuai kebutuhan.