Звук и мимика персонажей в тренажерах
Мы уделяем пристальное внимание мимике (синхронизации движения губ со звуком) и жестам персонажей. Персонажи не просто разговаривают, но также жестикулируют и выражают эмоции. Учитывается возраст, акцент и состояние персонажа.
В качестве базовой технологии мы используем Reallusion Lip-sync
Про звук в тренажерах ….
По данным IASIG (Interactive Audio Special Interest Group), на сегодняшний день существует 2 аппаратных интерфейса для создания звукового сопровождения – DirectSound и OpenAL (Open Audio Library). DirectSound на данный момент является самым распространенным интерфейсом. Большинство выпускаемых звуковых плат поддерживает как DirectSound так и OpenAL.
В отличии от DirectSound, OpenAL является полностью кросс-платформенной библиотекой. Возможности воспроизведения пространственного звука, запись звука, возможность генерации звука, потоковое воспроизведение и т.д. позволяют использовать библиотеку OpenAL при разработке имитаторов. OpenAL на данный момент активно поддерживается крупными производителями вычислительной техники (Creative Labs, NVIDIA, ASUS, Apple, Blue Ripple Sound и т.д.) в качестве альтернативы DirectSound.
В целом OpenAL описывает 3 базовых понятия. Слушатель (Listener) — характеризуется положением в пространстве (x,y,z), ориентацией в пространстве (поворотом вокруг осей), вектором скорости и общей громкостью (master gain). Источник звука (source sound) — характеризуется позицией, вектором скорости, громкостью, расстоянием, далее которого уже не будет происходить дальнейшего ослабления звука, расстоянием, на котором сила звука уменьшается вдвое, коэффициентом кривизны затухания звука, конусом направленности звука и т. д. Источник звука использует данные из буфера, который характеризуется частотой, количеством бит на канал, количеством каналов, количеством звуковых данных и т. д.
В принципе программная реализация «простого» звукового сопровождения имитатора сводится к загрузке необходимых данных из файлов, помещения данных в буферы, создание источников звука и ассоциации их с буферами, настройке параметров источников и слушателя.
К сожалению, при разработке имитаторов, включающих большое количество источников звука, задача несколько усложняется. Во-первых, максимально возможное количество одновременно проигрываемых звуков ограничено числом 255, а часто и меньшим (это зависит от оборудования и настроек). Далее, если в имитаторе присутствует, например, 1000 источников звуков, то в 255 источниках остаются и воспроизводятся только те звуки, которые находятся ближе всех к слушателю. Остальные источники не воспроизводятся и называются «виртуальными». Для особенно важных звуков можно назначить приоритет, который препятствует, например, их переход в состояние «виртуальных». Также возможна замена группы точечных источников на один эквивалентный точечный источник, расположенный в центре группы, если выполняются следующие условия – источники приблизительно равноценны по излучению и расположены примерно на одной высоте над землей, условия распространения звука от источников до приемника одинаковые, расстояние от эквивалентного точечного источника до приемника больше удвоенного максимального размера группы источников.
Затухание звука
Для обеспечения «правдоподобного» звукового окружения необходимо учитывать затухание звука. OpenAL на текущий момент поддерживает несколько моделей для представления распространения звука в пространстве, включая модели IASIG I3DL2 (Interactive Audio Special Interest Group).
Естественно, что каждый объект уникален в плане затухания производимого звука, зависит от частоты и мощности, кроме того значительное влияние на затухание имеет среда и наличие препятствий. Для примерной оценки и подбора необходимых коэффициентов при распространении звука вне помещения можно воспользоваться методикой, описанной в следующих документах:
- ISO 9613-1:1993 Акустика. Ослабление звука при его распространении вне помещения. Часть 1. Вычисление поглощения звука атмосферой.
- ISO 9613-2:1996 Акустика. Ослабление звука при его распространении вне помещений. Часть 2. Общий метод вычисления.
Расчетные формулы указанных стандартов справедливы для затухания звука от точечного источника (что очень хорошо согласуется с OpenAL). Протяженные источники шума, такие как автомобильный поток, поезда на железной дороге или предприятие, на котором может быть несколько установок могут быть представлены совокупностью единичных источников шума (частей, секций и т.д.), каждый из которых имеет известные звуковую мощность и показатель направленности.
Затухание рассчитывают по формуле (ISO 9613-2:1996 Часть 2) :
A = Adiv + Aatm + Agr +Аbar + Amisc, где
- Adiv – затухание из-за геометрической дивергенции (из-за расхождения энергии при излучении в свободное пространство) по 7.1 стандарта ;
- Aatm – затухание из-за звукопоглощения атмосферой по 7.2 стандарта;
- Agr – затухание из-за влияния земли по 7.3 стандарта;
- Аbar – затухание из-за экранирования по 7.4 стандарта;
- Amisc – затухание из-за влияния прочих эффектов (см. приложении А стандарта).
Использование расчетных формул стандарта ISO 9613 позволяет учитывать огромное количество факторов, таких как, затухания из-за экранирования, затухание при распространении звука через листву, затухание при распространении звука в промышленных зонах, затухание при распространении звука в жилых массивах, метеорологические условия (температура, относительная влажность, атмосферное давление), свойства грунта и т.д.). Такая возможность позволяет достаточно достоверно формировать звуковую картину имитатора.
Для примерной оценки и подбора необходимых коэффициентов при распространении звука внутри помещения можно воспользоваться методикой, описанной в ГОСТ Р 52797.3 – 2007 (ИСО/ТО 11690-3:1997) Акустика. Рекомендуемые методы проектирования малошумных рабочих мест производственных помещений. Часть 3. Распространение звука в производственных помещениях и прогнозирование шума.
В силу достаточно большого объема изложения расчетных формул стандартов в данной работе приведены только практические исследования коэффициентов затухания различных источников звука (как в помещении, так и вне помещения), использование которых может помочь при разработке имитаторов. Для определения реального коэффициента затухания необходимо проведение эксперимента. Для этого необходимо произвести запись звука на различном расстоянии (например с помощью диктофона) и затем произвести необходимые замеры для нужных частот при помощи любого звукового редактора на компьютере. Также можно использовать анализатор спектра (например, Phonic PAA2) для получения данных «на месте».
Звуковые эффекты окружающей среды
Согласно спецификации OpenAL 1.1 компании Creative, новые разработки должны использовать интерфейс OpenAL EFX, который более плотно интегрирован со всей средой OpenAL. Расширение ALC_EXT_EFX добавляет в OpenAL поддержку звуковых фильтров и эффектов для выводимого звука.
К любому источнику звука можно добавить фильтр или определенный звуковой эффект, преобразующий звуковые данные. За счет использования звуковых фильтров и эффектов появилась возможность моделировать звуковое окружение для слушателя. Так можно задать обработку звука, моделирующую пространство определенного помещения (ангара, холла и т.п.). В реальной жизни подобные эффекты окружения получаются за счет многократного отражения и поглощения (а также рассеивания) звука стенами (а также полом и потолком) помещения. Если источник звука находится внутри помещения, то будет происходить многочисленные переотражения звука от стен, поля и потолка. При этом, как размер помещения, так и материал, из которого изготовлены его стены, пол и потолок, будут оказывать сильное влияние на то, как воспринимается слушателем итоговый звук. По замыслу разработчиков OpenAL каждый эффект соответствует определенному помещению (environment), а используемые фильтры позволяют более точно учитывать особенности распространения и отражения звука, за счет расчета акустической среды окружения и ее взаимодействия с источниками звука. По мере распространения звука, звуковые волны вступают во воздействие со средой, в которой распространяются.
При распространении звуковые волны достигают слушателя различными путями: прямой путь к слушателю, первичные отражения, вторичные отражения, прохождение сквозь препятствия. Прохождение препятствий, как правило, моделируется тремя эффектами – эффект окклюзии (occlusion — преграждение), возникающий при прохождении звука через препятствие; Obstruction (помеха, препятствие); Exclusions (исключение), когда источник и слушатель находятся в разных комнатах, но между ними есть прямая видимость, и, как следствие, звук полностью попадает к слушателю, а отраженный звук пройдет через проем в стене не весь и исказится.
Эффект occlusion (преграждение), obstruction (помеха, препятствие) и exclusions (исключение)
Для более точного моделирования распространения звука можно использовать метод конечных элементов или метод трассировки (по аналогии с построением изображения методом трассировки лучей). Это гарантирует высокую точность, но потребует достаточно больших вычислительных ресурсов.
Больше информации доступно в разделе Технологии