Pemasangan session
Dalam proses berjalannya session, terkadang perlu memodifikasi komponen session, yang mengharuskan menghentikan lalu memulai ulang session. Terkadang mungkin juga perlu menghentikan beberapa output session. Artikel ini menjelaskan cara mengontrol alur berjalannya session.
Sebelum memulai
- Pahami konsep dasar, komposisi, dan alur kerja session melalui Pengantar ARSession
- Pelajari cara membuat session
Pemasangan session
Biasanya proses pemasangan akan dipicu secara otomatis saat memulai session.
Kode berikut akan menjalankan proses pemasangan secara implisit.
Session.StartSession();
Terkadang, misalnya untuk menentukan ketersediaan dan dukungan perangkat lebih awal, Anda juga dapat menggunakan Assemble() untuk memicu proses pemasangan session secara manual:
StartCoroutine(Session.Assemble());
Catatan
Assemble() mengembalikan sebuah coroutine, yang perlu dijalankan melalui StartCoroutine(IEnumerator).
Memulai session
AutoStart mengontrol apakah session dimulai secara otomatis. Jika AutoStart bernilai true (nilai default), session akan dimulai secara otomatis saat MonoBehaviour.Start().
Session juga dapat dimulai secara manual, yang memerlukan pengubahan AutoStart menjadi false terlebih dahulu. Kemudian Anda dapat menggunakan StartSession() untuk memulai session.
Session.StartSession();
Menghentikan session
Anda dapat menggunakan StopSession(bool) untuk menghentikan session.
Session.StopSession(keepLastFrame);
Parameter keepLastFrame dapat mengontrol apakah session akan mempertahankan gambar kamera fisik dari frame terakhir setelah dihentikan. Ini berguna saat perlu beralih antar session berbeda, untuk menghindari kedipan layar.
Catatan
keepLastFrame hanya berlaku untuk session yang rendering gambarnya dilakukan oleh EasyAR. Umumnya, parameter ini tidak berlaku saat menggunakan AR Foundation atau headset.
Menghentikan output session
Saat session berjalan, Anda dapat mengontrol output session melalui enabled.
Kode berikut dapat menghentikan semua output session. Saat ini, session masih berjalan tetapi tidak memperbarui konten apa pun (termasuk gambar kamera fisik yang dirender oleh EasyAR dan transform semua node yang dikontrol oleh EasyAR).
Session.enabled = false;
Menghentikan rendering gambar kamera fisik oleh session
Anda dapat menggunakan ARAssembly.CameraImageRenderer untuk mengontrol rendering gambar kamera fisik.
Kode berikut dapat menghentikan rendering gambar kamera fisik:
if (Session.Assembly != null && Session.Assembly.CameraImageRenderer.OnSome)
{
Session.Assembly.CameraImageRenderer.Value.enabled = false;
}
Perlu diperhatikan bahwa di sini perlu memeriksa keberadaan ARAssembly.CameraImageRenderer terlebih dahulu.
Catatan
ARAssembly.CameraImageRenderer hanya berlaku untuk session yang rendering gambarnya dilakukan oleh EasyAR. Umumnya, ini tidak berlaku saat menggunakan AR Foundation atau headset, karena rendering gambar kamera fisik dilakukan oleh AR Foundation atau SDK headset.
Langkah selanjutnya
- Cobalah mengakses komponen fungsionalitas AR untuk mempelajari lebih lanjut metode kontrol fitur AR
- Pelajari cara mendapatkan hasil operasi session
- Pelajari cara menentukan ketersediaan dan dukungan perangkat