Любым музыкальным редактором (например, можно использовать Sound Forge 8.0), подготавливаем наши звуковые файлы, они должны быть сохранены в следующем виде: WAV (standard) 44100Гц, Моно, 16 бит. После сохранения выбранных треков в данном виде, их необходимо перевести в формат, поддерживаемый игрой. Для этого нам понадобится
X-Ray SDK – официальный пакет разработчика для игры S.T.A.L.K.E.R..
Вы спросите, почему сразу не сохранять треки в формате OGG 44100Hz, Mono?
Ответ прост – в комментах OGG-файла должны прописываться параметры распространения звука по игровому миру. Именно по этой причине собственные звуки в игре практически не слышно на определенных расстояниях, именно поэтому в консоль выводятся сообщения о ! Invalid ogg-comment version, file: и т.п. Итак, открываем Actor Editor либо Level Editor. На панели инструментов справа вверху ищем пункт меню Sounds, кликаем его и выбираем Sound Editor (звуковой редактор). Откроется окно редактора звука. Для того, чтобы там появились наши файлы, необходимо скопировать их в папку rawdata\sounds в корне установленного Level Editor’a (например, C:\Program Files\X-Ray SDK\level_editor\rawdata\sounds). В этой папке вполне могут оказаться какие-то «левые» файлы – их можно смело удалить.
| Заметка Важно, чтобы копируемые туда файлы были именно в формате WAV! |
После того, как вы скопировали свои файлы в папку SDK, в окне Sound Editor’a должен появиться их список.
Sound editor - описание параметров |
Выбираем трек и изменяем следующие параметры:
Параметр | Описание |
---|---|
Quality = 0.0 | Ширина полосы частоты, окружающая центральную частоту (для более плавного угасания звука или его стабильности). |
MinDist = 300.0 | Расстояние, с которого громкость звука начнет затухать (чем ниже к MaxDist, тем плавнее переход, но Quality нужно увеличить). |
MaxDist = 300.0 | Максимальное расстояние, на котором звук будет слышен ГГ. |
MaxAIDist = 300.0 | Максимальное расстояние, на котором звук будут слышать NPC. |
BaseVolume = 1.0 | Громкость. |
А также задается, к какому типу звуков в игре он относится: в нашем случае - undefined:
Game Type | Описание |
---|---|
undefined | Неопределенный. Ставим этот тип, чтобы NPC не реагировали на музыку и прочее. |
Item picking up | Подбирание предмета. |
Item dropping | Выбрасывание предмета. |
Item taking | Взятие предмета. |
Item hiding | Убирание предмета. |
Item using | Использование предмета. |
Weapon Shooting | Выстрелы оружия. Ставить на все виды оружейного выстрела, взрыва и т.д. Обязательно выставьте BaseVolume = 2.0 и Quality = 1.0, это нормализует громкость. |
Weapon empty clicking | Щелчок УСМ при отсутствии патрона (осечка). |
Weapon bullet hit | Звук попадания пули в поверхность. |
Weapon recharging | Перезарядка оружия. Ставить на все звуки, связанные с перезарядкой оружия. |
NPC Injuring | Ранение NPC. Ставить на все призывы о помощи в папке help (...я ранен...' или ...ап-птечку...). |
NPC Talking | Беседы NPC. Ставить на диалоги, истории, анекдоты и гитарную музыку. Это позволит NPC после анекдота вставить коментарий (типа ... хорош... комик, блин). |
NPC Attaking | Атаки NPC. Ставить на крики при атаке. Это подходит к папке fight. NPC начинают более тактично вести себя при атаках ГГ и других группировок. |
NPC dying | Смерть NPC. |
NPC injuring | Ранение NPC. |
NPC step | Шаги NPC. |
NPC eating | Приём пищи NPC. |
Anomaly idle | Постоянный звук аномалей. Только на постоянный звук, на Hit... ставить ИМХО... NPC Injuring т.к другие NPC начнут обходить данную аномалию в которую влез ГГ или еще кто-либо. |
Object breaking | Разрушение объекта. |
Object colliding | Столкновение объекта(ов), удар |
Object exploading | Взрыв. |
World Ambient | Мировое окружение. Ставить на все окружающие звуки. Фоновую музыку лучше привязать к undefined. |
Остальные параметры не тестировал пока. Нажимаем ОК, снова жмем на панель инструментов, ищем пункт меню Sounds и жмем на кнопку синхронизации с игрой. Ждем.
Если всё было сделано правильно, то в папке gamedata\sounds в директории Level Editor’a (например, C:\Program Files\X-Ray SDK\level_editor\gamedata\sounds\) можно забрать готовые ogg-файлы с правильными комментариями. Но после этого нужно удалить папку Sounds т.к все остальные .ogg станут в категорию (Delete) и вам снова нужно будет закачать папку Sounds из оригинальной gamedata 'ы.
После этого смело кладем наши звуки в папки игры, не забывая удалять старые, а не заменять их.
Ниже перечислены комментарии к музыке, содержащейся в аддоне NLC, согласно каждой локации.
Звук | Quality | MinDist | MaxDist | MaxAIDist | BaseVolume |
---|---|---|---|---|---|
Сидорович | 1,05 | 1 | 5 | 0,1 | 1 |
Прапор | 1,05 | 17 | 0,1 | 0,7 | |
Боров | 1,03 | 2 | 10 | 0,1 | 1 |
Сяк | 1,03 | 1 | 10 | 0,1 | 1 |
Музыка у Бармена | 1,00 | 2 | 19 | 0,1 | 1 |
Громкоговоритель Долга | 0,10 | 15 | 75,15 | 0,1 | 0,90 |
Громкоговоритель Свободы | 0,09 | 7 | 55 | 0,1 | 1 |
Громкоговоритель НИИ Агропром | 1,10,12 | 15 | 150 | 0,1 | 1 |
Громкоговоритель Кордон (блокпост) | 0,40 | 15 | 300 | 0,1 | 1 |
Приведенные в таблице цифры – это средние значения, каждый конкретные трек необходимо слушать в игре, потому что изначальная - «своя» громкость у всех треков разная.
Несколько примечаний, почему нельзя делать параметр MaxDist больше, чем он указан в таблице для определенных локаций:
---------------Сидорович----------- MaxDist = 5.0 (если сделать хотя бы "6", то музыку будет слышно на поверхности над бункером около дерева) --------------------Прапор--------------------- MaxDist = 17.0 (если сделать больше, то музыка будет мешать слушать разговоры и музыку у костра) ----------------------Боров------------------------- MaxDist = 10.0 (если делать больше, то музыку из комнаты Борова будет слышно далеко через стену слева, что неправдоподобно) -------------------- Бармен ------------------ MaxDist = 19.0 (если сделать больше, то музыку будет слышно на улице через стену) -------------------- Долг ------------------- MaxDist = 75.15 (если делать расстояние больше, то музыку будет слышно в самом баре, т.е в подвале, что неправильно) BaseVolume = 0,90 (если выше то вы просто не будите слышать гитарных песен) ----------------------Свобода--------------------- MaxDist = 55.0 (если сделать больше, то музыка будет мешать слушать разговоры и музыку у костра) |
И еще один нюанс, связанный с громкостью музыки: если при маленьком расстоянии MaxDist сделать высокую громкость или MinDist, то процесса затухания громкости будет практически не слышно – при движении ГГ это приведет как к резкому возникновению музыки, так и к такому же резкому ее прекращению. Это очень режет слух. Не забывайте применять Quality..., это всегда смягчит переход звука с резкого на более мягкий. Например: MinDist=10; MaxDist=150 значение Quality =0,30 или 0,40 что значительно смягчит угасание звука.
Шаблоны для начинающих
Для всех переозвученных тем, затрагивающих окружающую среду (это относится к папкам ambient, nature: ветра, амбиента, электричества, new_wind-ы (любые) или крики, эхо и прочее типа rnd_outdoor):
Quality = 1.00 MinDist = 20.00 MaxDist = 150.00 MaxAIDist = 50.00 BaseVolume = 1.0 Game Type: =World Ambient |
Для звуков дождя и порыва ветра:
Quality = 1.00 MinDist = 10.00 MaxDist = 300.00 MaxAIDist = 300.00 BaseVolume = 1.50 Game Type: =World Ambient |
Для скрипов и мелких эффектов:
Quality = 1.00 MinDist = 1.20 MaxDist = 50.00 MaxAIDist = 20.00 BaseVolume = 1.0 Game Type: =World Ambient |
Для голоса NPC:
Quality = 1.00 MinDist = 10.00 MaxDist = 300.00 MaxAIDist = 300.00 BaseVolume = 1.50 Game Type: ставим в зависимости от категории |
После того, как рассортируете звуки по папкам, не забудьте, что речь NPC должна находиться не прямо в \sounds\, а в \character_voice\, а то потом будете несколько дней рыть, где вы ошиблись и корректны ли звуки вообще.
Тестирование, тестирование и еще раз тестирование?
Удачного моддинга!