Wie soll ich in einem Split-Screen-Spiel mit Sound umgehen?

10

In einem Split-Screen-Multiplayer-Spiel können Soundereignisse von mehr als einem Spieler gehört werden und für jeden Spieler anders klingen.

Zum Beispiel könnte Spieler 1 das Geräusch des Autos hören, das er tiefpassgefiltert fährt. Spieler zwei hört möglicherweise das Doppler-Shift-Geräusch des Motors, wenn Spieler eins mit hoher Geschwindigkeit vorbeifährt. Spieler drei, der aus der Ferne beobachtet, hört möglicherweise das ungefilterte Motorengeräusch bei geringer Lautstärke.

In einem solchen Spiel besteht der "offensichtliche" Ansatz darin, alle Sounds gleichzeitig zu spielen. Welche Methoden kann ich verwenden, um dies zu verbessern, um Klangüberlastung / "Kakophonie" zu verhindern und gleichzeitig das Eintauchen für jeden Spieler zu maximieren?

Alistair Buxton
quelle
Sie präsentieren eine "offensichtliche" Lösung und dann eine Vermutung über ein mögliches Problem damit. Versuchen Sie es zu implementieren und sehen Sie, was passiert.
Sean Middleditch
4
Verwenden Sie die 2-Kanal-Ausgabe und spielen Sie jeden Ton auf dem Kanal an der Seite des Players mit 50% Lautstärke ab.
d3dave
Wenn Sie Zugriff auf ein GDC Vault-Abonnement haben, lesen Sie diesen Vortrag über COOP-Audio in Splinter Cell Conviction - er geht genau auf dieses Thema ein: gdcvault.com/play/1014779/Between-4-Ears-SPLINTER-CELL
DMGregory

Antworten:

2

Sie müssen Opfer bringen, Sie können nicht das gleiche Eintauchen haben, wenn einige Geräusche nicht von allen Spielern gehört werden sollen. Einige Engines haben Lösungen für dieses Problem eingebaut ( Beispiel ), aber ich konnte keine Informationen über die Funktionsweise finden.

Verwenden Sie Stereo, um den Ton zu trennen

(wiz3kid Idee in den Kommentaren)

Wenn der Bildschirm vertikal geteilt ist, können Sie die verschiedenen Sounds verwalten, die auf der Seite des richtigen Players abgespielt werden sollen. Es wurde beschrieben , hier (Use Case 1).

In diesem Beispiel werden die Geräusche auf der anderen Seite um -96 dB gedämpft, was einer Stummschaltung entspricht. (Wenn mein Kalkül stimmt, entspricht -96,3 dB einer Division durch 15 Millionen). Ich denke, es muss nicht so brutal sein. Wenn Sie jeden Sound meistens auf der Seite des Players spielen, der ihn hören soll, können die Player einen Sound von der Hälfte unterscheiden oder nicht, und es ist immer noch ein bisschen Stereo vorhanden.

Dies funktioniert am besten, wenn nur zwei Spieler vorhanden sind. Bei 4 Spielern können Sie jedoch die Sounds der Spieler vertikal kombinieren, um dieselbe Methode zu verwenden.

Wählen Sie die abgespielten Sounds aus

Ich denke, der Kakophonieeffekt kommt von den langen Klängen. In Mario Kart zum Beispiel ist die driftende Lautstärke sehr gering im Vergleich zum Geräusch, wenn ein Gegenstand ausgewählt wird. Der Sound des Spiels mag chaotisch klingen, aber angesichts der gespielten Sounds ist es nicht so sehr. Es hätte leicht nicht zu hören sein können.

Daher könnte die Lösung darin bestehen, die langen oder sehr oft wiederholten Geräusche herauszufiltern. Durch die Dämpfung des allgemeinen Geräusches werden die wichtigen Geräusche leichter zu unterscheiden. Ich denke nicht, dass es für einen Spieler ein Problem ist, Geräusche zu hören, die er nicht hören sollte, solange er die für ihn wichtigen Geräusche leicht hören kann.

Relativ zum nächsten Spieler

In diesem Thread sind sich alle einig, dass die Sounds insgesamt einmal gespielt werden sollten (nicht einmal für jeden Spieler), bezogen auf den am meisten betroffenen Spieler, zum Beispiel den nächsten.

Tinus 'Standpunkt

Verknüpfung.

Ich kenne ihn nicht, aber er erstellt ein Unity-Plugin für Split-Screen-Audio. Er erklärt die Methode, die er für einen seiner Beiträge verwenden würde. Ich weiß nicht, ob es ein gültiger Ansatz ist, da ich das meiste nicht verstehe.

Wählen Sie zunächst den naiven Ansatz, überlagern Sie einfach die Hörperspektiven und senden Sie sie an den Stereoausgang. Dies funktioniert nicht für akustisch intensive Spiele, aber es gibt auch viele Spiele, für die dies in Ordnung sein sollte.

Stellen Sie als Nächstes zusätzliche Tools vor, mit denen Sie den Mix besser steuern können. Wie Sie diese verwenden würden, hängt von dem Spiel ab, das Sie erstellen, und davon, wie es Ihrer Meinung nach klingen sollte, aber es gibt einige mögliche gemeinsame Muster. Von der Spitze meines Kopfes:

  • Compressor / Limiter / Sidechaining-Effekte auf Hörer und Stereoausgänge. Es ist schwer genug, akustisch dichte Unity-Spiele vor dem Abschneiden zu bewahren, geschweige denn, wenn Sie dem Mix mehrere Hörer hinzufügen. Ein einfacher Kompressor am Ende der Signalkette wäre keine elegante Lösung für dieses Problem, aber eine schnelle Lösung. Ich könnte versuchen, eine Compressor-Komponente mit OnAudioFilterRead zu implementieren.

  • High Dynamic Range Audio. Die neueren Einträge in der Battlefield-Reihe nutzen dies mit großer Wirkung. Auch hier ist es kein Wundermittel, das Ihren Mix automatisch heilt. Das HDR-Paradigma scheint jedoch ein leistungsstarkes Werkzeug zu sein, mit dem Sie dichte und sehr dynamische Mixe organisieren können. Culling und Priorisierung werden auf diese Weise elegant gehandhabt, was zweifellos auch für Splitscreen-Setups nützlich wäre. Vorsichtsmaßnahmen: DICE verwendet eine benutzerdefinierte Software (nicht sicher, ob FMOD dafür beurteilt werden kann), und die Anforderungen an die Erstellung von Audio-Assets werden höher.

  • Ermöglichen Sie Soundkünstlern, Sounds zu priorisieren, und verfügen Sie über eine Art Mixer, der die Soundpriorität zwischen den Hörern verwaltet. Wenn Spieler 2 diese Rakete wirklich hören muss, die ihn treffen wird, können Sie vielleicht den Sound von Spieler 1 unterdrücken.

Heckel
quelle