Как воспроизвести реалистичный звук в компьютерных играх и VR и почему это сложно

Вычисление акустических параметров объекта в виртуальном окружении может занимать дни. В Стэнфорде разработали систему, сокращающую это время до нескольких минут и даже секунд.

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

Звуки в виртуальном окружении — это сложно

Значительная часть технологий, связанных с генерацией звуковых моделей, основана на работе немецкого физика Германа фон Гельмгольца (Hermann von Helmholtz). Еще в XIX веке он предложил теорию акустического резонанса и вывел уравнение, описывающее распространение звука в пространстве. Сегодня его научные изыскания составляют основу алгоритмов, моделирующих движение волн в виртуальных средах с учетом громкости и направления.

Один из известных методов — метод граничных элементов (boundary element method, BEM). Он помогает решать задачи рассеяния звука твердыми телами сложной формы, но требует проведения предварительных расчетов параметров объектов. Процедура может занимать несколько часов или дней — в зависимости от вычислительной мощности кластера. Это, несомненно, сказывается на стоимости продукта, будь то анимационный фильм или компьютерная игра.

Решением проблемы занялись инженеры из Стэнфордского университета. Они представили алгоритм, способный построить акустическую модель объекта в виртуальной среде за несколько минут — без применения уравнения Гельмгольца и BEM. Технология получила название KleinPAT, в честь австрийского композитора Фрица Генриха Кляйна (Fritz Heinrich Klein), который в 1921 году вывел «материнский аккорд» — аккорд из двенадцати разных звуков, отстоящих друг от друга на одиннадцать различных интервалов.

Как работает алгоритм

В основе проекта лежит метод модального синтеза звука, сокращающий временные издержки на предварительный расчет акустических параметров динамической модели и поддерживающий аппаратное ускорение на GPU. Решение инженеров из Стэнфорда не рассчитывает частотные характеристики 3D-объекта для всех типов колебаний. Вместо этого, подобно Генриху Кляйну, он объединяет несколько моделей в так называемые аккорды (chords).

Из этих аккордов алгоритм извлекает частотные передаточные функции для каждого типа колебания, используя специальную систему QR-разложения. На их основе происходит генерация необходимых акустических полей — в тысячи раз быстрее, чем в случае с методами, основанными на уравнении Гельмгольца. Как это звучит на практике, можно послушать в видео, которое записали разработчики.

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

Пока что KleinPAT находится на ранних этапах разработки, поэтому пройдет какое-то время, прежде чем алгоритм дойдет до коммерческих VR-проектов. При этом один из резидентов площадки TechSpot отметил, что значительную роль в повышении производительности сыграла поддержка вычислений на GPU. Он предположил, что классические BEM-методы, оптимизированные для работы с графическими картами, также могут показать достойные результаты. Возможно, в будущем в этом направлении тоже будут проводить исследования.

Кто еще работает в этой области

Разработкой алгоритмов, связанных с симуляцией звуков в виртуальном пространстве, занимаются и в крупных ИТ-компаниях. Например, есть проект «Тритон», моделирующий движение волн в сложных 3D-пространствах: с большим количеством углов, помещений, предметов. Система «запекает» (как в случае с текстурированием) акустические параметры окружения на статической геометрии, а затем воспроизводит их в игре. Дизайнеры сохраняют возможность подстраивать звучание — например, уменьшать реверберацию, чтобы речь персонажей была более разборчива. На всю эту обработку уходит всего 10% вычислительной мощности CPU. Технологию «Тритон» уже применили в компьютерной игре Gears of War — она добавляет заметное эхо при общении главных героев в большом зале.

Над акустическими технологиями работают и в Intel. При поддержке компании композитор Джастин Лассен (Justin Lassen) путешествует по миру и делает бинауральные аудиозаписи. На них он стремится запечатлеть звуки окружающей среды. Сделанные подобным образом записи превращаются в ассеты для движка Unreal Engine 4. Позже их используют в разработке VR-проектов.

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

Эту статью прочитали 4 519 раз
Статья входит в разделы:Интересное о звуке

Поделиться материалом:
Обсуждение данного материала
Комментариев пока нет. Станьте первым!
Написать свой комментарий