BUAT DUNIAMU
Pemain & Karakter: Lanjutan
Lapisan Tabrakan Kamera
8mnt
ikhtisar 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 mengatur kolisi kamera zepetoplayers 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 lapisan4 5 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 mengaturnya sebagai skrip saat runtime 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 cameracollisionmanager import { layermask } from 'unityengine'; import { spawninfo, zepetoplayers } from 'zepeto character controller' import { zepetoscriptbehaviour } from 'zepeto script' import { worldservice } from 'zepeto world'; export default class cameracollisionmanager extends zepetoscriptbehaviour { // deklarasikan anggota publik untuk menyimpan array nomor layer collision public collisionlayer number\[]; start() { // buat localplayer zepetoplayers instance createplayerwithuserid(worldservice userid, new spawninfo(), true); // tambahkan pendengar acara untuk saat pemain lokal ditambahkan ke scene zepetoplayers instance onaddedlocalplayer addlistener(() => { // atur layer collision kamera ke layer mask baru zepetoplayers instance zepetocamera collisionlayer = this setnewlayermask(); }); } // metode untuk membuat dan mengatur layermask baru berdasarkan layer collision private setnewlayermask() layermask { let layermaskvalue = 0; // iterasi melalui array layer collision dan perbarui nilai layer mask this collisionlayer foreach(layernumber => { layermaskvalue |= 1 << layernumber; }); // buat layermask baru dan atur nilainya ke nilai layer mask yang dihitung let newlayermask layermask = new layermask; newlayermask value = layermaskvalue; return newlayermask; } } 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 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