BUAT DUNIAMU
Pemain & Karakter: Lanjutan

Lapisan Tabrakan Kamera

8min

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.

Document image




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 Lapisan6 ~ 7 adalah lapisan default Unity.
Document image




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

Document image




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.

Document image




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

Document image




Mengaturnya sebagai skrip saat runtime

  1. Anda dapat menentukan Collision Kamera secara dinamis saat runtime.
  2. 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


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.
  • Dalam kasus EnhancedCamera, lapisan Pemain tidak diatur ke lapisan tabrakan kamera untuk mencegah kamera berinteraksi dengan karakter.



Diperbarui 11 Oct 2024
Doc contributor
Apakah halaman ini membantu Anda?