[Из песочницы] Саунд-дизайн тяжёлой брони для проекта InSomnia

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


В работе мы не будем использовать известные middleware-инструменты для звука (Wwise, Fmod), а обойдёмся штатными инструментами Unreal Engine 4.

Общий план работы


Всю работу можно разбить на несколько основных этапов:

  • Концепт — думаем над вопросами: как мы будем делать звук? Как будем внедрять?
  • Саунд-дизайн в аудио-секвенсоре — готовим все необходимые wav-файлы.
  • Саунд-дизайн в Unreal Engine 4 — внедряем wav-файлы, делаем ассеты, крепим к анимациям.


Далее обо всём по порядку.

1. Концепт


Игра делается в дизель-панк стиле, значит мы будем использовать механические звуки. Никакой электроники или sci-fi элементов не должно быть. Это не робот, это именно броня. Внутри находится человек. Человек окружён механизмами и системами.

Озвучиваемая броня — это мощная штука в игре. Звук явно не должен быть миниатюрным или няшным. Когда мы видим такого персонажа, мы должны понимать, что это парень серьёзный.

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

  1. Голос.
  2. Ранец.
  3. Металлические/механические звуки.


46f1e7ff771c4703933c15d4a3ac9de2.jpg

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

Внедрять в проект будем стандартными средствами Unreal Engine — с помощью Sound Cue и их креплению к соотвествующим анимациям.

2. Саунд-дизайн в аудио-секвенсоре


Для саунд-дизайна я использую Ableton Live, потому что у него в комплекте уже идут очень простые и интересные плагины для аудио-манипуляций, а сам дизайн программы ориентирован на высокую скорость работы с аудио.

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

2.1. Голос


Для записи голоса я использовал отечественный микрофон Oktava MK-012 с капсюлем от MK-101. Он недорогой и, учитывая то что мы будем серьёзно искажать полученный материал, качество записи нам не так важно. Вот что получилось в результате записи:

Вот так звучит обработанный материал:

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

26fdf31ea2594c099a6f2ec02792d4d2.jpg

2.2. Ранец


Для ранца мы используем следующие материалы:

  1. Воздушный пар (steam).
  2. Водные пузыри — пробрасываем связь с голосом.
  3. Синтезатор Analog с булькающим звуком — для дополнительной окраски. На синтезаторе используем только ноту ля (А-1), т.к. основная тональность в игре ля-минор. Конечно, эта составляющая мало слышима и скорее работает на каком-то подсознательном уровне, но лучше что бы и здесь было всё впорядке.
  4. Лёгкие электрические искры.
  5. Шипение кислоты.


Кидаем всё в один котёл, обрабатываем, получаем такие звуки:

Подробную схему обработки с моими настройками можно посмотреть здесь (откройтие картинку в отдельной вкладке, что бы рассмотреть детали):

fd0c2039989e4f5983e0d5f6ed4289fc.jpg

2.3. Механика/металл


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

8e10e3d0adb3451d88457776e46a0e18.jpg

Вот как это звучит:

После того как все wav-файлы отрендерены, загоняем их в звуковой редактор (я использую Adobe Audition), редактируем на чистовую (отрезаем тишину в конце, убираем возможные артефакты). Все файлы делаем 44.1kHz, 16 bit, mono. Получаем пак звуковых файлов, готовых к загрузке в Unreal Engine 4.

2. Саунд-дизайн в Unreal Engine


Теперь наша задача воссоздать проделанную работу в секвенсоре, но уже инструментами Unreal Engine. Импортируем заготовленные wav-файлы, создаём ассеты Sound Cue с названиями, соответсвующими нашим событиям. В данной работе я разделил звуки брони, ранца и голоса по трём отдельным Sound Cue ассэтам. Это связано с тем, что в нашей системе нэйминга аудиофалов все шаги и голоса лежат отдельно. Сливать всё в один ассэт не логично, хотя в данном случае озвучки брони это было бы удобным. Будем придерживаться существующей системы.

При создании Sound Cue основным инструментом являются следующие звуковые компоненты (Sound Nodes):

  • Modulator — модулирует каждую итерацию звука по высоте тона и громкости.
  • Random — выбирает случайным образом один сэмпл из всех предложенных.


Вот как выглядит ассэт шагов нашей тяжёлой брони:

74969ecfab274c2c980ee51b2dcfd2e5.jpg

Здесь мы видим и Random (выбирает из 4-х сэмплов) и Modulator (модулирует выбранные сэмпл случайным образом). Также видим два разделённых пака шагов — у одного в имени файла просто «harm», у второго «harm1». Это произошло, потому что предполагались две разных тяжёлых брони в игре, озвученных чуть-чуть по разному. По техническим причинам пока что остаётся одна озвучка, но сделанное разделение сохраняется (возможно в будущем этот момент реализуется). «harm» — это общие низкочастотные части шагов, а «harm1» — это более высокочастотные части. Для второй брони файлы «harm1» поменяются на «harm2» (визуально вторая броня более «кольчужного типа», как раз здесь это учитывается).

Далее полученные ассэты шагов мы крепим к соответсвующим анимациям. Например, крепление к анимации бега выглядит так:

92d7e9ce70834439b4f594d8888974de.jpg

В завершении предлагаю ещё раз пересмотреть все получившиеся ассэты:

На видео:

  • Правая часть экрана — ассэт анимации и строка времени с проставленными звуковыми ассэтами.
  • Левая часть экрана — открытые звуковые ассэты, используемые в данной анимации.


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

Надеюсь, эта статья будет полезна всем, кто работает с Unreal Engine. Спасибо за внимание!

© Habrahabr.ru