Моддинг звуков в Bannerlord


Моддинг звуков в Bannerlord 

Оригинальная статья - ​https://forums.taleworlds.com/index.php?threads/modding-sound-music-documentation.433302/​​​

Моддинг звуков
Документация



1.1 Добавление новых звуков

Все новые звуковые файлы должны быть добавлены в папку модуля ModuleSounds.
Расположение: \Mount & Blade II Bannerlord\Modules\YourModule\ModuleSounds

Для пользовательских модулей потребуется создать новую папку ModuleSounds. Для звука рекомендуется использовать файлы .ogg или .wav, но у обоих есть свои плюсы и минусы. Файл .ogg обычно имеет меньший размер, но более низкое качество звука, тогда как файл .wav имеет более высокое качество звука, но имеет большой размер файла. Зарезервирование файлов .wav для приоритетных звуков может помочь найти правильный баланс между местом на диске и общим качеством звука. Native, похоже, использует .wav для звуковых эффектов и .ogg для музыки, однако у них больше свободы действий с точки зрения дискового пространства, чем у модов.

1.2 Определение новых звуков

После добавления звука файл module_sounds.xml необходимо добавить в папку ModuleData (просто скопируйте и вставьте его из Native). Этот файл используется для определения каждого звука и присвоения им категории, чтобы правильно вести их через движок. Категории звука функционируют как шаблоны/микшер треков, каждая из которых применяет различные эффекты к звукам, а это означает, что при добавлении звука важно назначить правильную категорию. Кроме того, если звуку не присвоена допустимая категория, он не будет воспроизводиться в игре.

\Mount & Blade II Bannerlord\Modules\YourModule\ModuleData\module_sounds.xml
Примеры звуков можно найти в нижней части файла.
<module_sound name="example/combat/hit" is_2d="true" sound_category="mission_combat" path="example_sound_modders.ogg" />

Чтобы определить новый звук, скопируйте одну из строк примера, вставьте ее ниже и измените.

Каждая запись содержит следующие 4 свойства:


Вот расширенный список всех категорий звуков, включая описания и примеры:


2.1 Воспроизведение звуков

В этом разделе рассказывается, как воспроизводить звуки в различных игровых ситуациях. Он включает документацию по воспроизведению голосовых строк, а также звуков в сценах, карте кампании, анимации, частицах и, в конечном итоге, из кода и пользовательского интерфейса. Это работа со временем будет меняться и расширяться.

2.1.1 Воспроизведение голосовых строк

В игре используются голосовые фразы для боя (ворчание, боль, смерть, боевые кличи), определения групп (пехота, кавалерия), приказов (следование, атака, передвижение), построений (строй, стена щитов, свободное построение), многопользовательского чата (помогите, спасибо, извините), и звуки коня (ожидание, ржание, ворчание при столкновении). Кроме того, голоса также используются для вокализации животных, такие как боль, смерть и ожидание.

При добавлении новых голосовых строк к модулю следует использовать категории звуков mission_voice, mission_voice_shout и mission_voice_trivial в зависимости от типа голоса (см. 1.2 Определение новых звуков).

Эти звуки обозначены в \Modules\Native\ModuleData\voice_definitions.xml, где все типы голосов перечислены выше, а все голоса персонажей перечислены ниже. Голос каждого персонажа вложен в тег <voice_definition>, и внутри этого тега каждая голосовая строка определяется тегом <voice>. Свойства каждого тега описаны ниже:





Пол каждого голоса находится в \Modules\Native\ModuleData\skins.xml (например: голоса взрослых мужчин находится в строке 1033 и голоса взрослых женщин находится в строке 3322). Чтобы воспроизводить голоса новых персонажей в игре, они должны быть добавлены к соответствующим скинам, что позволит игре выбрать правильный голос для каждого персонажа.

Вот список всех скинов из Native и используемых ими voice_types:


Вот руководство по добавлению и воспроизведению новых голосовых строк. В этом руководстве предполагается, что звуковые файлы уже были добавлены в игру (см. 1.1 Добавление новых звуков).


Примечание: в настоящее время существует, как я предполагаю, ошибка, из-за которой панорамирование пользовательских голосовых строк сходит с ума при предварительном просмотре голоса при создании персонажа. Независимо от того, является ли звук двухмерным (2D) или трехмерным (3D), это ни на что не влияет, также, как и переключение между моно и стерео.

2.1.2 Воспроизведение звуков для анимации

Воспроизведение звуков для анимации первоначально происходило через файлы XML, однако с тех пор они устарели. Вместо этого анимацию необходимо редактировать в окне Resource Browser (Браузера ресурсов) в Modding Kit. При открытии анимации в браузере ресурсов с правой стороны открывается Inspector, в котором можно найти свойства Sound Code (звукового кода) и Voice Code (голосового кода). В качестве звукового кода можно использовать название/ID любого добавленного звукового файла из module_sounds.xml (или звуковые коды Native, в \Mount & Blade II Bannerlord\Sounds\GUIDs.txt). Для голосового кода можно ввести типы голоса из voice_definitions.xml вместо пути к самому звуковому файлу.

Свойство Voice Code обычно используется для воспроизведения вокализаций животных или ездовых животных (бездействие, боль и т.д. как показано в нижней части voice_definitions.xml). Также возможно использовать и звуковой код, и голосовой код одновременно. Native часто делает это для ездовых животных в бою - например, анимация horse_kick воспроизводит звуковой код лошадиного пинка, а также голосовой код Neigh (ржание) из voice_definitions.xml. Другой пример - horse_run_collide, проигрывающий звуковой код для лошадиного чаржда, а также голосовой код Collide (столкновение).

При редактировании анимации можно выбрать несколько флажков для звука:
  • make_walk_sound: Добавляет звук ходьбы при воспроизведении анимации. В основном используется для анимации ходьбы.
  • make_bodyfall_sound: Добавляет звук падения тела при воспроизведении анимации. В основном используется для анимации падения.
  • do_not_keep_track_of_sound: Непонятно, что именно делает. В основном используется для анимации выпуска лука и арбалета.

Анимации Native можно найти в папке \Native\EmAssetPackages\animations вместе с Modding Kit для ознакомительных целей. Эти анимации защищены, что означает, что любые изменения их значений в Браузере ресурсов (Resource Browser) не будут сохранены. Вместо этого их придется перезаписывать новыми анимациями.

Вот краткое руководство по добавлению звуков в анимацию:


2.1.3 Воспроизведение звука на карте кампании

Карта кампании использует 2D звуки для окружения (ambience), например ветра или погоды для различных биомов. Эти звуки не воспроизводятся из какой-либо конкретной позиции или объекта.

Она также использует звуки 3D для воды (океаны, реки, озера и водопады), а также для поселений, сражений и осад. Обычно это делается путем добавления скрипта sound_emitter к объекту, из которого должен воспроизводиться звук. Поскольку вода не является объектом, вместо нее создается невидимый объект, из которого воспроизводится звук. Водопады обычно имеют звук, связанный с обрывом/скалой водопада. Для деревень разное окружение (ambience) зависит от ресурсов деревни (пшеница, лошади, шахты и т.д.). В этих случаях скрипт sound_emitter прикрепляется непосредственно к значку карты ресурса, а не к значку карты деревни. В деревнях, у которых нет ресурсов, просто нет звука окружения. Некоторые ресурсы, такие как виноградники, в настоящее время не имеют уникальных звуков и поэтому ничего не воспроизводят, несмотря на прикрепленные скрипты sound_emitter. Конечно, все это можно изменить. Звук можно воспроизводить практически из любого объекта на карте.

Чтобы воспроизвести звук в более крупной асимметричной области (моря и океаны) или при путешествии вдоль реки, можно создать пути (paths) для обозначения области. Затем звуковой объект можно привязать к этим путям, добавив скрипт path_converger к объекту и связав его с путем. Для рек эти пути обычно состоят из одной линии, идущей от центра реки, тогда как в океанах и морях часто используются пути, чтобы очертить края воды. Некоторые озера маленькие и достаточно симметричные, поэтому пути не нужны, и вместо этого измените значение Overrided Max Distance в скрипте sound_emitter, чтобы покрыть область.

Альтернативой использованию sound_emitter и path_converger является скрипт SoundSpline. Этот скрипт представляет собой комбинацию двух скриптов в одном. Карта кампании Native не использует этот метод, поэтому предположительно он был добавлен после создания карты.

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



Как воспроизводятся звуки отрядов, осады и городов, в настоящее время неизвестно. Я обыскал каждую иконку на карте на предмет городов и осадных лагерей, но не нашел скриптов, воспроизводящих звук. Воспроизведение звука для отрядов, вероятно, происходит путем изменения файлов, однако я еще не нашел этого.

Вот гайд по воспроизведению звуков на карте кампании:


2.1.4 Воспроизведение звуков в сценах

Воспроизведение звука в сцене по сути аналогично добавлению звука на карту кампании, за исключением того, что могут использоваться другие скрипты. Сцены из Native часто воспроизводят звуки окружения в поселениях, добавляя скрипт AmbientSoundEmitter к различным объектам в сцене. Городские сцены, например, создают невидимый объект market_ambient_sound в середине рынка, объект city_ambient_sound в центре города и plains_ambient_sound в середине области за пределами стен. Деревни создают объект village_ambient_sound, а замки также просто используют звук окружения равнины.

Эти объекты воспроизводят следующие звуковые коды:
  • market_ambient sound
    • event:/mission/ambient/area/market
  • city_ambient_sound
    • event:/mission/ambient/area/city
  • plains_ambient_sound
    • event:/mission/ambient/area/plains
  • village_ambient_sound
    • event:/mission/ambient/area/village

Они могут меняться в зависимости от окружения сцены (например, в пустынных сценах используется окружение пустыни вместо окружения равнины).

С помощью скрипта AmbientSoundEmitter можно установить разные звуковые коды для разных сезонов, а также для сцены в состоянии осады. Игра будет динамически переключаться между этими звуковыми кодами в зависимости от того, какие факторы верны в данный момент. Городские сцены Native часто используют его, чтобы переключиться на зимнее окружение (event:/mission/ambient/area/winter) в зимний сезон, воспроизводя городское окружение по умолчанию в другие сезоны. Для осады код меняется на окружение равнины, чтобы город казался менее живым во время войны.

Объекты, использующие скрипт AmbientSoundEmitter, могут, конечно, также быть подключены с помощью скрипта path_converger, чтобы звук следовал по пути и охватывал большую область (см. 2.1.3 Воспроизведение звука на карте кампании для получения дополнительной информации).

Примерами других вариантов использования окружения экстерьера (exterior) сцен являются арены, реки и леса. Для интерьерного (interior) окружения есть звуки для пещер, темниц, крепостей, рынков, таверн и многого другого. Есть также окружение для таких деталей, как фонтаны, мельницы и некоторые здания. В сценах также воспроизводятся частицы факелов, каминов и т.п. Однако они не добавляются непосредственно к объекту, поэтому они будут рассмотрены в следующей части (2.1.5 Воспроизведение звука для частиц).

Ниже приведен список всех звуков окружения, используемых в сценах Native.
Их также можно найти, выполнив поиск по запросу «event:/mission/ambient/» в \Mount & Blade II Bannerlord\Sounds\GUIDs.txt.


2.1.5 Воспроизведение звуков для частиц

Игра в основном воспроизводит звук для частиц огня (например, факелы, камины, огонь на зданиях при осаде). Эти частицы можно найти в различных XML-файлах particle_systems в \Modules\Native\ModuleData. Звук можно назначить к определенным частицам, добавив sound_code в код эффекта частицы.

Кратким этого примером является вторая строка в файле particle_systems_basic.xml.

<effect name="invalid_particle" guid="{39cdecb3-046b-4a8b-8e71-533bb7f6c882}" sound_code="event:/mission/ambient/detail/fire/fireplace">

Не все частицы из Native воспроизводят звуки, но простое добавление sound_code в тег эффекта позволит проигрывать звук. Как и при воспроизведении звука в любом другом месте, этот sound_code может быть установлен на название/ID любого пользовательского или собственного звука. Затем он будет встроен в частицу при добавлении в сцену в игре.



3.1 Извлечение звуков из Native

TaleWorlds использует программное обеспечение FMOD, которое было интегрировано в игру для разработчиков. Это означает, что в основном все звуки, используемые в игре, можно найти только в файлах .bank, и их нелегко открыть. Звуки игры находятся в папке \Mount & Blade II Bannerlord\Sounds, которая содержит следующие элементы:
  • PC = папка, содержающая основные звуковые ресурсы в файлах .bank.
  • VO = папка, содержающая озвучку в сюжетном режиме в файлах .ogg.
  • GUIDs.txt = Документ, определяющий все звуки Native и их звуковые коды.
.banks, содержащие звуковые ресурсы, находятся непосредственно в папке PC. Они разделены на такие категории, как бой, окружение, музыка, голос, шаги и многое другое. Игра загружает эти .banks в \Modules\Native\ModuleData\soundfiles.xml. .banks также можно извлечь, удалив их строки в этом документе, заменив любые экземпляры звуков .banks тишиной. Однако от этого ничего не получится, поскольку отдельные звуки можно легко заменить другими файлами, а извлечение .banks не сэкономит места на диске. Считайте это забавным фактом, но в этом нет ничего забавного. Хотя голосовые строки .bank могут быть удалены, фактически отключая звук для каждого персонажа. Может быть, это делает факт более интересным.

Руководство по извлечению файлов .bank можно найти здесь ("Getting audio files from .bank and .fsb files" on YouTube). Это может быть полезно для изучения названий файлов, форматов, битрейта, битовой глубины, микширования и т.д.




- используйте эту кнопку если вы обнаружили ошибку/искажение содержимого/отсутствие контента в новости или если хотите сообщить администрации о выходе новой версии мода и т.п.

Комментариев 0

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Онлайн

Сейчас на сайте: 205
Гостей: 203

Пользователи: 
- отсутствуют

Последние комментарии

Парламент commando
Samiraldos, Сегодня, 08:55
Цитата: ArtkolobokSamiraldos, Хорошо, но чтобы получить быстрый ответ, заходи на наш дискорд...
Парламент commando
Artkolobok, Вчера, 13:56
Samiraldos, Хорошо, но чтобы получить быстрый ответ, заходи на наш дискорд сервер:...
Парламент commando
Samiraldos, Вчера, 07:44
Цитата: ArtkolobokSamiraldos, Идея с партиями давно утратила свою актуальность, да и никто особо не...
MOD Voice Acting - AI Voice Acting for Every Character
Gut, 19 ноября 2024 18:13
с возвращением, грац!!...
Парламент commando
Gut, 19 ноября 2024 18:03
Samiraldos, Если есть желание, то всегда можно найти компромисс. Сами по себе партии утратили...
Парламент commando
Artkolobok, 19 ноября 2024 09:57
Samiraldos, Идея с партиями давно утратила свою актуальность, да и никто особо не хочет этим...
Парламент commando
Samiraldos, 19 ноября 2024 03:23
Я бы добавил должность партии в виде фрилансеров. Ну допустим я играю сейчас в МиБ потом буду...
Кольца
Samiraldos, 19 ноября 2024 03:06
https://commando.com.ua/uploads/posts/2018-05/1525510484_zol-bol-rad.png...