Pull to refresh

Динамический звук на разрушаемых уровнях Rainbow Six: Siege

Reading time6 min
Views6.7K
Original author: Louis Philippe Dion

Привет, меня зовут Луис Филиппе Дион, я главный звукорежиссёр Rainbow Six: Siege и уже семь лет работаю в Ubisoft. До Siege я работал над звуком в таких играх, как Prince of Persia и Splinter Cell. Также я был менеджером по производству собственного звукового движка Ubisoft.

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

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


Динамическое распространение звука в разрушаемом окружении


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

Главной инновацией Siege было более сложное использование дифракции, которое мы называем блокировкой. Стратегически разместив на карте множество точек, называемых нодами распространения, мы могли вычислить наименее затратные пути распространения звука между слушателем и источником. Затраты на распространение зависят от множества факторов, а именно: длины пути, суммы его углов и штрафа, назначаемого в соответствии с уровнем разрушения соответствующих нодов распространения.

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

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

Наконец, для отражения, которое мы в игре называем реверберацией, решили использовать обработчик реверберации импульсной характеристики. Этот типа реверберации «сэмплирует» акустику реальной комнаты и потом воспроизводит через них наши игровые звуки. По-моему, это способ намного совершеннее традиционной параметрической реверберации, по крайней, мере для симуляций. Единственный недостаток заключается в том, что из-за ограничений процессора мы не можем использовать его часто. Чтобы справиться с этим ограничением, мы «запекали» реверберацию оружия и воспроизводили её в точке расположения оружия. Это позволило игроку использовать позиционирование реверберации оружия для определения его местоположения.


Зачем?


При производстве игры разрушаемые окружения стали одной из самых сложных проблем в распространении звука. Распространение звуков по кратчайшим путям — это одно дело, но когда сам уровень изменяется во время игры, это совершенно другое. Нам никогда ещё не приходилось решать такие задачи. Не только с точки зрения качества получаемого звука, но и с точки зрения производительности процессора задача была довольно сложной. Мы разместили множество нодов на разрушаемых поверхностях и эти ноды оставались закрытыми, пока не происходило разрушение. Мы выполнили множество итераций с разными вариантами детализации, чтобы найти идеальный баланс между точностью и производительностью.

Ещё одна интересная деталь: модификации распространения звука не односторонни — ноды могут переходить из закрытого состояния в открытое, а также наоборот — из открытого в закрытое. С помощью баррикад и укрепления стен игроки могут изменять потенциальные пути звука, а алгоритм в реальном времени пересчитывает новые варианты путей распространения. Такие преграды (баррикады, укрепления стен и т.д.) необязательно должны закрывать ноды распространения полностью; в зависимости от свойств материалов (например, дерево, стекло, бетон и т.д.) они могут добавлять определённый «штраф» при прохождении через них звука. Например, деревянные и металлические баррикады имеют разные параметры препятствования звуку. То есть в зависимости от использованных материалов звук может быть менее или более приглушённым.

Кроме того, учитывая высокий уровень разрушаемости и проникания пуль в Siege, было бы катастрофой, если бы мы полагались только на окклюзию без блокировки. Окклюзия стала бы крупным «wall hack-ом». Например, если вы Защитник, то вам достаточно укрепить как можно больше стен, и ждать, пока вы не услышите, как Атакующие проходят рядом с неукреплёнными стенами, чтобы начать стрелять в них — Атакующие так и не поймут, откуда на них напали. Мы стремимся быть как можно более точными, но симуляция «физики реального мира» добавляет игре определённые моменты угадывания. Разумеется, такие ситуации могут раздражать, но это происходит и в реальном мире.

Не нужно говорить, что мы постоянно усовершенствуем алгоритм. Мы любим читать посты игроков на Reddit, которые объясняют, почему в некоторых ситуациях распространение звука кажется им нечестным; для нас это бесценный источник информации, которую мы обязательно учтём в будущем.


Карта Hereford из Rainbow Six: Siege.

Прислушиваемся к действиям игроков


Тишина и бездействие являются важной частью нашей игры: даже в относительно коротких раундах на три минуты основная задача игрока — слушать. Поэтому когда мы начинали процесс разработки, то считали, что с точки зрения звука окружения уровня могут быть немного скучными. Ждать врагов внутри спальни обычного дома гораздо унылей, чем находиться посредине поля боя или в космосе, правда?

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


Распространение звука на карте Hereford.

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

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

Навигационные звуки от первого лица тоже смикшированы довольно громкими. Мы сделали так по двум причинам: во-первых, это даёт игроку понять, что он создаёт довольно сильный шум, раскрывающий его положение, во-вторых, игрок понимает, что для обнаружения остальных игроков ему нужно двигаться медленнее. В этом заключается фундамент звукового дизайна Siege — если вы двигаетесь медленно и прислушиваетесь к окружающим звукам, то получаете больше информации и действуете эффективнее.


Ноды распространения звука крупным планом.

Результат


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

Сегодня, в ретроспективе, это кажется очевидным, но, как мне кажется, немногие игры отказываются от классических создающих напряжение звуков. Отказавшись от искусственных звуков, мы, по моему мнению, придали Siege собственную индивидуальность с точки зрения звука, который только интересно слушать, и более того — он сильно влияет на геймплей.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+8
Comments3

Articles

Change theme settings