Lapisan Tabrakan Kamera
ZepetoCamera yang dibuat melalui ZepetoPlayers dapat mengontrol tabrakan fisik antara kamera dan objek permainan melalui pengaturan Tabrakan Kamera.
Tabrakan Kamera adalah ketika kamera bertabrakan dengan objek di dalam adegan.
Jika Tabrakan Kamera diatur, ketika kamera bertabrakan dengan objek, kamera tidak akan dapat bergerak di depan objek tersebut, menyebabkan kamera tetap di depan objek daripada menembusnya.
Mari kita lihat dua contoh berikut.
- Di layar sebelah kiri, Tabrakan Kamera tidak diatur, memungkinkan kamera bergerak bebas tanpa terpengaruh oleh objek di sekitar karakter atau lantai.
- Di sebelah kanan, Tabrakan Kamera diaktifkan, sehingga kamera tidak akan dapat menembus dinding dan lantai saat bergerak.
Dengan mengaktifkan Tabrakan Kamera, gerakan kamera dipengaruhi secara fisik, yang berarti bahwa lokasi yang tidak dapat dilihat pemain tidak dapat diterangi oleh kamera, yang memungkinkan penggambaran yang lebih realistis.

1) Anda dapat mengatur kolisi yang dideteksi kamera per Lapisan.
- Untuk mengatur atau menambahkan lapisan pengguna, tekan menu drop-down Lapisan di jendela Inspektor dan pilih Tambah Lapisan.
- Lapisan yang dapat ditambahkan pengguna dapat bernomor Lapisan3 dan Lapisan6 atau lebih tinggi. Lapisan0 ~ 2 dan Lapisan6 ~ 7 adalah lapisan default Unity.

2) Pilih objek yang ingin Anda terapkan penilaian kolisi kamera, dan kemudian pilih lapisan yang telah Anda atur.

3) Sekarang, di bagian Kamera ZepetoPlayers, Anda dapat memilih lapisan yang ingin Anda daftarkan sebagai tabrakan dengan menekan tombol drop-down untuk Tabrakan. Periksa lapisan yang telah Anda tambahkan.

4) Sekarang tekan tombol Putar untuk menjalankan runtime dan Anda akan melihat bahwa Kamera Zepeto bergerak melalui lantai dan dinding tanpa menembusnya.

- Anda dapat menentukan Collision Kamera secara dinamis saat runtime.
- di bawah ini adalah skrip untuk mengatur nomor collisionLayer yang terdaftar sebagai variabel publik sebagai layer mask saat runtime.
- Kuncinya adalah untuk menentukan layer mask yang akan dipilih di ZepetoPlayers.instance.cameraData.layer.
3. Deskripsi skrip
- Untuk menulis skrip lapisan dan menerapkannya pada kamera, kita perlu menggunakan LayerMask.
- LayerMask akan memiliki nilai yang dimasukkan melalui operasi bitwise.
- LayerMask diwakili sebagai nilai integer, di mana setiap bit menunjukkan apakah lapisan termasuk atau tidak.
- Sebagai contoh, jika LayerMask memiliki nilai 5 (00000101 dalam biner), kita dapat mengatakan bahwa lapisan 0 dan lapisan 2 termasuk.
- layerMaskValue |=: Operasi bitwise ini menggabungkan layerMaskValue yang ada dan nilai yang baru dihitung dalam operasi OR.
- Jika layerMaskValue yang ada adalah 00000001 dalam biner, dan nilai yang baru dihitung adalah 00000100, ORing kedua nilai tersebut akan menghasilkan 00000101 dalam biner.
- Ini memastikan bahwa baik lapisan 0 maupun lapisan 2 termasuk dalam LayerMask.
📘 Layer Mask Unity https://docs.unity3d.com/2020.3/Documentation/ScriptReference/LayerMask.html
- Dalam kasus EnhancedCamera, lapisan Pemain tidak diatur ke lapisan tabrakan kamera untuk mencegah kamera berinteraksi dengan karakter.