Devi fare sacrifici, non puoi avere la stessa immersione quando alcuni suoni non dovrebbero essere ascoltati da tutti i giocatori. Alcuni motori hanno integrato soluzioni a questo problema ( esempio ) ma non sono riuscito a trovare informazioni sul modo in cui funziona.
Usa lo stereo per separare il suono
(idea di wiz3kid nei commenti)
Se lo schermo è diviso in modo verticale è possibile gestire i diversi suoni da riprodurre sul lato del lettore corretto. È stato descritto qui (utilizzare il caso 1).
In questo esempio i suoni sono attenuati di -96dB sull'altro lato, il che equivale al silenziamento. (Se il mio calcolo è corretto, -96.3dB è come dividere per 15 milioni). Penso che non debba essere così brutale. Se riproduci ogni suono principalmente dalla parte del giocatore che dovrebbe ascoltarli, i giocatori saranno in grado di distinguere un suono proveniente dalla loro metà o meno e ci sarà ancora un po 'di stereo.
Funziona meglio quando ci sono solo due giocatori, ma nel caso di 4 giocatori puoi combinare i suoni dei giocatori in verticale per usare lo stesso metodo.
Seleziona i suoni riprodotti
Penso che l' effetto della cacofonia provenga da suoni lunghi. Nel mario kart, ad esempio, il volume del suono alla deriva è molto basso rispetto al suono quando un oggetto viene raccolto. Il suono del gioco può sembrare disordinato, ma non è tanto considerando i suoni che vengono riprodotti. Sarebbe potuto essere facilmente inascoltabile.
Pertanto, la soluzione potrebbe essere quella di filtrare i suoni lunghi o ripetuti molto spesso. Attenuando il rumore generale, i suoni importanti saranno più facili da distinguere. Non penso che sia un problema per un giocatore sentire suoni che non dovrebbe sentire fino a quando riesce a sentire facilmente i suoni che sono importanti per lui.
Rispetto al giocatore più vicino
In questa discussione concordano tutti sul fatto che i suoni dovrebbero essere riprodotti una volta in totale (non una volta per ogni giocatore) rispetto al giocatore più interessato, il più vicino per esempio.
Il punto di vista di Tinus
Link.
Non lo conosco ma crea un plugin di unità per gestire l'audio dello schermo diviso. Spiega il metodo che avrebbe usato su uno dei suoi post. Non so se sia un approccio valido poiché non ne capisco la maggior parte.
Innanzitutto scegli l'approccio ingenuo, sovrapponi semplicemente le prospettive di ascolto e inviale all'uscita stereo. Questo non funzionerà per i giochi auralmente intensi, ma ci sono anche molti giochi per i quali questo dovrebbe andare bene.
Successivamente, introdurre strumenti extra con i quali è possibile controllare meglio il mix. Il modo in cui li utilizzeresti dipende dal gioco che stai creando e da come pensi che dovrebbe suonare, ma ci sono alcuni possibili schemi comuni. Della cima della mia testa:
Effetti Compressor / Limiter / Sidechaining su ascoltatori e uscite stereo. È abbastanza difficile evitare che i giochi Unity auralmente densi vengano tagliati, figuriamoci quando aggiungi più ascoltatori al mix. Un semplice compressore alla fine della catena del segnale non sarebbe una soluzione elegante a questo problema, ma sarebbe una soluzione rapida. Potrei davvero provare a implementare un componente Compressor usando OnAudioFilterRead, in realtà.
Audio ad alta gamma dinamica. Le voci più recenti della serie Battlefield lo usano con grande efficacia. Ancora una volta, non è un proiettile magico che cura automaticamente il tuo mix. Ma il paradigma HDR sembra uno strumento potente per aiutarti a organizzare mix densi e molto dinamici. La selezione e la definizione delle priorità vengono gestite in modo elegante in questo modo, il che sarebbe sicuramente utile anche per le configurazioni a schermo diviso. Avvertenze: DICE utilizza software personalizzato (non sono sicuro che FMOD possa essere legiferato per questo) e le richieste sulla creazione di risorse audio diventano più pesanti.
Consenti agli artisti del suono di dare la priorità ai suoni e di avere un qualche tipo di mixer che gestisce la priorità del suono tra gli ascoltatori. Se il giocatore 2 ha davvero bisogno di sentire questo razzo che sta per colpirlo, forse puoi abbassare il suono del giocatore 1.