ГРИА
554 subscribers
116 links
Новостной канал Гильдии Разработчиков Интерактивного Аудио
Официальный сайт - https://griaudio.ru
ВК - https://vk.com/griaudio
Facebook - https://www.facebook.com/griaudio/
Twitter - https://twitter.com/griaudio
Telegram - https://t.me/griaudio
Download Telegram
Денис Злобин, Technical Audio Designer из Ubisoft RedLynx, рассказывает про аналитический фреймворк для аудио-дизайна в видеоиграх. https://griaudio.ru/ludic-narrative-sound
В этот четверг, 25 февраля Ресса Шварцвальд поучаствует в официальном стриме Audiokinetic и расскажет об использовании Wwise в качестве инструмента воспроизведения и управления звуком в реальном времени. Стрим пройдёт в 20:00 по московскому времени. Присоединяйтесь!

https://twitch.tv/audiokinetic
Forwarded from Game Audio Evangelism
Имплементация звуковой системы автоматического оружия в играх.

Всем привет!
Довольно часто возникают вопросы о реализации оружейных аудио систем в играх. Сегодня попробую немного раскрыть эту тему в первую очередь с технической точки зрения, так как доступных материалов по дизайну звуков «пушек» в сети довольно много, и не хотелось бы повторяться только ради увеличения объема статьи.:) Я постараюсь описать способы имплементации наиболее абстрактно, чтобы они были применимы к любому middleware/игровому движку.
Так что присаживайтесь поудобнее, желаю вам приятного и интересного прочтения! Как всегда задавайте вопросы/комментируйте в чате: https://t.me/game_audio_chat



Часть первая: Автомат делает «Трррррррррр».

Если с интеграцией одиночных выстрелов обычно не возникает никаких проблем, то как только необходимо имплементировать «очереди» или же burst-mode (чаще всего это короткие очереди по 3 патрона за раз), то начинаются сложности.
Давайте рассмотрим наиболее часто используемые подходы с их плюсами и минусами.



Полифоническая/монофоническая система.

Каждый аудио ивент - полноценный одиночный выстрел, опционально состоящий из нескольких слоев (например: «саб-бас», «тело», «механика» и «хвост»). Как и в случае с одиночным выстрелом, вызов инвента происходит вместе с появлением визуального эффекта «вспышки» на стволе оружия (из того же скрипта в гейм-механике).
Каждый новый экземпляр ивента наслаивается на предыдущий. При этом можно ограничить полифонию, превращая систему в дуофоническую (только два экземпляра могут звучать одновременно, при появлении нового самый старый ивент выключается) или монофоническую (каждый новый экземпляр ивента вызывает остановку предыдущего).

Плюсы:

1. Наиболее простая имплементация как с точки зрения звука, так и с точки зрения кода.
2. Не нужно создавать отдельные наборы звуков для одиночных выстрелов и автоматической стрельбы.
3. Если в процессе разработки было решено поменять скорострельность оружия в разумных пределах, не требуется менять аудио ассеты.
4. Изменение скорострельность оружия не вызывает изменения высоты тона выстрелов.
5. При ограничении полифонии система может использовать небольшое количество голосов и соответственно CPU.

Минусы:

1. Зависимость от фреймрейта. Так как вызов звукового ивента завязан на визуальный эффект/апдейт скрипта, при плавающей частоте кадров/микрофризах мы получаем неконсистентный звук. Это очень сильно влияет на геймплей и ощущение от стрельбы.
2. Данный метод не подходит для реализации оружия с высокой скорострельностью и воссоздания реалистичного значения RPM, так как частота выстрелов всегда будет так или иначе зависеть от «сетки» фреймрейта.
3. При сильных ограничениях полифонии, автоматическая стрельба начинает звучать очень отрывисто и плоско.
4. При многослойных системах полифония умножается на количество слоев и может занимать 6-8 голосов/каналов на постоянной основе. Что ведёт к возрастанию нагрузки на CPU.
Forwarded from Game Audio Evangelism
Система на основе зацикленных звуков:

Тут все просто - для каждой очереди у нас есть один/несколько подготовленных зацикленных лупов, воспроизведение которых стартует, когда игрок нажимает на кнопку выстрела и останавливается, когда кнопка отпускается. Дополнительно требуется подготовить несколько «хвостов» для различных типов окружения, которые будут воспроизводиться одновременно с остановкой проигрывания лупа.

Плюсы:

1. Максимальная простота имплементации.
2. Независимость от фреймрейта, так как игровая механика присылает только два события - запуск ивента в начале стрельбы и остановка в конце, а ритм создаётся непосредственно внутри лупа.
3. Наиболее дешевый с точки зрения CPU метод, так как в один момент времени проигрывается только один звук.
4. Есть возможность получить очень аутентичный звук оружия, с натурально плавающей скорострельностью, различными естественными призвуками механики и т.п.
5. Отличное решение для пушек со скорострельностью > 2000 выстрелов в минуту: различных вариаций Gatling gun/пулеметов/футуристических smg.

Минусы:

1. Требуются отдельные наборы звуков для одиночных выстрелов и автоматической стрельбы. Соответственно увеличивается время на производство ассетов. Это не совсем минус, сколько особенность, которую нужно учитывать, особенно в условиях сжатых сроков.
2. При любом малейшем изменении скорострельность оружия в игре необходимо переделывать луп, так как синхронность пропадет. Так как в процессе разработки скорострельность постоянно настраивается для лучшего «ганплея» и общего баланса игры, заниматься пересборкой лупов придётся постоянно. Без пересборки изменение скорости приведёт к понижению/повышению тона, что звучит странно и нереалистично.
3. При одиночных выстрелах звук становится невыразительным, так как реалистичный луп уже содержит послезвучие от предыдущих выстрелов, из-за чего смазывается атака и «punch». Это может быть крайне критично для соревновательных игр где решает время реакции и отклик от действия крайне важен. В некоторых случаях, чтобы этого избежать делают комбинированную систему, где первые 2 выстрела воспроизводятся по принципу Полифонической системы, после чего включается зацикленной луп. Однако стоит учитывать заранее, что это уже довольно сложная система, которая требует большого количества технической поддержки со стороны программистов и индивидуального тюнинга для каждого отдельного оружия. Более «дешевым» методом можно считать настройку огибающей громкости и фильтров в middleware, таким образом, чтобы на слух немного более ярче и «острее» выделялся первый выстрел.
4. Хороший луп/набор лупов требует скрупулезной подготовки. Если луп будет слишком коротким, то стрельба будет звучать слишком репетативно, если же слишком длинным, то будет требоваться внушительное количество оперативной памяти для его проигрывания. Для борьбы с репетативностью часто применяется техника, при которой оригинальный аудиофайл размечтается маркерами по транзиентам выстрелов и проигрывание каждый раз начинается со случайного выстрела. Этот приём позволяет немного разнообразить звучание, если игрок часто стреляет короткими очередями.