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



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

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


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

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

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

1. Концепт


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

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

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

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



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

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

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


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

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

2.1. Голос


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



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



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



2.2. Ранец


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

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

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



Подробную схему обработки с моими настройками можно посмотреть здесь:



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


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



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



После того как все 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 — выбирает случайным образом один сэмпл из всех предложенных.

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



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

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



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



На видео:

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

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

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

Комментарии (9)


  1. RealFLYNN
    08.12.2015 14:09
    +1

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


    1. headshotlab
      08.12.2015 15:31
      +3

      Сделаю это темой следующей статьи. Надо подумать как это проще всего рассказать. Если быть кратким, то в UE4 есть тип аудио-ассетов «attenuation». Внутри этих ассетов задаются пространственные параметры звука — на каком расстоянии он начинает угасать, по какой кривой и нужно ли применять НЧ-фильтр. Далее нужную аттенюацию указываем в Sound Cue (в Details). Потом просто перетаскиваем Sound Cue на сцену (он конвертится в Ambient Sound Actor) и видим как источник звука (такая колоночка), так и его аттенюацию (по умлочанию это сфера). Сэмплы на такие вещи лучше готовить в wav 44.1kHz 16-bit (это стандарт анрила) в mono. Стерео здесь ни к чему, т.к. источник точечный, нужно лишь поставить на уровень реверберацию (отдельный тип ассетов), что бы эти моно-источники более-менее детектились бинаурально. А вот если вы кидаете на уровень общий эмбиент-луп или музыку, то её уже в стерео и без указания аттенюации. Так она будет везде и всегда.


  1. Loxmatiymamont
    08.12.2015 15:15
    +3

    Мне водные звуки покоя не дают — у него в шлеме аквариум чтоли?


    1. headshotlab
      08.12.2015 15:35
      +1

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


      1. FrozmatGames
        09.12.2015 07:50

        Мне кажется проблема в дизайне костюма как таковом. Потому что звуки вполне «стимпанковские» если можно так выразится. А вот дизайн такого закрытого шлема с горящими глазами подразумевает что внутри стоит монитор, типа как у железного человека. Что на стимпанк не похоже, это что-то футуристическое. То есть звуки не соответсвуют картинке. Я бы, на свой вкус, добавил бы звук резины при движение, так как не похоже что у персонажа есть какие-то сервамоторы. Больше похоже на бронированный костюм водолаза (особенно по булькающим звукам). И возможно не хватает механических звуков пулемёта при движение. Там вроде как ящик с патронам сзади, как минимум он точно должен громыхать. Есть некоторые моменты в анимации, когда нет вообще никаких звуков, что опять же немного противоречит картинке. Такой массивнный персонаж бесшумно двигаться не может.


        1. headshotlab
          09.12.2015 08:48

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


  1. Lelik13a
    09.12.2015 09:02
    +1

    Какой то звук «полый» получился, как будто нет никого в костюме.


    1. headshotlab
      09.12.2015 10:34

      Мне так не кажется, вы смотрите видео или отдельно звуки слушаете? По-моему на видео всё в порядке.


      1. Lelik13a
        09.12.2015 11:57
        +1

        Видео смотрел, но настаивать не буду — шибко это всё субъективно. Возможно некоторое эхо на сцене с миниганом создало такое впечатление.