• Tidak ada hasil yang ditemukan

KAMERA

Dalam dokumen Membuat Video Game Dengan 3D Unity (Halaman 127-131)

MENAMBAHKAN MUSUH DAN MENGEMBANGKAN GRAFIS GAME 3D

4.3 KAMERA

Menambahkan Cookie ke Spotlight

Latihan ini memerlukan gambar biohazard.png, tersedia di aset buku untuk Jam 5. Ikuti langkah-langkah ini untuk menambahkan cookie ke sorotan sehingga Anda dapat melihat proses dari awal hingga akhir:

1. Buat a proyek atau scene baru. Hapus cahaya arah dari scene.

2. Tambahkan bidang ke scene dan posisikan di (0, 1, 0) dengan rotasi (270, 0, 0).

3. Tambahkan sorotan ke Kamera Utama dengan memilih Kamera Utama lalu klik Komponen > Rendering > Cahaya dan ubah jenisnya menjadi Spot. Atur rentang ke 18, sudut titik ke 40, dan intensitas ke 3.

4. Drag tekstur biohazard.png dari aset buku ke tampilan Proyek Anda. Pilih tekstur, dan dalam tampilan Inspector, ubah tipe tekstur ke Cookie, atur jenis cahaya ke Spotlight, dan atur sumber alfa ke From Grayscale. Ini membuat blok cookies menjadi terang di tempat yang hitam.

5. Dengan Kamera Utama dipilih, klik dan drag tekstur biohazard ke properti Cookie dari komponen cahaya. Anda akan melihat simbol biohazard diproyeksikan ke pesawat (lihat Gambar 4.5).

6. Bereksperimenlah dengan rentang dan intensitas cahaya yang berbeda. rotate bidang dan lihat bagaimana simbol melengkung dan terdistorsi.

Gambar 4.5 Spotlight dengan Cookies

baru. Kamera selalu muncul dalam hierarki sebagai Kamera Utama. Di bagian ini, Anda akan mempelajari semua tentang kamera dan cara menggunakannya untuk efek yang menarik.

Anatomi Kamera Semua kamera memiliki seperangkat properti yang sama yang menentukan bagaimana mereka berperilaku. Tabel 5.2 menjelaskan semua properti kamera.

Tabel 4.2 Properti Kamera Properti Deskripsi

Clear Flags Menentukan apa yang ditampilkan kamera di area di mana tidak ada objek game. Standarnya adalah Skybox. Jika tidak ada skybox, default kamera adalah warna solid. Hanya Kedalaman harus digunakan hanya jika ada beberapa kamera. Jangan Hapus menyebabkan goresan dan hanya boleh digunakan jika Anda menulis shader khusus.

Backgrounf Menentukan warna latar belakang jika tidak ada skybox.

Culling Mask Menentukan layer apa yang diambil oleh kamera. Secara default, kamera melihat semuanya. Anda dapat menghapus centang pada layer tertentu (lebih lanjut tentang layer nanti dalam jam ini), dan layer tersebut tidak akan terlihat oleh kamera.

Projection Menentukan bagaimana kamera melihat dunia. Dua opsi tersebut adalah Perspektif dan Ortografi. Kamera perspektif melihat dunia dalam 3D, dengan objek yang lebih dekat menjadi lebih besar dan objek yang lebih jauh menjadi lebih kecil. Ini adalah pengaturan untuk digunakan jika Anda ingin kedalaman dalam permainan Anda.

Pengaturan Ortografis mengabaikan kedalaman dan memperlakukan semuanya sebagai datar.

Field of View Menentukan seberapa lebar area yang dapat dilihat kamera.

Clipping Planes Menentukan rentang di mana objek terlihat oleh kamera. Objek yang lebih dekat dari bidang dekat atau lebih jauh dari bidang jauh tidak akan terlihat.

View Port Recat Menetapkan bagian mana dari layar sebenarnya yang diproyeksikan oleh kamera. (View Port Rect adalah kependekan dari View Port Rectangle.) Secara default, x dan y keduanya diatur ke 0, yang menyebabkan kamera mulai di kiri bawah layar. Lebar dan tinggi keduanya disetel ke 1, yang menyebabkan kamera menutupi 100%

layar secara vertikal dan horizontal. Ini dibahas lebih rinci nanti di jam ini.

Depth Menentukan prioritas untuk beberapa kamera. Angka yang lebih rendah ditarik terlebih dahulu, yang berarti angka yang lebih tinggi dapat ditarik di atas dan dapat menyembunyikannya secara efektif.

Redering Path Menentukan bagaimana kamera merender. Itu harus dibiarkan diatur ke Gunakan Pengaturan Player

Target Texture Memungkinkan Anda menentukan tekstur untuk menggambar kamera alih-alih layar.

Occlusion Culling Menonaktifkan rendering objek saat objek tersebut tidak terlihat oleh kamera karena objek tersebut dikaburkan (ditutupi) oleh objek lain.

Allow HDR Menentukan apakah penghitungan cahaya internal Unity terbatas pada rentang warna dasar. (HDR adalah singkatan dari Hyper-

Dynamic Range.) Properti ini memungkinkan efek visual tingkat lanjut.

Allow MSAA Mengaktifkan jenis antialiasing dasar, namun efisien, yang disebut antialiasing MultiSample. Antialiasing adalah metode menghilangkan tepi berpiksel saat merender grafik.

Allow Dynamic Resolution

Memungkinkan penyesuaian resolusi dinamis untuk game konsol.

Kamera memiliki banyak properti, tetapi Anda dapat mengatur sebagian besar dan kemudian melupakannya. Kamera juga memiliki beberapa komponen tambahan. Layer suar memungkinkan kamera untuk melihat suar lensa dari lampu, dan pendengar audio memungkinkan kamera untuk menangkap suara. Jika Anda menambahkan lebih banyak kamera ke sebuah scene, Anda harus menghapus pendengar audionya. Hanya ada satu pendengar audio per scene.

Beberapa Kamera

Banyak efek dalam game modern tidak akan mungkin terjadi tanpa banyak kamera.

Untungnya, Anda dapat memiliki kamera sebanyak yang Anda inginkan dalam scene Unity.

Untuk menambahkan kamera baru ke scene, pilih GameObject > Kamera. Atau, Anda dapat menambahkan komponen kamera ke objek game yang sudah ada di scene Anda. Untuk melakukannya, pilih objek dan klik Add Component di Inspector. Pilih Rendering > Camera untuk menambahkan komponen kamera. Ingatlah bahwa menambahkan komponen kamera ke objek yang ada tidak secara otomatis memberi Anda layer suar atau komponen pendengar audio.

Beberapa Pendengar Audio

Seperti disebutkan sebelumnya, sebuah scene hanya dapat memiliki satu pendengar audio. Dalam versi Unity yang lebih lama, memiliki dua atau lebih pendengar akan menyebabkan kesalahan dan mencegah scene berjalan. Sekarang, jika Anda memiliki banyak pendengar, Anda hanya melihat pesan peringatan, meskipun audio mungkin tidak terdengar dengan benar. Topik ini dibahas secara rinci di Jam 21, “Audio.”

Bekerja dengan Banyak Kamera

Cara terbaik untuk memahami bagaimana banyak kamera berinteraksi adalah dengan berlatih menggunakannya. Latihan ini berfokus pada manipulasi kamera dasar:

1. Buat proyek atau scene baru dan tambahkan dua kubus. Letakkan kubus di (-2, 1, -5) dan (2, 1, -5).

2. Pindahkan Kamera Utama ke (-3, 1, -8) dan ubah rotasinya ke (0, 45, 0).

3. Tambahkan kamera baru ke scene (dengan memilih GameObject > Camera) dan posisikan di (3, 1, -8). Ubah rotasinya menjadi (0, 315, 0). Pastikan untuk menonaktifkan pendengar audio untuk kamera dengan menghapus centang pada kotak di sebelah komponen. 4. Jalankan scene. Perhatikan bahwa kamera kedua adalah satu-satunya yang ditampilkan. Ini karena kamera kedua memiliki kedalaman yang lebih tinggi daripada Kamera Utama. Kamera Utama digambar ke layar terlebih dahulu, lalu kamera kedua digambar di atasnya. Ubah kedalaman kamera utama menjadi 1 lalu jalankan scene lagi. Perhatikan bahwa Kamera Utama sekarang satu- satunya yang terlihat.

Split-Screen dan Picture-in-Picture

Seperti yang Anda lihat di awal jam ini, memiliki beberapa kamera dalam satu scene tidak banyak berguna jika salah satunya hanya menarik yang lain. Di bagian ini, Anda akan

belajar menggunakan properti Normalized View Port Rect untuk mencapai efek layar terpisah dan gambar-dalam-gambar. Port tampilan yang dinormalisasi pada dasarnya memperlakukan layar sebagai persegi panjang sederhana. Sudut kiri bawah persegi panjang adalah (0, 0), dan sudut kanan atas adalah (1, 1). Ini tidak berarti bahwa layar harus berbentuk persegi yang sempurna. Sebaliknya, pikirkan koordinat sebagai persentase dari ukuran. Jadi, koordinat 1 berarti 100%, dan koordinat 0,5 berarti 50%. Mengetahui hal ini, menempatkan kamera di layar menjadi mudah. Secara default, kamera memproyeksikan dari (0, 0) dengan lebar dan tinggi 1 (atau 100%). Ini menyebabkan mereka mengambil seluruh layar. Namun, jika Anda mengubah angka-angka itu, Anda akan mendapatkan efek yang berbeda.

Membuat Sistem Kamera Layar Terpisah

Latihan ini membahas pembuatan sistem kamera split-cell. Jenis sistem ini umum dalam permainan dua player di mana para player harus berbagi layar yang sama. Latihan ini dibangun di atas Coba Sendiri sebelumnya untuk beberapa kamera di awal jam ini. Ikuti langkah-langkah berikut ini:

1. Buka project yang telah Anda buat sebelumnya

2. Pastikan Kamera Utama memiliki kedalaman -1. Pastikan bahwa properti X dan Y dari properti View Port Rect kamera keduanya 0. Atur properti W dan H masing-masing ke 1 dan .5 (yaitu, 100% lebar dan 50% tinggi).

3. Pastikan kamera kedua juga memiliki kedalaman -1. Atur properti X dan Y dari port tampilan ke (0, .5). Ini menyebabkan kamera mulai menggambar di tengah layar. Atur properti W dan H masing-masing menjadi 1 dan .5.

4. Jalankan scene dan perhatikan bahwa kedua kamera sekarang memproyeksikan pada layar secara bersamaan (lihat Gambar 4.6). Anda dapat membagi layar seperti ini sebanyak yang Anda inginkan.

Gambar 4.6 Efek split-cell.

Membuat Efek Gambar-dalam-Gambar Gambar-dalam-gambar biasanya digunakan untuk membuat efek seperti peta mini. Dengan efek ini, satu kamera menarik kamera lainnya di area tertentu. Latihan ini dibangun di atas Coba Sendiri sebelumnya untuk beberapa kamera di awal jam ini:

1. Buka proyek yang Anda buat di "Bekerja dengan Banyak Kamera"

2. Pastikan Kamera Utama memiliki kedalaman -1. Pastikan properti X dan Y dari properti Normalized View Port Rect kamera keduanya 0 dan properti W dan H keduanya 1.

3. Pastikan kedalaman kamera kedua adalah 0. Atur properti X dan Y dari port tampilan ke (.75, .75) dan atur nilai W dan H ke .2.

4. Jalankan scene. Perhatikan bahwa kamera kedua muncul di sudut kanan atas layar (lihat Gambar 4.7). Bereksperimenlah dengan pengaturan port tampilan yang berbeda untuk membuat kamera muncul di sudut yang berbeda.

Gambar 4.7 Efek gambar-dalam-gambar.

Dalam dokumen Membuat Video Game Dengan 3D Unity (Halaman 127-131)