Перейти к содержимому
Korean Random
night_dragon_on

[Wwise] Пособие по созданию звуковых модов

Рекомендуемые сообщения

:gawi:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(редактировалось)

Полезные программы

 

'Объединение банков - BankJoin'

Экспериментальная программа для объединения нескольких банков в один: BankJoin.zip

Работает в командной строке, параметры - имена файлов с банками. BankJoin.exe bank1.bnk bank2.bnk bank3.bnk ...

Первый банк становится основным, т.е. берется его название, ID, звуки и события и к ним добавляются звуки и события из других банков.

Объединенный файл сохраняется с именем основного банка + .join. 
Желательно использовать банк с наибольшим кол-вом событий и звуков как основной.
Для успешной работы объединяемые банки должны быть сгенерированы из одного проекта, и чем проект проще - тем лучше (без лишних структур, эффектов и т.д.)

Корректная работа проверена на нескольких озвучках, но не гарантируется.

 

'Проигрыватель событий Wwise - BankPlayer'

Программа, для проигрывания событий из банков wwise, с использованием wwise sdk, т.о. достигается результат максимально приближенный к игре.

Кроме того, если известно имя события, то оно отображается при выборе банка.
Написана на скорую руку, почему-то не получается проиграть события из некоторых банков, но главное для меня - voiceover работает.

Для запуска нужен .net 4 и с++ runtime 2013 x86.
После запуска читает файл с названиями событий из своего каталога (events.txt) и считает их хэши, для поиска в банках.
Кнопкой Load выбирается каталог где лежит Init.bnk После чего двойным щелчком по имени события оно запускается.
При выборе конкретного банка показываются найденные в нем события.

Кнопка Export позволяет сохранить найденные в банках события в файл bank_events.txt

 

post-36010-0-37653200-1466018101_thumb.png

 

 

 

'Mods for modders - bank load, event mapping, etc.'

Link to EU forum

Микро-моды для загрузки банков, переназначения событий, и т.д.

SoundBankLoader.zip

SoundEventsMapper.zip

ChatCommandsVoice.zip

AdvancedBankLoader.zip

mod_soundUtils_0.9.15.1.zip (загрузка банков и переназначение звуков с json конфигурацией совместно с night_dragon_on)

 

 

 

'BNK fromat FAQ'

 

Что представляет собой bnk файл?

Это контейнер, содержащий различные события, которые могут быть вызваны игрой по имени или по номеру, также может содержать аудиопотоки. События хранятся в иерархической структуре:

1)    Событие ( game_start ), содержит 1 или более действий

2)    Действие (Play, Stop, Mute, …) ссылается на объект

3)    Объект – может быть контейнером, звуковым эффектом

a.     Контейнер (Случайный, Последовательный, …) содержит 1 или более звуковых эффектов

b.     Звуковой эффект – ссылается на аудиопоток

4)    Аудиопоток – собственно звук, может быть внедрен в банк, может лежать отдельно в виде файла, может быть упакован в pck файл

 

Можно ли узнать имена событий, имея только bnk файл?

Имена событий не хранятся в банках.

Каждое событие и каждый объект в банке должен иметь уникальный  номер ID (0 … 4,294,967,295). Для вычисления ID событий используется хэш функция FNV (https://ru.wikipedia.org/wiki/FNV) от имени события в нижнем регистре. 

Для подбора имени события приходится идти «от противного» - составлять список названий, вычислять их хэши, и сравнивать с номерами событий в банках.

 

Более подробно о структуре bnk файла

 

Файл состоит из секций, каждая имеет свой заголовок.

1)    4 байта – имя секции (BKHD, DIDX, DATA, HIRC, и др.)

2)    uint32 длина секции

3)    Данные

 

Секция BKHD – bank header

1)    42 4B 48 44 -- BKHD

2)    uint32: длина секции

3)    uint32: номер версии банка (в WoT 0x71)

4)    uint32: id банка, = FNV32(bankname)

 

Секция DIDX – data index

Это список звуковых потоков ( .wem файлов) упакованных в банк.

1)    44 49 44 58 -- DIDX

2)    uint32: длина секции

3)    Для каждого файла:

4)    uint32: .wem id

5)    uint32: смещение в секции DATA

6)    uint32: длина .wem файла в байтах

 

Секция DATA – звуковые потоки (wem файлы)

1)    44 41 54 41 -- DATA

2)    uint32 длина секции

3)    Для каждого файла:

4)    Массив байт длиной из секции DIDX , начинается с байтов 52 49 46 46 - RIFF.

 

Секция HIRC – иерархия объектов

1)    48 49 52 43 -- HIRC

2)    uint32: длина секции

3)    uint32: число объектов

4)    Для каждого объекта

5)    byte: тип объекта

6)    uint32: длина объекта

7)    uint32: id объекта

8)    byte[]: данные

 

'Использование памяти и оптимизация'

С выходом 0.9.15 некоторые озвучки перестали работать (совсем) или стали работать нестабильно.

У меня такое произошло с тестовой озвучкой Duke Nukem, которая замечательно работала в 9.14 и 9.14.1

 

Симптомы:

а) при загрузке банка с озвучкой возникает ошибка 52, звуков нет совсем

б) в начале игры звуки есть, а потом они пропадают.

При этом в логах можно видеть ту же самую ошибку 52 - недостаточно памяти.

INFO: [SOUND_ERROR] Cannot prepare sound bank: voiceover1.bnk. Code: 52
INFO: [SOUND_ERROR] Cannot prepare sound bank: voiceover2.bnk. Code: 52

и

INFO: [SOUND_ERROR] Sound fail: 85617264 Code: 52
INFO: [SOUND_ERROR] Sound fail: 1122640859 Code: 52

Подробности под катом

 

 

Что пишут по этому поводу на сайте разработчика звукового движка?

 

 

Wwise использует два пула памяти:

  • Default: Пул общего использования для звуковых структур высокого уровня. При загрузке банков, сюда попадают все не-WAV данные - это игровые объекты, события и связанные с ними позиции и структуры данных RTPC. Он также содержит очередь команд, где события накапливаются перед обработкой звукового потока. 
  • Lower engine: Основной аудио пул обработки звукового конвейера, по существу пустой, когда ничего не играет. Здесь выделяются все промежуточные буферы обработки для таких вещей, как декомпрессия, преобразования формата, обработки эффектов и смешивания.

По умолчанию размер каждого пула:

16 МБ в пуле памяти по умолчанию
16 МБ Lower engine

 

Какой размер использовать?

В большинстве случаев, лучше всего начать с использованием размера по умолчанию (16 Мб на пул). Имея такие большие размеры пула, вы можете легко выяснить, каково ваше реальное использование памяти, а затем вы можете урезать пулы соответственно.

Что у нас в engine_config.xml?

<memoryManager>
        <defaultPool> 12 </defaultPool>
        <lowEnginePool> 8 </lowEnginePool>
        <preparedPool> 106 </preparedPool>
        <streamingPool> 2 </streamingPool>
        <IOPoolSize> 4 </IOPoolSize>
      </memoryManager>

Размер буфера проигрывания и обработки уменьшен в 2 раза, дефолтный буфер тоже урезан...

 

Причины повышенного использование памяти

Следующие элементы могут вызвать высокое использование памяти:

  • Загрузка банков увеличивает использование пула памяти по умолчанию. Обратите внимание, что каждый банк использует различное количество памяти. Память, используемая банком в пуле памяти по умолчанию не зависит от физического размера банка, но зависит от количества звуков и событий, которые он содержит.
  • Некоторые эффекты, включая реверберация и задержка, потребляют определенное количество памяти при воспроизведении.
  • Воспроизведение нескольких звуков одновременно резко увеличивает объем памяти, используемой в нижнем пуле системы.
  • Отправка нескольких действий в короткий промежуток времени, увеличивает использование памяти в пуле по умолчанию.
  • Регистрация игровых объектов, установка "на объект" параметров, и настройка позиции объекта используют небольшое количество памяти в пуле по умолчанию. Тем не менее, следует помнить, что неиспользованные игровые объекты должны быть дерегистрированны, чтобы освободить эту память. В противном случае, объем используемой памяти постоянно увеличивается.

Если мы посмотрим на озвучку, то размер банка не превышает типичные размеры банков озвучки (4-12 Мб). Но он содержит более длинные звуки, и они начинают накладываться друг на друга, что вероятно "резко увеличивает объем памяти, используемой в нижнем пуле системы"...

 

При увеличении размера буферов до рекомендуемых размеров (по умолчанию) все приходит в норму.

      <memoryManager>
        <defaultPool>	16	</defaultPool>
        <lowEnginePool>	16	</lowEnginePool>
        <preparedPool>	106	</preparedPool>
        <streamingPool>	8	</streamingPool>
        <IOPoolSize>	8	</IOPoolSize>
      </memoryManager>

Может быть надо писать в ВГ с просьбой эти параметры увеличить?

 

 

Мои выводы

Настройки по-умолчанию:

  • defaultPool  12 Мб - используется для хранения информации о событиях, эффектах, структуре банков. Надо увеличивать при загрузке большого кол-ва банков или банков с большим кол-вом событий. Размер файла одного банка не связан с этим параметром напрямую, так как сами медиа файлы грузятся в отдельный буфер.
  •         lowEnginePool 8 - используется для распаковки и хранения звуков при проигрывании, наложении эффектов, задержек, и т.д. Надо увеличивать если проигрывается много звуков одновременно, если звуки длинные, с большой частотой дискретизации. КМК, роль играет размер WAV файлов до упаковки.
  •         preparedPool 106 - размер буфера для звуков с использованием Implicit Bank Loading / PrepareEvents, в.т.ч. звуков из pck файлов.
  •         streamingPool 2 - размер буфера для потокового звука, например музыки и звуков из pck файлов.

При использовании своей озвучки размеры надо увеличивать, можно начать с рекомендованных 16 /16.

 

'Списки событий'

 

0.9.15.01  -  0.9.15.01_bank_events.txt   

0.9.15.0.1 - updated 18.06.16  0.9.15.0.1s_bank_events.txt

0.9.15.0.1 - 0.9.15.01_banks_dump.txt

0.9.15.1 CT - 0.9.15.1_CT_bank_events.txt

0.9.15.1 CT - 0.9.15.1_CT1_bank_events.txt - updated utility.bnk names

Изменено пользователем D2R52
  • Нравится 6

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(редактировалось)

Альтернативный способ установки

 

'►Загрузка банка клиентом игры'

 

Загрузка стандартными средствами клиента:

 

Для подхвата вашего банка (контейнера) игровым клиентом вы должны внести его в список конфигурационного файла engine_config.xml:

<SFX_soundbanks_loadonce>
...
  <project>
    <name>sound_mod.bnk</name>
  </project>
...
</SFX_soundbanks_loadonce>

В примере наш банк с наименованием "sound_mod.bnk", который расположен по пути:

res_mods/X.Y.Z/audioww

*. где X.Y.Z - папка с названием версии игрового клиента

 

Параметр "defaultPool" - отвечает за ограничение размера загружаемого банка клиентом (по умолчанию выставлен порог в 12 Мб), если ваш звуковой банк превышает данный порог измените это значение.

<defaultPool> 12 </defaultPool>

 

Q: Как установить озвучку в клиент?
A: Установка с помощью редактирования оригинальных XML-документов

 

1.a. Скачиваем конфигурационные файлы:

 

engine_config.xml

sound_notifications.xml

 

1.b. Достаем их непосредственно из клиента:

 

res / engine_config.xml

res / packages / gui.pkg / gui / sound_notifications.xml

 

Декодируем их с помощью программы: PjOrion

 

2. Скачиваем архив с выбранной вами озвучкой (из раздела "Примеры озвучек")

3. Содержимое папки архива "audioww" переносим в папку модификаций клиента: "res_mods / 0.X.Y / audioww"

4. В конфигурационном файле, engine_config.xml - прописываем загрузку банка (контейнера) из выбранной озвучки:

подробно о загрузке банка (контейнера) расписано в разделе "Загрузка банка клиентом игры"

<SFX_soundbanks_loadonce>
...
  <project>
    <name>SM_gun_reloaded.bnk</name>
  </project>
...
</SFX_soundbanks_loadonce>

5. В конфигурационном файле, sound_notifications.xml - прописываем загрузку эвента (события) из выбранной озвучки:

заменяем содержимое оригинальных полей на модифицированные

 

Оригинальное значение поля

 

'sixthsense'

<sound_notifications.xml>
...
<observed_by_enemy>
    <fx>
      <wwsound> lightbulb </wwsound>
    </fx>
</observed_by_enemy>
...
</sound_notifications.xml>

'fire_started'

<sound_notifications.xml>
...
<fire_started>
    <voice>
      <wwsound> vo_fire_started </wwsound>
    </voice>
</fire_started>
...
</sound_notifications.xml> 

'ammo_Bay'

<sound_notifications.xml>
...
<ammo_bay_damaged>
    <voice>
      <wwsound> vo_ammo_bay_damaged </wwsound>
    </voice>
</ammo_bay_damaged>
...
</sound_notifications.xml> 

'enemySighted'

<sound_notifications.xml>
...
<enemy_sighted_for_team>
    <fx>
      <wwsound> enemy_sighted_for_team </wwsound>
    </fx>
</enemy_sighted_for_team>
...
</sound_notifications.xml> 

'crit_damaged'

 

1 раздел

<sound_notifications.xml>
...
<enemy_hp_damaged_by_projectile_and_chassis_damaged_by_player>
    <voice>
      <wwsound> vo_enemy_hp_damaged_by_projectile_and_chassis_damaged_by_player </wwsound>
    </voice>
</enemy_hp_damaged_by_projectile_and_chassis_damaged_by_player>
...
</sound_notifications.xml>

2 раздел

<sound_notifications.xml>
...
<enemy_hp_damaged_by_projectile_and_gun_damaged_by_player>
    <voice>
      <wwsound> vo_enemy_hp_damaged_by_projectile_and_gun_damaged_by_player </wwsound>
    </voice>
</enemy_hp_damaged_by_projectile_and_gun_damaged_by_player>
...
</sound_notifications.xml>

3 раздел

<sound_notifications.xml>
...
<enemy_no_hp_damage_at_attempt_and_chassis_damaged_by_player>
    <voice>
      <wwsound> vo_enemy_no_hp_damage_at_attempt_and_chassis_damaged_by_player </wwsound>
    </voice>
</enemy_no_hp_damage_at_attempt_and_chassis_damaged_by_player>
...
</sound_notifications.xml>

4 раздел

<sound_notifications.xml>
...
<enemy_no_hp_damage_at_attempt_and_gun_damaged_by_player>
    <voice>
      <wwsound> vo_enemy_no_hp_damage_at_attempt_and_gun_damaged_by_player </wwsound>
    </voice>
</enemy_no_hp_damage_at_attempt_and_gun_damaged_by_player>
...
</sound_notifications.xml>

5 раздел

<sound_notifications.xml>
...
<enemy_no_hp_damage_at_no_attempt_and_chassis_damaged_by_player>
    <voice>
      <wwsound> vo_enemy_no_hp_damage_at_no_attempt_and_chassis_damaged_by_player </wwsound>
    </voice>
</enemy_no_hp_damage_at_no_attempt_and_chassis_damaged_by_player>
...
</sound_notifications.xml>

6 раздел

<sound_notifications.xml>
...
<enemy_no_hp_damage_at_no_attempt_and_gun_damaged_by_player>
    <voice>
      <wwsound> vo_enemy_no_hp_damage_at_no_attempt_and_gun_damaged_by_player </wwsound>
    </voice>
</enemy_no_hp_damage_at_no_attempt_and_gun_damaged_by_player>
...
</sound_notifications.xml>

'gun_reloaded'

<sound_notifications.xml>
...
<gun_reloaded>
    <fx>
      <wwsound> gun_reloaded </wwsound>
    </fx>
</gun_reloaded>
...
</sound_notifications.xml> 

'gun_intuition'

<sound_notifications.xml>
...
<gun_intuition>
    <fx>
      <wwsound> gun_intuition </wwsound>
    </fx>
</gun_intuition>
...
</sound_notifications.xml> 

'sight_convergence'

<sound_notifications.xml>
...
<sight_convergence>
    <fx>
      <wwsound> sight_convergence </wwsound>
    </fx>
</sight_convergence>
...
</sound_notifications.xml> 

'enemy_killed'

<sound_notifications.xml>
...
<enemy_killed_by_player>
    <voice>
      <wwsound> vo_enemy_killed_by_player </wwsound>
    </voice>
</enemy_killed_by_player>
...
</sound_notifications.xml> 

 

Модифицированное значение поля

 
Заменяем ссылку в разделе:
<wwsound> "стандартная ссылка" </wwsound>

На свою в зависимости от нужного оповещения:

 

'sixthsense'

<wwsound> SM_sixthSense </wwsound>

'sixthsense (timer)'

<wwsound> SM_sixthSense_timer </wwsound>

'sixthsense (voice)'

<wwsound> SM_sixthSenseVoice </wwsound>

'sixthsense (voice, timer)'

<wwsound> SM_sixthSenseVoice_timer </wwsound>

'fire_started'

<wwsound> SM_fire_started </wwsound> 

'ammo_Bay'

<wwsound> SM_ammo_Bay </wwsound> 

'enemySighted'

<wwsound> SM_enemySighted </wwsound> 

'enemySighted (voice)'

<wwsound> SM_enemySightedVoice </wwsound>

'crit_damaged'

 

1 и 6 раздел

SM_crit_damaged

'crit_damaged (voice)'

 

1 и 3 раздел

SM_crit_damaged_chassis

2 и 4 раздел

SM_crit_damaged_gun

5 и 6 раздел

SM_crit_damaged

'gun_reloaded'

<wwsound> SM_gun_reloaded </wwsound>

'gun_intuition'

<wwsound> SM_gun_intuition </wwsound> 

'sight_convergence'

<wwsound> SM_sight_convergence </wwsound> 

'enemy_killed'

<wwsound> SM_enemy_killed </wwsound> 

 

 

6. После того как вы закончили редактирование конфигурационных файлов, разместите их в директории с модификациями по пути:

 

res_mods / 0.X.Y / engine_config.xml
res_mods / 0.X.Y / gui / sound_notifications.xml

 

Изменено пользователем night_dragon_on
  • Нравится 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем привет.

 

В мануале появился новый пункт касательно перепаковки из bnk в pck.

Именно так ВГ сам делает.

 

Автор, если знаешь, насколько этот пункт важен для банков средних и больших размеров как по весу, так и по количеству звуковых файлов внутри?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В мануале появился новый пункт касательно перепаковки из bnk в pck.

Автор, если знаешь, насколько этот пункт важен для банков средних и больших размеров как по весу, так и по количеству звуковых файлов внутри?

 

Судя по документации, создание банков в которых медиа файлы помещены в pck:

Не решат проблемы с банками с большим кол-вом звуков, событий - нехваткой defaultPool (12 Мб) так как место в нем тратится на сами события, эффекты и иерархию банков.

Возможно, решит проблемы с нехваткой Media memory pool - A general usage pool that contains a copy of the media files contained on the disk. так как streamed media не грузится в память при загрузке банка, а грузится с диска только при необходимости проигрывания. 

Т.е. для музыки и объемных длительных звуков.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что-то попробывал сам нефига не получилось.
Кто поможет звук лампочки новый сделать из моего файла wav
Желательно уменьшить громкость на 6-10дц, и наложить таймер в добавок

 

Lampa.wav

 

Все не надо разобрался сам.
Во всяком случае с лампой сложного ничего нет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(редактировалось)

 

 

Возможно, решит проблемы с нехваткой Media memory pool - A general usage pool that contains a copy of the media files contained on the disk. так как streamed media не грузится в память при загрузке банка, а грузится с диска только при необходимости проигрывания. 

Т.е. для музыки и объемных длительных звуков.

 

А...Э... В engine_config.xml (WOT) нет ничего напрямую похожего на Media memory pool. Есть:

<defaultPool>

<lowEnginePool>

<preparedPool>

<streamingPool>

<IOPoolSize>

 

Кто из них? Может быть это preparedPool?

А нет ли инфы, что это за файл (copy of the media files) и в какой директории он создается?

Изменено пользователем EagleB3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(редактировалось)

и в какой директории он создается?

 

Распакованные звуки из контейнера хранятся в системной директории для временных файлов для банков с расширением *.bnk

А в случае с контейнером *.pck они воспроизводятся непосредственно из него без распаковки во временную директорию.

 

Если я ошибся в сказанном @D2R52 меня поправит.

Изменено пользователем night_dragon_on

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

А в случае с контейнером *.pck они воспроизводятся непосредственно из него без распаковки во временную директорию.
 

Да вроде бы все так. 

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

В ВГшных pck хранятся только звуки, а соответствующие события хранятся в bnk с тем же именем.

 

П.С.

Я тут придумал, как объединять банки, для получения более 200 звуков в них, это нужно кому нибудь?

Собрал прогу на коленке но вроде работает. Ничего конечно не гарантируется, объединяются только секции звуков и событий (DATA, DIDX, HIRC). Банки должны быть сгенерированы из одного wwise проекта по очереди.

Вот думаю, на чем бы проверить. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(редактировалось)

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

Изменено пользователем spectrik

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(редактировалось)

Все уже описано.

Вот англоязычный мануал: http://forum.worldoftanks.com/index.php?/topic/489928-how-to-create-music-mods-0914/

Есть хороший русский перевод этого хозяйства, но ссылка на работе.

Вот еще http://forum.worldoftanks.com/index.php?/topic/488138-how-to-create-voice-mods-914-version-and-onward/page__st__60#topmost

Но оно не больно надо -  все отлично изложено в шапке этой ветки. По этим ссылкам можно/нужно взять только названия/описания эвентов (например, hangar_v2_music_lobby / hangar_prem_v2_music_lobby).

И еще есть маленькая тонкость в том, как сделать не просто случайное однократное воспроизведения звука на эвенте, а постоянное бесконечное проигрывание случано тасуемого списка. Это делается в настройках рандомного контейнера. Английское описание здесь: http://forum.worldoftanks.com/index.php?/topic/488138-how-to-create-voice-mods-914-version-and-onward/page__st__60__pid__9956525#entry9956525 . Завтра могу выложить скриншот WWISE (если кто-нибудь не сделает этого раньше).

 

Для меня пока остается непонятным как сделать так, чтобы музыка, которая играется в предбоевом отсчете (f.e. music_desert), прекращалась сразу после начала боя. У меня она продолжает играть до полного окончания трека и накладыватся на музыку боя. Если кто знает - подскажите, плиз!

Изменено пользователем EagleB3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(редактировалось)

можете написать пример как мне с помощью этой програмки сделать (свою музыку) в ангаре.

заранее спасибо)

 

'Пример ...'

 

1) База по созданию банка подробно описана в шапке темы. Изучаем.

2) Создаем банк с любым наименованием и эвентом (событием), например:

SM_music_lobby

3) Привязываем на событие свой звуковой файл с пометкой в параметрах "Sound Property Editor: Loop > Infinite"

4) Собираем банк.

 

5.a) Далее подменяем клиентское событие в music_events.xml:

res \ packages \ gui.pkg \ gui \ music_events.xml
<wwlobby>hangar_v2_music_lobby</wwlobby>

На:

<wwlobby>SM_music_lobby</wwlobby>

5.b) Аналогичное действие, но в XVM-ме

"soundMapping": {
  ...
  "hangar_v2_music_lobby": "SM_music_lobby",
  "hangar_prem_v2_music_lobby": "SM_music_lobby",
  ...
}

6) Ну и сам банк подгружаем в клиенте аналогично *.xml-ками или XVM-ом

 

Смотрим пункт "Загрузка банка клиентом игры"

 

Изменено пользователем night_dragon_on
  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

'Пример ...'

 

1) База по созданию банка подробно описана в шапке темы. Изучаем.

2) Создаем банк с любым наименованием и эвентом (событием), например:

SM_music_lobby

3) Привязываем на событие свой звуковой файл с пометкой в параметрах "Sound Property Editor: Loop > Infinite"

4) Собираем банк.

 

5.a) Далее подменяем клиентское событие в music_events.xml:

res \ packages \ gui.pkg \ gui \ music_events.xml
<wwlobby>hangar_v2_music_lobby</wwlobby>

На:

<wwlobby>SM_music_lobby</wwlobby>

5.b) Аналогичное действие, но в XVM-ме

"soundMapping": {
  ...
  "hangar_v2_music_lobby": "SM_music_lobby",
  "hangar_prem_v2_music_lobby": "SM_music_lobby",
  ...
}

6) Ну и сам банк подгружаем в клиенте аналогично *.xml-ками или XVM-ом

 

Смотрим пункт "Загрузка банка клиентом игры"

 

спасибо попробую))))))

а на русском эта прога есть?

или русификатор к ней?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

спасибо попробую))))))а на русском эта прога есть? или русификатор к ней?

Не встречал, все и так работают на родном с ней.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не встречал, все и так работают на родном с ней.

ну в принципе когда привыкаешь  потом просто все на автомате делаешь)))))))))))))) стоит только разобратся)) будем учится

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

5.a) Далее подменяем клиентское событие в music_events.xml:

res \ packages \ gui.pkg \ gui \ music_events.xml

А можно выполнять подмену, используя какой-то файл внутри res_mods (если не установлен XVM) ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

господа !!!!!

распаковал данную папку \World_of_Tanks\res\packages\audioww.pkg\ExternalMusicSources.pck..............

в формат ВаВ ,................далее перевел свою музыку в формат ВаВ и переименовал всю свою в то же что у них

саздал банк  сназванием ExternalMusicSources , но закинул уже свою музыку .........переделал его в РСК , закидываю в ресмод и не Хрена , что не так ????????????

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(редактировалось)

А можно выполнять подмену, используя какой-то файл внутри res_mods (если не установлен XVM) ?

 

Вытащить xml-ку из ресурсов по этому пути.

Раскодировать его с помощью PjOrion

Отредактировать.

Положить по пути:

res_mods \ X.Y.Z \ gui \ music_events.xml
закидываю в ресмод и не Хрена , что не так

 

 

1) Эвенты (события) должны быть идентичными с ВГ-ными наименованиями.

2) Банк должен быть загружен через engine_config.xml

 

Или

 

1) Эвенты (события) должны отличаться от с ВГ-ных наименований (с приставкой например в начале названия).

2) Банк должен быть загружен через модификацию XVM по маске:

"originalEventName": "newEventName"

Изменено пользователем night_dragon_on

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

1) Эвенты (события) должны быть идентичными с ВГ-ными наименованиями.

2) Банк должен быть загружен через engine_config.xml

 

Или

 

1) Эвенты (события) должны отличаться от с ВГ-ных наименований (с приставкой например в начале названия).

2) Банк должен быть загружен через модификацию XVM по маске:

"originalEventName": "newEventName"

не чё не понял ,.....

я ведь собрал как оригинал

просто заменил оригинальные файлв на свои и всё

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   2 пользователя

×