Вы должны приносить жертвы, вы не можете иметь такое же погружение, когда некоторые звуки не должны быть услышаны всеми игроками. Некоторые движки имеют встроенные решения этой проблемы ( пример ), но я не смог найти никакой информации о том, как она работает.
Используйте стерео для разделения звука
(идея wiz3kid в комментариях)
Если экран разделен по вертикали, вы можете управлять различными звуками, которые будут воспроизводиться на стороне соответствующего игрока. Это было описано здесь (вариант использования 1).
В этом примере звуки ослабляются на -96 дБ с другой стороны, что эквивалентно приглушению звука. (Если мои расчеты верны, -96,3 дБ - это как деление на 15 миллионов). Я думаю, это не должно быть таким жестоким. Если вы будете воспроизводить каждый звук в основном на стороне проигрывателя, который должен их слышать, игроки смогут различить звук, исходящий от их половины или нет, и все равно будет немного стерео.
Это работает лучше всего, когда есть только два игрока, но в случае 4 игроков вы можете комбинировать звуки от игроков по вертикали, чтобы использовать тот же метод.
Выберите воспроизводимые звуки
Я думаю, что эффект какофонии происходит от длинных звуков. Например, в Mario Kart громкость дрейфующего звука очень низкая по сравнению со звуком, когда предмет выбирается. Звук игры может звучать неопрятно, но это не так уж и много, учитывая звучание. Это могло легко быть непослушным.
Поэтому решение может быть отфильтровывать длинные или повторяющиеся очень часто звуки. Ослабляя общий шум, важные звуки будет легче различить. Я не думаю, что для игрока является проблемой слышать звуки, которые он не должен слышать, если он может легко слышать звуки, которые важны для него.
По отношению к ближайшему игроку
В этой теме все согласны с тем, что звуки должны воспроизводиться всего один раз (не один раз для каждого игрока) по отношению к наиболее заинтересованному игроку, например, ближайшему.
Точка зрения Тинуса
Ссылка на сайт.
Я не знаю его, но он делает плагин для единого звука для обработки звука с разделенного экрана. Он объясняет метод, который он использовал бы на одном из своих постов. Я не знаю, является ли это правильным подходом, так как я не понимаю большинство из них.
Сначала выберите наивный подход, просто наложите перспективы прослушивания и отправьте их на стереофонический выход. Это не подойдет для игр с интенсивным слухом, но есть также множество игр, для которых это должно быть хорошо.
Затем представьте дополнительные инструменты, с помощью которых вы сможете лучше контролировать миксы. То, как вы будете их использовать, зависит от игры, которую вы делаете, и от того, как, по вашему мнению, она должна звучать, но есть некоторые общие схемы. Верхней части моей головы:
Эффекты компрессор / лимитер / боковая цепь на слушателях и стерео выходах. Достаточно сложно удержать на слух плотные игры Unity от обрезания, не говоря уже о добавлении нескольких слушателей к миксу. Простой компрессор в конце цепочки сигналов не будет элегантным решением этой проблемы, но это будет быстрое решение. Я мог бы попробовать свои силы в реализации компонента Compressor, используя OnAudioFilterRead, на самом деле.
Аудио с высоким динамическим диапазоном. Новые записи в серии Battlefield используют это с большим эффектом. Опять же, это не волшебная пуля, которая автоматически лечит ваш микс. Но парадигма HDR кажется мощным инструментом, который поможет вам организовать плотные и очень динамичные миксы. Таким образом, отбор и расстановка приоритетов обрабатываются элегантно, что, несомненно, пригодится и для разделенных экранов. Предостережения: DICE использует специальное программное обеспечение (не уверенное, если FMOD может быть присяжным для этого), и требования к созданию аудио активов становятся более жесткими.
Позвольте звуковым артистам расставлять приоритеты звуков и иметь какой-то микшер, который управляет приоритетом звука между слушателями. Если игрок 2 действительно, действительно должен услышать эту ракету, которая вот-вот поразит его, возможно, вы можете пропустить звук игрока 1.