Моделирование пространственного восприятия и распространения звука в виртуальном окружении в реальном времени
В ходе работы был разработан метод для динамического расчета параметров реверберации с применением трассировки лучей применительно к библиотеке API FMOD, Данный метод позволяет в интерактивном режиме применять параметры реверберации в зависимости от формы виртуальных помещений и движения виртуального персонажа.
Данный алгоритм является частью коммерческого проекта.
- Строится сцена для библиотеки трассировки лучшей Embree (SoundScene.cs, SoundMesh.cs).
- При построении используется информация о материалах (AcousticMaterialSettings.cs)
- Создается поток для расчета реверберации. Потоками управляет Reverberator.cs
- Сама трассировка осуществляется в ReverbSimulator.cs
- Расчет параметров SFX Reverb — в ReverbEstimator.cs
- Результаты складываются в ReverbParams.cs
- Применяются там же в методе Apply
На схеме представлен подробный процесс интеграции акустической симуляции в игровой движок с использованием FMOD Studio. Процесс разделен на два основных потока: поток акустического симулятора и игровой поток.
Геометрия сцены и акустические материалы: Начальный этап, где определяются физические и материальные свойства сцены, что критично для точности акустических расчетов.
Трассировщик акустических лучей: Алгоритм трассировки лучей используется для моделирования путей звуковых волн, их взаимодействия с объектами сцены и последующих отражений.
Импульсный отклик: Результаты трассировки лучей используются для создания импульсного отклика, который симулирует, как звук будет восприниматься в данной среде.
Вычислитель параметров реверберации: Основываясь на импульсном отклике, вычисляются параметры реверберации, которые будут использоваться для акустической обработки звуков в игре.
Игровая логика: Управляет поведением игры, включая звуковые события, и обрабатывает действия пользователя в реальном времени.
Позиция и ориентация слушателя: Определяет, где и как ориентирован слушатель в игровом мире, что влияет на акустическое восприятие.
FMOD Studio: Используется для динамической обработки и микширования всех аудио сигналов в игре.
Возвратные каналы и 3D Spatializer: Реализуют пространственное позиционирование звука и добавляют акустические эффекты, такие как реверберация, используя SFX Reverb.
EQ и микшер: Обеспечивают финальную обработку звука, применяя эквализацию и сведение всех звуковых дорожек перед их воспроизведением.
Устройство вывода звука: Воспроизводит обработанный звук через аудиосистему пользователя.
Импульсные отклики и параметры реверберации, сгенерированные акустическим симулятором, передаются в игровой поток и используются для реального времени регулировки звуковой сцены в FMOD. Игровая логика обеспечивает актуальность данных о позиции слушателя, которые важны для корректного пространственного воспроизведения звука. FMOD Studio манипулирует звуковыми событиями в зависимости от акустической среды, моделируемой на основе данных из акустического симулятора.
Для оценки работы алгоритма были записаны звуки ходьбы, бега и стрельбы в различных типах помещений. Эти записи использовались для создания опроса, целью которого было установить, насколько восприятие звука участниками соответствует окружению. Для участия в опросе была выбрана фокус-группа, включающая людей с различными интересами и уровнями музыкальной подготовки: от активных игроков и людей, далеких от игровой индустрии, до людей с развитым музыкальным слухом и тех, кто не обладает подобными навыками. Основная задача участников заключалась в том, чтобы только по записям звуков определить тип помещения, материал стен и действия игрока.
Ссылка на опрос: https://forms.gle/KE51K7QeysZ4xo288
Более подробное описание работы можно найти по ссылке: Преддипломная-2-66.pdf