Если в вашей игре для звука используется FMOD

Надежда Гурская Статья 0 Comments

Короткая инструкция по пониманию fmod event’ов для тех, кто столкнулся с FMOD впервые.

Что важно знать, если в вашей игре для звука используется FMOD
Напрямую к игре подключаются не звуки, а FMOD Events, то есть звуковые события, которыми оперирует звуковой движок FMOD. FMOD Event - контейнер, внутри которого может находиться абсолютно любое содержимое, влияющее на микс, в том числе - технические команды от одних Events к другим: звук, несколько звуков, лотерея
Кощеева смерть, швейцарский нож, музыкальная шкатулка, команды другим fmod-событиям, временное изменение правил микса, безграничные возможности
Создание fmod-событий и из настройка происходит в редакторе FMOD Studio. Для того, чтобы звук стал доступен игре, ивент помещается в специальный банк. Sound Bank хранит свойства ивента, полный и уникальный путь к нему (по структуре FMOD Studio проекта), его связи с другими ивентами, уникальные и общие настройки микширования и все необходимые звуковые ресурсы.
В один Bank может быть помещено множество ивентов и звуков. Для игры может быть создано множество Sound bank'ов.
Как ивенты выглядят вне FMOD проекта? Особо никак... Ивент - не файл. Фактически, игра для запуска каждого звукового события будет спрашивать у FMOD движка, есть ли в банках такое событие. Если событие ожидаемо, но на запрос не возвращено со стороны FMOD - будет выдан ассерт (assert). Чтобы обратиться к событию, игра должна содержать в описании звуковых ресурсов полный путь события. Effects/Ducks/BigDuckSpeech
Некоторые ивенты для управления могут содержать параметры - рычажки, кнопочки, счётчики - виртуальные контроллеры, которые саунд дизайнер прикрепляет к ивенту, чтобы ивент мог помимо сигнала к запуску и остановке принять от игры какое-то число и изменить звучание соответственно запланированному внутри себя сценарию для этого числа.
Как будет называться параметр и чем он будет управлять - зависит исключительно от технической и творческой задачи, которую преследует саунд-дизайнер, и придуманного им решения.
Например, создадим параметр State, он будет управлять выбором содержимого - одной из двух ячеек ивента. 1= сундук пуст, 2= сундук полон.
Или придумаем параметр Mix для музыкального ивента, проигрываемого в зоне Match-3, и соответственно получаемой цифре прогресса на уровне - будем менять вариант микса музыки внутри уже запущенного ивента.
До этого мы сделали 2 дискретных параметра, а можем создать линейный (плавно меняющий значения). К примеру, пусть это будет параметр Speed, получающий значения скорости батискафа, масштабированные до градации чисел от 0 (нет движения) к 1 (максимальная скорость). Внутри ивента эти значения станут управлять скоростью оборотов винтов (контролем аудио семпла со звучанием соответствующим условной текущей скорости).
Вот и всё! То есть, всё самое основное. Вариантов организации и использования ивентов и их параметров - огромное множество. Выше мы рассмотрели лишь некоторые из них. Теперь у вас есть базовые знания о том, как с этим работать.