Всадники Кальрадии
Разное => Том 2: Mount & Blade 2: Bannerlord => Учебник (руководство) => Статьи => О сайте и форуме => Раздел 2. Инструменты мододела => Тема начата: Vanok от 27 Октября, 2020, 15:17
-
Автор: Alisacat007 (https://rusmnb.ru/index.php?topic=23449.0)
Аудиосистема Bannerlord построена на фирменной аудиосистеме FMOD. Чтобы сохранить производительность звукового движка и сделать его доступным для всех, нам нужно было создать свой внутриигровой аудиопроигрыватель.
В файл ...\Modules\*ВАШ МОД*\ModuleData\module_sounds.xml вы прописываете названия своих звуковых файлов.
В папку ...\Modules\*ВАШ МОД*\ModuleSounds вы помещаете свои новые аудиофайлы (.ogg, .wav).
В качестве примера можно посмотреть, как это реализовано у разработчиков в их модуле ‘Native’.
1. Скопируйте примеры файлов и папок из модуля ‘Native’в свой собственный модуль.
2. Добавьте свои новые звуки в папку ModuleSounds
3. Откройте файл module_sounds.xml в вашем модуле.
4. Просмотрите пример записи кода звуковых файлов в файле module_sounds.xml модуля ‘Native’.
5. Добавьте новые строки в файл module_sounds.xml своего мода.
6. Воспроизведите для проверки новое звуковые записи из кода.
Using module_sounds.xml (Помощь в создании файла module_sounds.xml) :
(https://rusmnb.ru/img2/rukovodstvo/bannerlord/editor/1603827716_359e9a227966.png)
,где :
‘name’ : любое уникальное имя, которое вы хотите. Это идентификатор вашего звука.
Используется во время воспроизведения звука из кода.
Используется для воспроизведения звука анимации, добавив к анимации свойство 'sound_code'.
‘is_2d’ : (Звук является 2d) Ставится значение "true" (верно), если пространственные свойства звука не будут использоваться. 3d звуки имеют свойства, как (position) расположение в пространстве, (velocity) скорость воспроизведения и т.д.
‘sound_category’ : Все звуки должны быть отнесены к определенной категории, чтобы они правильно воспроизводились.
Доступные категории:
mission_ambient_bed (Звук, движущийся в игре по кругу. Напр. ветер)
mission_ambient_3d_big (Звуки, которые должны быть слышны издалека. Напр. горящий замок)
mission_ambient_3d_medium (Звуки, которые должны быть слышны со среднего расстояния. Напр. удаленный костры)
mission_ambient_3d_small (Звуки, которые должны быть слышны поблизости. Напр. костры в лагере)
mission_material_impact (Звуки физических материальных воздействий. Напр. удар металлического меча о каменную стену)
mission_combat_trivial (Звуки несущественного урона. Напр. низкий/нет урона)
mission_combat (Звуки повреждений)
mission_foley (Взмахи оружия, звук шагов, звуки движения животных)
mission_voice_shout (Звуки голоса людей/животных, которые должны быть слышны издалека. Напр. боевые крики)
mission_voice (Звуки от людей/животных. Напр. хрюканье, удары по лицу)
mission_voice_trivial (Тихие вокализации, такие как лазание, прыжки)
mission_siege_loud (Звуки больших осад, которые звучат так, словно валун врезается в стену, катапульта стреляет, дверь ломается)
mission_footstep (Стандартные шаги людей и мелких животных)
mission_footstep_run (Более громкие шаги, которые можно услышать издалека. Напр. толпы)
mission_horse_gallop (Галоп лошадей и верблюдов)
mission_horse_walk (Мягкий шаг лошадей и верблюдов)
ui (2D звуки для пользовательского интерфейса и уведомлений)
alert (Псевдо-3d звуки для оповещения игрока со средней дистанции)
campaign_node (Позиционные звуки для карты мира, ферм, морей, водопадов)
campaign_bed (2D окружающие звуки для карты мира, порывов ветра в пустыне, ветры на травяных пастбищах и т.д.)
‘path’ : Имя звукового файла для воспроизведения [обязательно с его расширением]. Путь (Path) указывается относительно папки ModuleSounds вашего модуля. Вы можете создавать подпапки.
(https://rusmnb.ru/img2/rukovodstvo/bannerlord/editor/1603827685_a92eef1dbff3.png)
У вас есть два способа воспроизведения звука :
One Shot (Один выстрел). Лучшая производительность и меньше контроля за управлением. Выстрелил и забыл. Хорошо подходит для звуков, связанных с боем.
Creating and holding (Создание и удержание ссылки). Худшая производительность. Контролируйте каждый параметр звука всякий раз, когда вы хотите его произвести. Обновление состояния во время паузы.