Добавление звуков в ваш модуль

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

Ключевые элементы

Вы можете посмотреть пример в модуле ‘Native’.

Основное руководство

  1. Скопируйте файлы примеров и папку в свой собственный модуль
  2. Добавьте новые звуки в папку ModuleSounds
  3. Откройте module_sounds.xml в вашем модуле
  4. Вы увидите категории звуков, пример кода для воспроизведения звуков и примеры записей module_sound в исходном файле module_sounds.xml.
  5. Добавьте новую запись в файл вашего мода module_sounds.xml
  6. Воспроизведите новый звук из кода

Двигаемся дальше

Использование module_sounds.xml

    <module_sound name="example/combat/hit" is_2d="true" sound_category="mission_combat" path="example_sound_modders.ogg" />

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

    int soundIndex = SoundEvent.GetEventIdFromString("example/voice/charge"); //чтобы избежать строковых операций во время выполнения, soundIndex можно кэшировать.
    if (playOneshot)
    {
        MakeSound(soundIndex, MainAgent.Position, false, true, -1, -1); //воспроизводит звук одного выстрела в позиции с заданными параметрами.
    }
    else
    {
        SoundEvent eventRef = SoundEvent.CreateEvent(soundIndex, Scene); //получить ссылку на звук и обновить параметры позже.
        eventRef.SetPosition(MainAgent.Position);
        eventRef.Play();
    }

У вас есть два способа воспроизвести звук: