Jak radzić sobie z dźwiękiem w grze na podzielonym ekranie?

10

W grze wieloosobowej na podzielonym ekranie zdarzenia dźwiękowe mogą być słyszane przez więcej niż jednego gracza i mogą brzmieć inaczej dla każdego gracza.

Na przykład gracz może usłyszeć dźwięk samochodu, którym jeździ, przefiltrowany dolnoprzepustowo. Gracz drugi może usłyszeć dźwięk silnika przesunięty dopplerowo, gdy gracz pierwszy mija szybko. Gracz trzeci, obserwując z daleka, może usłyszeć dźwięk niefiltrowanego silnika przy niskim poziomie głośności.

W takiej grze „oczywistym” podejściem jest po prostu odtwarzanie wszystkich dźwięków jednocześnie. Jakimi metodami mogę to poprawić, aby zapobiec przeciążeniu dźwiękiem / „kakofonii”, jednocześnie maksymalizując zanurzenie dla każdego odtwarzacza?

Alistair Buxton
źródło
Przedstawiasz „oczywiste” rozwiązanie, a następnie przypuszczenie o możliwym problemie z nim. Spróbuj go zaimplementować i zobacz, co się stanie.
Sean Middleditch
4
Z czubka głowy użyj 2-kanałowego wyjścia i odtwarzaj każdy dźwięk na kanale z boku odtwarzacza z 50% głośnością.
d3dave
Jeśli masz dostęp do subskrypcji GDC Vault, zapoznaj się z tym wykładem na temat dźwięku COOP w Splinter Cell Conviction - pogłębiają dokładnie ten temat: gdcvault.com/play/1014779/Between-4-Ears-SPLINTER-CELL
DMGregory

Odpowiedzi:

2

Musisz się poświęcić, nie możesz mieć takiego samego zanurzenia, gdy niektóre dźwięki nie powinny być słyszalne przez wszystkich graczy. Niektóre silniki mają wbudowane rozwiązania tego problemu ( przykład ), ale nie mogłem znaleźć żadnych informacji na temat jego działania.

Użyj stereo, aby rozdzielić dźwięk

(pomysł wiz3kid w komentarzach)

Jeśli ekran jest podzielony w pionie, możesz zarządzać różnymi dźwiękami odtwarzanymi z boku odpowiedniego odtwarzacza. Zostało to opisane tutaj (przypadek użycia 1).

W tym przykładzie dźwięki są tłumione o -96dB po drugiej stronie, co odpowiada wyciszeniu. (Jeśli mój rachunek ma rację, -96.3dB przypomina dzielenie przez 15 milionów). Myślę, że to nie musi być tak brutalne. Jeśli odtwarzasz każdy dźwięk głównie po stronie odtwarzacza, który powinien go usłyszeć, gracze będą w stanie odróżnić dźwięk dochodzący z jego połowy lub nie, i nadal będzie trochę stereo.

Działa to najlepiej, gdy są tylko dwaj gracze, ale w przypadku 4 graczy możesz łączyć dźwięki z graczy pionowo, używając tej samej metody.

Wybierz odtwarzane dźwięki

Myślę, że efekt kakofonii pochodzi z długich dźwięków. Na przykład w mario kart głośność dryfującego dźwięku jest bardzo niska w porównaniu z dźwiękiem podczas wybierania przedmiotu. Dźwięk gry może wydawać się niechlujny, ale nie jest tak bardzo biorąc pod uwagę odtwarzane dźwięki. Mogłoby być z łatwością nie do słuchania.

Dlatego rozwiązaniem może być odfiltrowanie długich lub powtarzanych bardzo często dźwięków. Dzięki tłumieniu ogólnego hałasu łatwiej będzie odróżnić ważne dźwięki. Nie sądzę, aby gracz miał problem ze słyszeniem dźwięków, których nie powinien słyszeć, o ile może z łatwością słyszeć dźwięki, które są dla niego ważne.

Względem najbliższego gracza

W tym wątku wszyscy zgadzają się, że dźwięki powinny być odtwarzane raz w sumie (nie raz dla każdego gracza) w stosunku do najbardziej zainteresowanego gracza, na przykład najbliższego.

Punkt widzenia Tinusa

Połączyć.

Nie znam go, ale tworzy wtyczkę Unity do obsługi dźwięku podzielonego ekranu. Wyjaśnia metodę, której użyłby na jednym ze swoich postów. Nie wiem, czy jest to prawidłowe podejście, ponieważ nie rozumiem większości z nich.

Najpierw wybierz naiwne podejście, po prostu nałóż perspektywy słuchania i wyślij je na wyjście stereo. Nie będzie to działać w przypadku intensywnych pod względem dźwiękowym gier, ale jest też wiele gier, dla których powinno to być w porządku.

Następnie wprowadź dodatkowe narzędzia, dzięki którym możesz lepiej kontrolować miks. Sposób ich użycia zależy od tworzonej gry i tego, jak powinna brzmieć, ale istnieją pewne możliwe wspólne wzorce. Z czubka mojej głowy:

  • Kompresor / Limiter / Efekty boczne dla słuchaczy i wyjść stereo. Wystarczająco trudno jest uchronić gęste pod względem dźwiękowym gry Unity przed wycinaniem, nie mówiąc już o dodaniu do miksu wielu słuchaczy. Prosta sprężarka na końcu łańcucha sygnałowego nie byłaby eleganckim rozwiązaniem tego problemu, ale byłaby to szybka naprawa. Właściwie mógłbym spróbować swoich sił w implementacji komponentu Compressor przy użyciu OnAudioFilterRead.

  • Dźwięk High Dynamic Range. Nowsze wpisy z serii Battlefield wykorzystują to z doskonałym skutkiem. Ponownie, nie ma magicznej kuli, która automatycznie leczy twój miks. Ale paradygmat HDR wydaje się być potężnym narzędziem, które pomaga organizować gęste i bardzo dynamiczne miksy. Wyrównanie i ustalanie priorytetów są obsługiwane w ten sposób elegancko, co bez wątpienia przydałoby się również w przypadku konfiguracji podzielonego ekranu. Zastrzeżenia: DICE korzysta z niestandardowego oprogramowania (nie jestem pewien, czy FMOD może być w tym przypadku oceniany), a wymagania dotyczące tworzenia zasobów audio stają się coraz większe.

  • Pozwól artystom dźwiękowym nadawać priorytety dźwiękom i mieć jakiś mikser, który zarządza priorytetem dźwięku między słuchaczami. Jeśli gracz 2 naprawdę, naprawdę musi usłyszeć tę rakietę, która go uderzy, być może uda ci się uchylić dźwięk gracza 1.

Heckel
źródło