Mengapa Cermin Sulit Dibuat dalam Game?

Cermin terlihat seperti benda sederhana dalam kehidupan sehari-hari. Namun, ketika developer memasukkan cermin ke dalam game, prosesnya dapat menjadi jauh lebih rumit.

Game harus menentukan apa yang terlihat melalui pantulan. Karakter pemain, ruangan, benda, cahaya, bayangan, hingga efek tertentu mungkin perlu muncul di permukaan cermin.

Masalahnya, komputer sudah bekerja untuk menghasilkan gambar utama yang pemain lihat. Jika game juga harus membuat refleksi dalam cermin, sistem dapat membutuhkan proses tambahan.

Karena itu, developer menggunakan berbagai trik agar cermin tetap terlihat meyakinkan tanpa terlalu membebani perangkat.

Cermin Perlu Menampilkan Lingkungan

Ketika pemain berdiri di depan cermin, mereka berharap dapat melihat lingkungan di belakang karakter.

Artinya, cermin tidak cukup hanya memiliki permukaan mengkilap.

Game perlu menghasilkan gambaran ruangan dari sudut rajazeus yang sesuai dengan posisi cermin. Ketika pemain bergerak, pantulan juga harus ikut berubah.

Semakin banyak benda dalam ruangan, semakin banyak informasi yang perlu sistem tangani.

Game Bisa Membutuhkan Kamera Tambahan

Salah satu cara membuat cermin adalah menggunakan kamera virtual tambahan.

Kamera utama menghasilkan gambar yang pemain lihat. Kemudian, kamera lain mengambil gambar lingkungan dari sudut yang diperlukan untuk membuat pantulan.

Game selanjutnya menampilkan hasil tersebut pada permukaan cermin.

Cara ini dapat memberikan pantulan yang cukup meyakinkan. Namun, perangkat pada dasarnya harus melakukan pekerjaan rendering tambahan.

Karakter Pemain Menjadi Tantangan

Cermin terasa aneh jika karakter pemain tidak muncul di dalamnya.

Karena itu, game perlu menampilkan model karakter dari sudut yang sesuai.

Masalahnya menjadi lebih rumit pada game dengan sudut pandang orang pertama. Beberapa game tidak selalu menggunakan model tubuh lengkap yang sama seperti yang pemain bayangkan.

Developer kemudian harus memastikan tubuh, pakaian, senjata, dan animasi tetap terlihat benar ketika muncul dalam refleksi.

Cahaya dan Bayangan Harus Terlihat Sesuai

Refleksi tidak hanya menampilkan bentuk objek.

Pencahayaan ikut menentukan apakah cermin terlihat meyakinkan.

Jika ruangan memiliki lampu merah, misalnya, pantulan seharusnya memperlihatkan pengaruh cahaya tersebut. Bayangan juga perlu terlihat sesuai dengan kondisi lingkungan.

Semakin akurat developer ingin membuat refleksi, semakin rumit proses yang harus game lakukan.

Tidak Semua Objek Muncul dalam Pantulan

Untuk menjaga performa, developer dapat memilih objek yang perlu muncul di cermin.

Karakter dan benda besar mungkin tetap terlihat, sedangkan dekorasi kecil, partikel, atau efek tertentu dapat mereka hilangkan.

Pemain mungkin tidak langsung menyadari perbedaan tersebut.

Dengan mengurangi objek yang muncul, game dapat membuat refleksi lebih ringan untuk diproses.

Resolusi Cermin Bisa Lebih Rendah

Developer juga dapat mengurangi kualitas gambar pada permukaan cermin.

Misalnya, game utama berjalan pada resolusi tinggi, tetapi pantulan menggunakan resolusi yang lebih rendah.

Karena pemain melihat refleksi melalui permukaan yang relatif kecil, penurunan kualitas tersebut terkadang tidak terlalu terlihat.

Teknik ini membantu mengurangi beban rendering.

Refleksi Bisa Menggunakan Trik Visual

Tidak semua cermin dalam game menghasilkan pantulan secara langsung.

Developer dapat menggunakan berbagai trik.

Beberapa game menggunakan gambar lingkungan yang sudah disiapkan. Game lain menggunakan teknik refleksi yang memperkirakan informasi berdasarkan gambar yang sudah tersedia di layar.

Cara tersebut biasanya lebih ringan daripada membuat ulang seluruh pemandangan.

Namun, hasilnya memiliki keterbatasan. Objek tertentu dapat menghilang atau pantulan terlihat kurang tepat dari sudut tertentu.

Cermin Besar Lebih Mudah Memperlihatkan Kekurangan

Semakin besar ukuran cermin, semakin mudah pemain memperhatikan kesalahan.

Cermin kecil di kamar mandi mungkin hanya menampilkan sebagian karakter dan ruangan.

Sebaliknya, dinding kaca besar dapat memperlihatkan hampir seluruh lingkungan.

Developer perlu mempertahankan kualitas refleksi pada area yang lebih luas. Karena itu, permukaan reflektif besar dapat menjadi tantangan yang lebih berat.

Banyak Cermin Bisa Menambah Beban

Satu cermin saja dapat membutuhkan proses tambahan.

Bayangkan sebuah ruangan memiliki banyak cermin yang saling berhadapan.

Satu cermin dapat memperlihatkan cermin lainnya. Secara teori, pantulan dapat terus muncul berulang kali.

Developer biasanya membatasi kondisi seperti ini. Mereka dapat mengurangi jumlah pantulan atau menggunakan trik visual agar game tidak perlu menghitung refleksi tanpa batas.

Ray Tracing Bisa Membuat Refleksi Lebih Akurat

Teknologi ray tracing dapat menghasilkan refleksi yang lebih akurat dengan mengikuti perjalanan cahaya secara lebih realistis.

Cermin dapat menampilkan objek yang tidak terlihat langsung oleh kamera utama.

Namun, kualitas tersebut membutuhkan kemampuan komputasi yang cukup besar.

Developer sering menyediakan beberapa tingkat kualitas refleksi agar pemain dapat menyesuaikannya dengan kemampuan perangkat.

Developer Harus Menjaga Keseimbangan

Cermin yang sangat realistis memang terlihat menarik, tetapi pemain biasanya hanya melihatnya selama beberapa saat.

Developer harus mempertimbangkan apakah penggunaan sumber daya yang besar sebanding dengan manfaat visualnya.

Karena itu, beberapa game sengaja membuat cermin buram, rusak, kotor, atau tidak terlalu reflektif.

Pilihan tersebut tidak selalu muncul karena developer tidak mampu membuat cermin. Terkadang, mereka memang memilih solusi yang lebih sesuai dengan kebutuhan performa dan desain game.

Penutup

Cermin sulit dibuat dalam game karena game harus menghasilkan pantulan yang mengikuti posisi pemain, karakter, lingkungan, cahaya, dan berbagai objek di sekitarnya.

Refleksi yang akurat dapat membutuhkan proses rendering tambahan. Karena itu, developer menggunakan berbagai teknik seperti kamera virtual, resolusi refleksi yang lebih rendah, pembatasan objek, hingga ray tracing.

Tujuan akhirnya bukan sekadar membuat cermin terlihat nyata. Developer perlu menemukan keseimbangan antara kualitas refleksi dan performa agar sebuah cermin tidak memberikan beban yang terlalu besar pada keseluruhan game.