Получи случайную криптовалюту за регистрацию!

Имплементация звуковой системы автоматического оружия в играх. | ГРИА

Имплементация звуковой системы автоматического оружия в играх.

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



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

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



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

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

Плюсы:

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

Минусы:

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