Bagaimana saya harus menangani suara dalam permainan layar terbagi?

10

Dalam permainan multiplayer layar terbagi, peristiwa suara dapat didengar oleh lebih dari satu pemain, dan itu mungkin terdengar berbeda untuk setiap pemain.

Sebagai contoh, pemain dapat mendengar suara mobil yang mereka kendarai dengan filter low-pass. Pemain dua mungkin mendengar suara mesin doppler-bergeser ketika pemain satu drive melewati dengan kecepatan Pemain ketiga, mengamati dari kejauhan mungkin mendengar suara mesin tanpa filter pada volume rendah.

Dalam permainan seperti itu, pendekatan "jelas" adalah hanya memainkan semua suara sekaligus. Metode apa yang dapat saya gunakan untuk meningkatkan ini, untuk mencegah suara berlebih / "hiruk-pikuk" sambil memaksimalkan perendaman untuk setiap pemain?

Alistair Buxton
sumber
Anda menyajikan solusi yang "jelas" dan kemudian anggapan tentang kemungkinan masalah dengan itu. Coba terapkan dan lihat apa yang terjadi.
Sean Middleditch
4
Dari atas kepala saya, gunakan output 2-channel dan mainkan setiap suara pada saluran di sisi pemain dengan volume 50%.
d3dave
Jika Anda memiliki akses ke langganan GDC Vault, lihat ceramah ini pada audio COOP di Splinter Cell Conviction - mereka masuk ke kedalaman tentang topik ini: gdcvault.com/play/1014779/Between-4-Ears-SPLINTER-CELL
DMGregory

Jawaban:

2

Anda harus berkorban, Anda tidak bisa memiliki perendaman yang sama ketika beberapa suara tidak seharusnya didengar oleh semua pemain. Beberapa mesin telah membangun solusi untuk masalah ini ( contoh ) tetapi saya tidak dapat menemukan informasi tentang cara kerjanya.

Gunakan stereo untuk memisahkan suara

(ide wiz3kid dalam komentar)

Jika layar terbagi secara vertikal, Anda dapat mengatur berbagai suara untuk dimainkan di sisi pemutar yang tepat. Ini telah dijelaskan di sini (Use Case 1).

Dalam contoh ini suara dilemahkan oleh -96dB di sisi lain, yang setara dengan mematikan. (Jika kalkulus saya benar, -96.3dB seperti membagi dengan 15 juta). Saya pikir itu tidak harus begitu brutal. Jika Anda memainkan setiap suara sebagian besar di sisi pemain yang seharusnya mendengarnya, para pemain akan dapat membedakan suara yang berasal dari setengahnya atau tidak dan masih ada sedikit stereo.

Ini bekerja paling baik ketika hanya ada dua pemain, tetapi dalam kasus 4 pemain Anda dapat menggabungkan suara dari pemain secara vertikal untuk menggunakan metode yang sama.

Pilih suara yang diputar

Saya pikir efek hiruk - pikuk berasal dari suara yang panjang. Di mario kart misalnya, volume suara melayang sangat rendah dibandingkan dengan suara ketika item diambil. Suara game mungkin terdengar berantakan, tetapi tidak terlalu mempertimbangkan suara yang dimainkan. Itu bisa dengan mudah menjadi tidak terdaftar.

Karena itu solusinya mungkin dengan menyaring suara yang panjang atau berulang sangat sering. Dengan mengurangi kebisingan umum, suara-suara penting akan lebih mudah dibedakan. Saya tidak berpikir itu masalah bagi pemain untuk mendengar suara yang tidak seharusnya dia dengar selama dia dapat dengan mudah mendengar suara yang penting baginya.

Relatif ke pemain terdekat

Di utas ini, mereka semua setuju bahwa suara harus dimainkan satu kali secara total (tidak satu kali untuk setiap pemain) relatif terhadap pemain yang paling peduli, yang terdekat misalnya.

Sudut pandang Tinus

Tautan.

Saya tidak kenal dia tapi dia membuat plugin unity untuk menangani audio layar terpisah. Dia menjelaskan metode yang akan dia gunakan di salah satu posnya. Saya tidak tahu apakah ini pendekatan yang valid karena saya tidak mengerti sebagian besar.

Pertama pergi untuk pendekatan naif, hanya menempatkan perspektif mendengarkan dan mengirimkannya ke output stereo. Ini tidak akan bekerja untuk gim yang intens secara aurial, tetapi ada juga banyak gim yang bagus.

Selanjutnya, perkenalkan alat tambahan untuk mengontrol campuran dengan lebih baik. Cara Anda menggunakan ini tergantung pada gim yang Anda buat, dan menurut Anda bagaimana seharusnya bunyinya, tetapi ada beberapa pola umum yang mungkin. Dari atas kepala saya:

  • Kompresor / Limiter / efek Sidechaining pada pendengar dan output stereo. Cukup sulit untuk menjaga game Unity yang padat dari guntingan, apalagi ketika Anda menambahkan beberapa pendengar ke dalam campuran. Kompresor sederhana di ujung rantai sinyal tidak akan menjadi solusi yang elegan untuk masalah ini, tetapi itu akan menjadi perbaikan cepat. Saya mungkin mencoba tangan saya menerapkan komponen Kompresor menggunakan OnAudioFilterRead, sebenarnya.

  • Audio Rentang Dinamis Tinggi. Entri yang lebih baru dalam seri Battlefield menggunakan ini dengan sangat efektif. Sekali lagi, bukan peluru ajaib yang secara otomatis menyembuhkan campuran Anda. Tetapi paradigma HDR sepertinya merupakan alat yang ampuh untuk membantu Anda mengatur campuran yang padat dan sangat dinamis. Pemusnahan dan penentuan prioritas ditangani secara elegan dengan cara ini, yang tentunya akan berguna untuk pengaturan layar splits juga. Peringatan: DICE menggunakan perangkat lunak khusus (tidak yakin apakah FMOD bisa di-juri untuk ini), dan tuntutan penciptaan aset audio menjadi lebih berat.

  • Izinkan artis suara memprioritaskan suara, dan memiliki semacam mixer yang mengelola prioritas suara di antara pendengar. Jika pemain 2 benar-benar perlu mendengar roket ini yang akan mengenai dia, mungkin Anda bisa menghindari suara pemain 1.

Heckel
sumber