Как мне обрабатывать звук в игре с разделенным экраном?

10

В многопользовательской игре с разделенным экраном звуковые события могут слышать более одного игрока, и они могут звучать по-разному для каждого игрока.

Например, игрок может услышать звук машины, на которой он едет. Второй игрок может услышать звук двигателя с допплер-сдвигом, когда первый игрок проезжает мимо на скорости. Третий игрок, наблюдающий на расстоянии, может слышать нефильтрованный звук двигателя на низкой громкости.

В такой игре «очевидный» подход - просто играть все звуки одновременно. Какие методы я могу использовать, чтобы улучшить это, чтобы предотвратить перегрузку звука / какофонию при максимальном погружении для каждого игрока?

Алистер Бакстон
источник
Вы представляете «очевидное» решение, а затем предположение о возможной проблеме с ним. Попробуйте реализовать это и посмотрите, что произойдет.
Шон Мидлдич
4
Вне моей головы, используйте 2-канальный выход и воспроизводите каждый звук на канале на стороне плеера с 50% громкостью.
d3dave
Если у вас есть доступ к подписке на GDC Vault, ознакомьтесь с этой статьей о звуке COOP в статье «Осуждение ячеек Splinter» - они подробно разбираются
DMGregory

Ответы:

2

Вы должны приносить жертвы, вы не можете иметь такое же погружение, когда некоторые звуки не должны быть услышаны всеми игроками. Некоторые движки имеют встроенные решения этой проблемы ( пример ), но я не смог найти никакой информации о том, как она работает.

Используйте стерео для разделения звука

(идея wiz3kid в комментариях)

Если экран разделен по вертикали, вы можете управлять различными звуками, которые будут воспроизводиться на стороне соответствующего игрока. Это было описано здесь (вариант использования 1).

В этом примере звуки ослабляются на -96 дБ с другой стороны, что эквивалентно приглушению звука. (Если мои расчеты верны, -96,3 дБ - это как деление на 15 миллионов). Я думаю, это не должно быть таким жестоким. Если вы будете воспроизводить каждый звук в основном на стороне проигрывателя, который должен их слышать, игроки смогут различить звук, исходящий от их половины или нет, и все равно будет немного стерео.

Это работает лучше всего, когда есть только два игрока, но в случае 4 игроков вы можете комбинировать звуки от игроков по вертикали, чтобы использовать тот же метод.

Выберите воспроизводимые звуки

Я думаю, что эффект какофонии происходит от длинных звуков. Например, в Mario Kart громкость дрейфующего звука очень низкая по сравнению со звуком, когда предмет выбирается. Звук игры может звучать неопрятно, но это не так уж и много, учитывая звучание. Это могло легко быть непослушным.

Поэтому решение может быть отфильтровывать длинные или повторяющиеся очень часто звуки. Ослабляя общий шум, важные звуки будет легче различить. Я не думаю, что для игрока является проблемой слышать звуки, которые он не должен слышать, если он может легко слышать звуки, которые важны для него.

По отношению к ближайшему игроку

В этой теме все согласны с тем, что звуки должны воспроизводиться всего один раз (не один раз для каждого игрока) по отношению к наиболее заинтересованному игроку, например, ближайшему.

Точка зрения Тинуса

Ссылка на сайт.

Я не знаю его, но он делает плагин для единого звука для обработки звука с разделенного экрана. Он объясняет метод, который он использовал бы на одном из своих постов. Я не знаю, является ли это правильным подходом, так как я не понимаю большинство из них.

Сначала выберите наивный подход, просто наложите перспективы прослушивания и отправьте их на стереофонический выход. Это не подойдет для игр с интенсивным слухом, но есть также множество игр, для которых это должно быть хорошо.

Затем представьте дополнительные инструменты, с помощью которых вы сможете лучше контролировать миксы. То, как вы будете их использовать, зависит от игры, которую вы делаете, и от того, как, по вашему мнению, она должна звучать, но есть некоторые общие схемы. Верхней части моей головы:

  • Эффекты компрессор / лимитер / боковая цепь на слушателях и стерео выходах. Достаточно сложно удержать на слух плотные игры Unity от обрезания, не говоря уже о добавлении нескольких слушателей к миксу. Простой компрессор в конце цепочки сигналов не будет элегантным решением этой проблемы, но это будет быстрое решение. Я мог бы попробовать свои силы в реализации компонента Compressor, используя OnAudioFilterRead, на самом деле.

  • Аудио с высоким динамическим диапазоном. Новые записи в серии Battlefield используют это с большим эффектом. Опять же, это не волшебная пуля, которая автоматически лечит ваш микс. Но парадигма HDR кажется мощным инструментом, который поможет вам организовать плотные и очень динамичные миксы. Таким образом, отбор и расстановка приоритетов обрабатываются элегантно, что, несомненно, пригодится и для разделенных экранов. Предостережения: DICE использует специальное программное обеспечение (не уверенное, если FMOD может быть присяжным для этого), и требования к созданию аудио активов становятся более жесткими.

  • Позвольте звуковым артистам расставлять приоритеты звуков и иметь какой-то микшер, который управляет приоритетом звука между слушателями. Если игрок 2 действительно, действительно должен услышать эту ракету, которая вот-вот поразит его, возможно, вы можете пропустить звук игрока 1.

Heckel
источник