Das Problem ist, dass wenn ich fast gleichzeitig 100 Sounds spiele, ich nur Geräusche höre. Es ist nicht sehr attraktiv, es 30 Minuten lang zu hören.
Ich habe versucht, dies zu beheben, indem nur 1 Sound von jedem Soundtyp gleichzeitig abgespielt werden konnte. Aber es klingt immer noch sehr hässlich; Schließlich hört mein Gehirn immer nur das Ende der Schussgeräusche (oder den Anfang davon?), und das geht mir sehr schnell auf die Nerven. Irgendwann würde ich mich einfach dazu entschließen, die Sounds komplett auszuschalten. Gibt es überhaupt einen Grund, Sounds in einem solchen Spiel zu verwenden?
Wie geht unsere liebe Realität mit diesem Problem um? Wenn es da draußen einen Krieg gibt, wie hört es sich dann an, wenn Hunderte von Männern fast gleichzeitig schießen?
Bearbeiten: So klingt das Spiel aktuell; Es werden nicht einmal 100 Sounds gleichzeitig abgespielt, vielleicht 20? http://www.speedyshare.com/VTBDw/headache.mp3 Am Anfang klingt es OK, aber dann wird es unerträglich! In diesem Audioclip darf nur 1 Ton gleichzeitig abgespielt werden, sodass der vorherige Ton gestoppt wird, wenn ein neuer Ton abgespielt wird.
Edit2: Und hier sind die gleichen Kopfschmerzen, aber 32 simultane Sounds dürfen gleichzeitig abgespielt werden: http://www.speedyshare.com/TuWAR/headache-worse.mp3 Eine ziemliche Qual, oder?
quelle
Antworten:
In Wirklichkeit ist unser Gehör anpassungsfähig. So wie sich unser Sehvermögen an unterschiedliche Lichtverhältnisse anpasst, indem es mehr oder weniger empfindlich wird, passt sich unser Gehör an unterschiedliche Geräuschkodierungen an. Leider funktioniert dies bei der Computer-Audioausgabe nicht so gut.
Aber du könntest es simulieren. Wenn das Spiel besonders laut wird, reduzieren Sie die Gesamtlautstärke auf ein erträgliches Maß.
Es gibt einen Namen für einen solchen Audiofilter: Er wird als Dynamikbereichskomprimierung bezeichnet . Eine erweiterte Audio-API bietet sie möglicherweise sogar sofort an.
Wenn Ereignisse technisch auf einmal eintreten, sollten Sie dennoch versuchen, ihre Soundeffekte um einige Mikrosekunden auszugleichen. Wenn 10 Gegner ihre Waffen im selben Spiellogik-Rahmen abfeuern, sollten die 10 Schussgeräusche nicht perfekt zusammenspielen. Dies klingt nach einem sehr lauten Schuss, nicht nach mehreren, die gleichzeitig stattfinden. Sie klingen realistischer, wenn sie leicht versetzt sind ( Chorus-Effekt ).
quelle
Es ist auch eine Belastung und Verschwendung der CPU, Sounds abzuspielen, die Sie nicht hören oder mit dem Quellobjekt verknüpfen. Setzen Sie Ihre Ressourcen mit Bedacht ein.
quelle
Ihre Audiodateien sind verschwunden, aber dämpfen Sie nur die weiter entfernten Sounds erheblich.
Verwenden Sie daher eine INVERSE CURVE oder eine EXPONENTIAL CURVE, um die Geräuschlautstärke zu dämpfen.
Wenn das nicht ausreicht, können Sie sogar eine Exponentialkurve verwenden:
Verwenden Sie in OpenAL die Funktion
alDistanceModel
mit einer der folgenden Optionen :Die Standardeinstellung ist
AL_NONE
, so dass dies ziemlich laut wäre, wenn viele Sounds gleichzeitig abgespielt würden.quelle
Versuchen Sie, die Gesamtzahl der Dinge zu begrenzen, die zu einem bestimmten Zeitpunkt einen Sound abspielen können. Wenn beispielsweise numberOfSoundsPlayingRightNow> 5 ist, ignorieren Sie den Soundeffekt, der gerade ausgelöst wurde.
Versuchen Sie auch, die Lautstärke für weniger wichtige Soundeffekte zu verringern.
Eine andere Sache, die Sie versuchen sollten, ist zu begrenzen, wie oft ein einzelnes Spielobjekt Ton ausgeben kann, um zu verhindern, dass eine einzelne Objektform immer wieder dieselbe SFX spammt. Zum Beispiel würde ein Objekt vor dem Abspielen prüfen: Wenn lastTimePlayed <1 Sekunde ist, wird der Sound ausgelöst.
Sie können auch in ein Spiel-Audio-Tool wie Wwise schauen, mit dem Sie das Audio des Spiels einfach optimieren können.
quelle