Bagaimana Game Menghemat Detail Objek?

Dunia dalam sebuah game dapat berisi ribuan hingga sangat banyak objek. Pemain dapat melihat bangunan, pohon, kendaraan, batu, furnitur, karakter, dan berbagai benda kecil dalam satu perjalanan.

Namun, game tidak perlu menampilkan seluruh benda tersebut dengan kualitas maksimal setiap saat. Jika sistem mencoba memproses semuanya secara penuh, perangkat harus melakukan pekerjaan yang lebih berat.

Karena itu, developer menggunakan berbagai teknik optimasi objek dalam game. Game memilih detail berdasarkan jarak, arah kamera, dan kebutuhan pemain. Sistem kemudian memberikan sumber daya lebih besar kepada objek yang benar-benar terlihat atau sedang digunakan.

Game Memeriksa Jarak Objek

Jarak menjadi salah satu faktor penting dalam menentukan detail.

Sebuah mobil yang berada tepat di depan pemain rajazeus membutuhkan bentuk yang lengkap. Pemain dapat melihat kaca, lampu, roda, dan berbagai bagian kecilnya.

Namun, mobil yang berada sangat jauh hanya terlihat sebagai bentuk kecil.

Game dapat mengurangi detail mobil tersebut karena pemain hampir tidak dapat melihat perbedaannya.

LOD Menyediakan Beberapa Versi Objek

Developer sering menggunakan Level of Detail atau LOD.

Teknik ini menyediakan beberapa versi dari objek yang sama.

Sebagai contoh, sebuah pohon dekat dapat memiliki banyak daun dan cabang. Pada jarak menengah, game menggunakan model yang lebih sederhana. Ketika pohon berada sangat jauh, sistem hanya mempertahankan bentuk utamanya.

Saat pemain bergerak mendekat, game meningkatkan detailnya kembali.

Dengan cara tersebut, perangkat tidak perlu selalu menggunakan model paling rumit.

Tekstur Juga Menyesuaikan Kebutuhan

Objek 3D biasanya memiliki tekstur yang memberikan warna dan detail pada permukaannya.

Game tidak harus menggunakan tekstur paling tajam untuk benda yang jauh.

Bangunan di kejauhan dapat memakai tingkat tekstur yang lebih ringan. Ketika pemain mendekat, sistem menyiapkan versi yang lebih tajam.

Teknik texture streaming membantu game mengatur penggunaan memori secara lebih efisien.

Benda Kecil Bisa Tidak Ditampilkan

Bayangkan sebuah meja memiliki buku, gelas, kertas, dan berbagai benda kecil.

Dari jarak dekat, detail tersebut membuat lingkungan terlihat menarik. Namun, dari jarak sangat jauh, pemain tidak dapat melihatnya.

Game dapat menyembunyikan benda kecil tersebut sampai pemain mendekat.

Dengan begitu, perangkat tidak perlu menghabiskan sumber daya untuk menampilkan sesuatu yang hampir tidak terlihat.

Game Tidak Menggambar Objek di Luar Kamera

Arah pandangan pemain juga membantu menghemat proses rendering.

Jika kamera menghadap ke depan, objek yang berada jauh di belakang pemain tidak terlihat pada layar.

Game dapat menghindari proses menggambar sebagian objek tersebut.

Ketika pemain memutar kamera, sistem kembali menyiapkan benda yang masuk ke dalam pandangan.

Teknik ini membantu game memusatkan pekerjaan pada area yang benar-benar pemain lihat.

Benda yang Tertutup Bisa Diabaikan

Tidak semua objek di depan kamera pasti terlihat.

Sebuah mobil mungkin berada di balik gedung. Meskipun posisinya berada di depan pemain, bangunan tersebut menutupinya sepenuhnya.

Game dapat menggunakan occlusion culling untuk mengetahui kondisi seperti ini.

Jika objek tertutup, sistem tidak perlu menggambarnya sampai pemain memiliki sudut pandang yang memungkinkan benda tersebut terlihat.

Bayangan Tidak Selalu Memiliki Detail Sama

Bayangan juga membutuhkan proses tambahan.

Objek dekat dapat menghasilkan bayangan yang lebih jelas karena pemain mudah melihatnya.

Sementara itu, game dapat mengurangi kualitas bayangan benda yang berada jauh.

Developer bahkan dapat menghilangkan bayangan dari beberapa objek kecil pada jarak tertentu.

Perubahan tersebut membantu meningkatkan performa tanpa terlalu memengaruhi tampilan utama.

Rumput dan Tanaman Mendapat Perlakuan Khusus

Vegetasi menjadi tantangan besar karena jumlahnya dapat sangat banyak.

Sebuah padang mungkin memiliki ribuan rumput, bunga, semak, dan pohon.

Game biasanya menampilkan vegetasi dengan detail tinggi hanya di sekitar pemain.

Semakin jauh jaraknya, jumlah tanaman dapat berkurang. Model tanaman juga menjadi lebih sederhana.

Teknik ini membuat lingkungan tetap terlihat penuh tanpa memaksa perangkat memproses setiap tanaman secara lengkap.

Objek Serupa Bisa Diproses Lebih Efisien

Dunia game sering menggunakan benda yang sama berkali-kali.

Satu jenis pohon dapat muncul ratusan kali. Hal yang sama berlaku untuk batu, pagar, lampu jalan, dan berbagai dekorasi.

Developer dapat menggunakan kembali model dan material yang sama.

Sistem rendering modern juga memiliki teknik untuk menangani banyak objek serupa dengan lebih efisien daripada memperlakukan semuanya sebagai aset yang sepenuhnya berbeda.

Objek Penting Mendapat Prioritas

Game tidak hanya melihat jarak.

Sistem juga dapat mempertimbangkan fungsi objek.

Musuh yang sedang menyerang pemain membutuhkan perhatian lebih besar daripada batu kecil di kejauhan. Item yang dapat diambil juga lebih penting dibandingkan dekorasi yang tidak memiliki fungsi.

Karena itu, developer dapat memberikan prioritas lebih tinggi kepada objek yang berpengaruh terhadap gameplay.

Dunia Jauh Bisa Menggunakan Bentuk Sederhana

Pemain terkadang dapat melihat kota atau pegunungan dari tempat yang sangat jauh.

Game tidak harus menjalankan seluruh isi kota tersebut secara lengkap.

Sistem dapat menggunakan bentuk lingkungan yang lebih sederhana untuk mempertahankan pemandangan.

Ketika pemain mulai mendekat, game memuat bangunan, jalan, NPC, kendaraan, dan detail lainnya secara bertahap.

Teknik ini sangat membantu dalam game open world.

Detail Bisa Berubah Tanpa Pemain Sadari

Optimasi yang baik berusaha menyembunyikan perubahan kualitas.

Game tidak ingin pemain melihat pohon tiba-tiba berubah bentuk ketika berjalan mendekat.

Developer dapat mengatur jarak pergantian LOD dan menggunakan transisi visual agar perubahan terasa lebih halus.

Selain itu, kabut, pencahayaan, dan bentuk lingkungan dapat membantu menyamarkan perbedaan detail.

Penghematan Detail Membantu Menjaga Frame Rate

Tujuan utama dari berbagai teknik tersebut adalah mengurangi pekerjaan yang tidak diperlukan.

GPU dapat memusatkan proses rendering pada bagian yang terlihat. Memori menyimpan aset yang lebih penting, sedangkan sistem mengurangi data yang tidak sedang dibutuhkan.

Hasilnya, game memiliki peluang lebih besar untuk mempertahankan frame rate yang stabil meskipun lingkungan memiliki banyak objek.

Penutup

Game menghemat detail objek dengan menentukan benda mana yang benar-benar membutuhkan kualitas tinggi. Jarak pemain, posisi kamera, ukuran benda, dan fungsi objek dapat memengaruhi keputusan tersebut.

Developer kemudian menggunakan teknik seperti LOD, texture streaming, culling, dan pengaturan jarak render untuk mengurangi pekerjaan perangkat.

Saat pemain mendekati suatu objek, game meningkatkan detailnya. Ketika pemain menjauh, sistem dapat kembali menyederhanakannya. Dengan cara ini, dunia game tetap terlihat kaya tanpa harus menampilkan setiap detail dengan kualitas maksimal sepanjang waktu.

baca juga : Evolusi Visual Game Online: Dari Pixel Kotak ke Grafis Realistis