☰

Добавление звуков в ваш модуль (Устарело)

Звуковая система 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();
    }

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

Эта страница переведена с помощью ИИ и может содержать неточности. Оригинал на английском языке является основным источником.