Table of Contents

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

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