Dalam game 2D saya, saya memiliki beberapa suara ambient seperti suara air terjun atau dengung generator. Namun, tidak praktis untuk memainkan suara ini sepanjang waktu dengan volume penuh karena pada tingkat besar tumpang tindih dari banyak suara seperti itu akan sangat tidak menyenangkan bagi telinga.
Saat ini saya sedang memikirkan sistem yang memodulasi volume suara tertentu tergantung pada jarak mereka ke pemain. Namun, ini sebagian bukan solusi yang bagus karena (misalnya) dalam keadaan diperbesar pemain mungkin cukup jauh dari sumber suara (seperti air terjun) tetapi masih dapat melihatnya di layar tetapi tidak mendengarnya (karena ke jarak) yang cukup canggung.
Apakah ada solusi untuk masalah seperti itu?
Jawaban:
Saya pikir Anda berada di jalur yang benar. Sistem pelemahan berbasis jarak yang Anda usulkan harus bekerja jika Anda
selalu gunakan jarak dalam game ke objek dari pemain, yang tetap tetap terlepas dari tingkat zoom (jangan gunakan jarak "di layar", yang berubah saat Anda memperbesar) dan
atur sistem atenuasi Anda untuk mulai memainkan suara objek segera setelah jaraknya ke pemain di dunia sedemikian rupa sehingga objek tersebut akan hampir terlihat oleh pemain pada level zoom maksimum.
Dengan cara ini pemain dapat mendengar sesuatu sebelum mereka melihatnya, yang menanamkan rasa realisme dan penemuan. Ini juga mencegah sebagian besar skenario memainkan terlalu banyak suara sekitar.
Tentu saja, Anda masih memiliki potensi untuk membebani saluran suara sekitar jika Anda memiliki banyak objek pemancar suara di tempat yang sama di dunia. Ini bisa diselesaikan dengan
merancang level Anda untuk tidak melakukan itu, atau, jika itu tidak layak,
memberikan objek suara prioritas, dan hanya mengambil
n
objek prioritas tertinggi atas , ataumemodulasi volume semua suara sekitar dengan (lebih atau kurang) "membaginya dengan jumlah suara dalam adegan," memastikan bahwa Anda masih dengan lancar memudar suara ketika objek mereka menjadi lebih jauh untuk menghindari "muncul" saat Anda misalnya melompat dari lima objek ke empat, misalnya.
precompute, untuk level tertentu atau keseluruhan game, jumlah maksimum objek yang dapat berada dalam jangkauan dan memainkan suara sekaligus (lakukan ini sebagai bagian dari proses pembuatan data level atau game). Berdasarkan hal itu, Anda dapat menentukan seberapa keras memainkan salah satu objek sedemikian rupa sehingga kasus terburuk tidak pernah melebihi volume tertentu.
Namun, dua opsi terakhir mengatasi masalah secara murni dari sudut pandang volume - mereka tidak memperhitungkan fakta bahwa bahkan jika Anda memainkan 500 latar belakang terdengar cukup tenang untuk tidak membanjiri gendang telinga pemain, Anda masih memainkan 500 suara, yang dapat menjadi berisik bukan dalam arti volume yang tetapi dalam arti membingungkan.
Untuk mengatasi masalah itu, saya pikir Anda sebaiknya mencoba mengurangi jumlah total emisi sekitar atau hanya mengambil
n
suara yang diprioritaskan atas (untuk referensi, mengambil bagian atasn
lebih atau kurang dari apa yang kami pilih untuk Wars Wars 2).sumber