Любым музыкальным редактором, например можно использовать Sound Forge 9.0, подготавливаем наши звуковые файлы – они должны быть сохранены в следующем виде: качество сохраняемых файлов: WAV (standard) 44100Гц, Моно, 16 бит.
После сохранения выбранных треков в виде WAV (standard) 44100Гц, Моно, 16 бит, их необходимо перевести в формат, поддерживаемый игрой. Для этого нам понадобится X-Ray SDK – официальный пакет разработчика для игры S.T.A.L.K.E.R.
Скачать можно по ссылкам (300 Mb):
-
http://xfiles.gsc-ga...-setup-v0.4.exe -
http://xfiles.gsc-game.com/st/ NB: Вы спросите, почему сразу не сохранять треки в формате OGG 44100Hz, Mono? Ответ прост – в комментах OGG файла должны прописываться параметры распространения звука по игровому миру. Именно по этой причине собственные звуки в игре практически не слышно на определенных расстояниях, именно поэтому в консоль выводятся сообщения о невалидном комментарии и т.п.
Итак, открываем Actor Editor либо Level Editor. На панели инструментов справа вверху ищем пункт меню Sounds, кликаем его и выбираем Sound Editor. Откроется окно редактора звука. Для того чтобы там появились наши файлы, необходимо скопировать их в папку rawdata\sounds в корне установленного Level Editor’a (например, c:\Program Files\X-Ray SDK\level_editor\rawdata\sounds). В этой папке вполне могут оказаться какие-то «левые» файлы – их можно смело удалить.
NB: Важно чтобы копируемые туда файлы были именно в формате WAV!
После того как вы скопировали свои файлы в папку SDK в окне Sound Editor’a должен появиться их список. Выбираем трек и изменяем следующие параметры:
MinDist = 300.0 - расстояние, с которого звук начнет затухать (практически это и есть громкость звука)
MaxDist = 300.0 - максимальное расстояние, на котором звук будет слышен ГГ
MaxAIDist = 300.0 - максимальное расстояние, на котором звук будут слышать NPC
BaseVolume = 1.0 - громкость
А также задается к какому типу звуков в игре он относится:
Game Type:
- undefined – неопределенный, на них NPC не реагируют
- Item picking up - подбирание предмета
- Item dropping - выбрасывание предмета
- Item taking - взятие предмета
- Item hiding - убирание предмета
- Item using – использование предмета
- Weapon shooting – выстрел оружия
- Weapon empty clicking - щелчок УСМ при отсутствии патрона
- Weapon bullet hit - звук попадания пули в поверхность
- Weapon recharging - перезарядка оружия
- NPC dying - смерть NPC
- NPC injuring - ранение NPC
- NPC step - шаги NPC
- NPC talking - разговор NPC
- NPC attacking - атака NPC
- NPC eating - приём пищи NPC
- Anomaly idle – звуки аномалий
- Object breaking - разрушение объекта
- Object colliding - столкновение объекта(ов), удар
- Object exploading - взрыв
- World ambient - звуки окружающего мира
Остальные параметры не трогаем. Нажимаем ОК и ждем окончания синхронизации звуков. Если всё было сделано правильно, в папке gamedata\sounds в директории Level Editor’a (например, c:\Program Files\X-Ray SDK\level_editor\gamedata\sounds\) можно забрать готовые файлы ogg с валидными комментами. После этого смело кладем наши звуки в папки игры.
Для информации: в файле m_stalker.ltx прописываются коэффициенты реакции NPC на конкретную группу звуков (чем больше коэффициент - тем больше паника):
[stalker_sound_perceive]
weapon = 2.0; 0.75; 10 коэффициент усиления приоритета\силы звука
item = 0.2; коэффициент усиления приоритета\силы звука
npc = 1.0;1;2 коэффициент усиления приоритета\силы звука
anomaly = 0.5; коэффициент усиления приоритета\силы звука
world = 0.2; коэффициент усиления приоритета\силы звука
Таким образом, каждому звуку в игровом мире можно задать требуемые параметры и определить реакцию на него NPC.
В качестве примера приведем таблицу настроек звука в X-Ray SDK, которые были использованы в S.T.A.L.K.E.R's sound remake mod v 4.0.
Звук Min Dist Max Dist Max AI Dist Base Volume Game Type
Перезарядка оружия 1 12 5 1,00 Weapon recharging
Доставание (убирание)
оружия 1 12 5 1,00 Weapon recharging
Выдергивание чеки гранаты 1 12 5 1,00 Weapon recharging
Удар бойка УСМ (осечка) 1 8 3 1,00 Weapon empty clicking
Все взрывы, кроме ручных гранат (ВОГ-25, бочки и т.д.) 20 200 100 1,00 Weapon shooting
Взрывы ручных гранат 30 200 100 1,30 Weapon shooting
Звук двигателя вертолета 40 350 100 1,00 Undefined
Пуск ракеты с вертолета 50 300 100 1,00 Weapon shooting
Звук двигателя ракеты 15 150 70 1,00 Weapon shooting
Крупнокалиберный пулемет 25 500 150 1,20 Weapon shooting
Свист пуль 1 8 3 1,00 NPC attacking
Попадание пули по бетону 3 15 5 1,00 Weapon bullet hit
Попадание пули по твердой поверхности 3 20 7 1,00 Weapon bullet hit
Попадание пули в грунт 2 12 4 1,00 Weapon bullet hit
Попадание пули по стеклу 3 15 5 1,00 Weapon bullet hit
Попадание пули по металлу 5 25 10 1,00 Weapon bullet hit
Попадание пули в песок 2 10 3 1,00 Weapon bullet hit
Попадание пули в дерево 3 15 5 1,00 Weapon bullet hit
Попадание пули по поверхности воды 3 12 4 1,00 Weapon bullet hit
Попадание пули по деревянному предмету 2 12 5 1,00 Weapon bullet hit
Падение тела 2 10 5 1,00 NPC dying
ЗВУКИ ВЫСТРЕЛОВ
Звук Min Dist Max Dist Max AI Dist Base Volume
АН-94 «Абакан» 17 400 100 1,30
АН-94 «Абакан» ПБС 3 50 20 1,00
АК-74 18 400 110 1,45
АК-74 ПБС 3 50 20 1,00
АКСУ-74 19 400 115 1,50
АКСУ-74 ПБС 3 55 22 1,00
АКСУ-74 м1 2 30 10 1,00
M-92F “Beretta” 12 250 65 2,00
M-92F “Beretta” ПБС 1 30 15 1,00
БМ-16 «Обрез» 20 300 110 2,00
“Colt” M1911A1 13 280 70 2,00
“Colt” M1911A1 ПБС 1 33 17 1,00
“Colt” M1911A1 м1 1 15 5 1,00
“Desert Eagle” 17 400 100 2,00
“Desert Eagle” м1 20 450 115 2,00
“Desert Eagle” (м1) ПБС 3 50 25 1,00
FN-2000 17 400 100 1,40
FN-2000 ПБС 2 50 18 1,00
Форт-12 12 240 62 2,00
Форт-12 ПБС 1 28 14 1,00
HK G-36 16 380 95 1,30
HK G-36 ПБС 3 50 18 1,00
“Gauss” 10 160 50 1,70
ГП-25/30 8 200 50 1,00
ОЦ-14 «Гроза» 17 350 90 1,40
ОЦ-14 «Гроза» м1 18 400 110 1,50
ОЦ-14 «Гроза» ПБС 2 25 12 1,00
ОЦ-14 «Гроза» м1 ПБС 2 45 18 1,00
FN “Browning” HPSA 12 250 65 2,00
FN “Browning” HPSA ПБС 1 30 15 1,00
Нож 1 3 1 1,00
“Enfield” L85A2 16 400 95 1,35
“Enfield” L85A2 ПБС 3 50 18 1,00
“Enfield” L85A2 м2 1 25 10 1,00
LR-300 18 420 110 1,50
LR-300 ПБС 3 50 20 1,00
LR-300 м1 1 25 10 1,00
М-203 8 200 50 1,00
HK MP5 (м1) 12 250 60 1,75
HK MP5 (м1) ПБС 1 25 12 1,00
HK MP5 м2 1 17 5 1,00
ПБ 1 17 4 1,00
ПМ 12 240 60 2,00
ПМ ПБС 1 28 14 1,00
РГ-6 8 200 50 1,00
РПГ-7 15 400 100 1,00
Sig P-220 14 300 70 2,00
Sig P-220 ПБС 1 33 17 1,00
Sig SG-550 15 370 93 1,35
Sig SG-550 ПБС 3 50 18 1,00
SPAS-12 17 280 90 2,00
СВД 20 450 140 1,50
СВУ 5 120 35 1,00
ТОЗ-34 18 300 100 2,00
HK USP. 45 14 300 70 2,00
HK USP. 45 ПБС 1 33 17 1,00
АС «Вал» 1 25 8 1,00
ВСС «Винторез» 1 25 8 1,00
Wincheaster W-1300 18 300 105 2,00
Walther P-99 (м1) 13 270 67 2,00
Walther P-99 (м1) ПБС 1 25 13 1,00
АКМ 18 400 115 1,40
АКМ ПБС 3 50 20 1,00
FN P-90 12 250 63 1,60
FN P-90 ПБС 2 30 12 1,00
ПКМ 20 450 150 1,60
Сайга-12К 18 300 100 2,00
Огнемет АМК 5 80 35 1,20
Как добавить новую озвучку для группировки
Звуки группировок лежат в папке «sounds\characters_voice». От Вас требуются маломальские познания в английском языке. Есть 2 различных голоса «human_01», «human_02» - без эффекта дыхательной маски и один приглушенный - «human_03».
Далее, в каждой из этих папок фразы и музыка раскиданы по группировкам. Звуки, которые НПС будет использовать в игре прописываются в файлах, лежащих в папке «gamedata\config\gameplay». А именно в characters_desc_*********, где прописывается директория, откуда НПС будут брать звуки, когда заспаунятся, но нас интересует только эта строка:
characters_voice\human_01\newbie\
Это я говорю на тот случай, если Вы захотите не заменять оригинальные звуки, а добавить свои. Нужно просто послушать, например, папку sounds\characters_voice\human_01\newbie, разобраться какие звуки соответствуют той или иной ситуации в игре, и заменять их своими по аналогии. Наиболее часто используемая НПС папка, это папка «fight», разберем на ее примере что за что отвечает:
attack – звуки нападения НПС;
backup – звуки, используемые при отходе назад;
cover_fire – звуки, когда НПС хочет прикрыть огнем;
death – смерть НПС;
detour – просьба прикрыть НПС;
enemy – звуки, используемые НПС при обнаружении противника;
enemy_down – звуки, используемые НПС при убийстве противника;
enemy_hit – звуки, используемые НПС при ранении противника;
fire – звуки нападения НПС;
friend_hitted – реакция НПС на ранение союзника;
friendly_fire – реакция НПС на дружественный огонь;
grenade – реакция НПС на брошенную гранату;
hit – звуки ранения НПС;
searching_enemy – звуки, используемые НПС при поиске противника;
threat – звуки нападения НПС;
tolls – реакция НПС на смерть союзника.
Далее, Вы создаете свою папку звуков (о том, как переводить звук в формате WAV в формат OGG при помощи X-Ray SDK было написано выше), назовем ее «characters_voice\human_04\newbie», заменяете в файле «character_desc_escape.xml», к примеру, вот этот профиль новичка:
GENERATE_NAME_stalker
ui_npc_u_green_stalker_2
esc_stalker_novice_bio esc_stalker_novice
stalker stalker_terrain
127
-8
characters_voice\human_04\newbie\
-1
actors\novice\green_stalker_2
[spawn] \n
wpn_pm \n
ammo_9x18_fmj = 1 \n
device_pda \n
device_torch \n
sigaret \n
#include "gameplay\character_items.xml" \n
#include "gameplay\character_food.xml"
#include "gameplay\character_criticals_3.xml"
hello_dialog
neitral_treasure_2_dialog
#include "gameplay\character_dialogs.xml"
_____________________________________________________________________________
и.........начинаем новую игру с новыми звуками! Да, новую игру начинать ОБЯЗАТЕЛЬНО, иначе ничего не изменится.
P.S. В названии каждого звукового файла стоит число « _1», « _2» и т.д. Эти числа не являются ограничением количества звуковых файлов, которые могут находиться в той или иной папке. К примеру, если Вы захотели добавить собственных гитарных композиций, а стандартные заменять тоже не хочется, то Ваши гитарные композиции должны начинаться с номера «12», т.е. в папке «sounds\characters_voice\human_01\newbie\music» находятся 11 оригинальных треков в формате OGG, Ваши треки должны тогда называться: «guitar_12», «guitar_13», «guitar_14» и т.д., можно хоть 100 штук добавить.
Небольшое добавление.
Если вы хотите добавить новый звук и вызывать его из логики, то действовать придется немного по другому.
Понадобятся файлы sound_theme.script и script_sound.ltx.
Открываем первый файл.
Находим строку "theme = {".
После { идет перечисление всех звуков.
Добавляем туда наш новый звук:
название = {min_snd = 10, max_snd = 20, rnd = 100, prior = 5, rnd_id = id(), into_id = id(), max_ids = {}}
min, max думаю объяснять не нужно. Остальные данные я не трогал.
Да! Лучше добавляйте звук в самый конец этого списка, и не забудывайте, что все звуки тут идут через запятую. Это важно, ибо не проставив одну единственную запятую игра будет вылетать.
Далее открываем script_sound.ltx и добавляем в любое место файла наш новый звук:
[название_seq]
stalker = 0,scenario\marsh\мой_звук
Тут тоже думаю все понятно: название и путь до звука.
Вот и все. Теперь можете использовать свой новый звук в логике (к примеру НПС подошел к точке, проиграл звук с анимацией, пошел дальше).
Несколько шаблончиков
MinDist MaxDist MaxAIDist BaseVolume
Сидорович 1 5 0,1 1
Прапор 1 17 0,1 0,7
Боров 2 10 0,1 1
Сяк 1 10 0,1 1
Музыка у бармена 2 19 0,1 2
Громкоговоритель Долга 15 75 0,1 1
Громкоговоритель Свободы 7 55 0,1 1
Громкоговоритель НИИ Агропром 15 150 0,1 1
Приведенные в таблице цифры – это средние значения, каждый конкретные трек необходимо слушать в игре, потому что изначальная - «своя» громкость у всех треков разная.
Несколько примечаний, почему нельзя делать параметр MaxDist больше, чем он указан в таблице для определенных локаций:
---------------Сидорович-----------
MaxDist = 5.0 (если сделать хотя бы "6", то музыку будет слышно на поверхности над бункером около дерева)
--------------------Прапор---------------------
MaxDist = 17.0 (если сделать больше, то музыка будет мешать слушать разговоры и музыку у костра)
----------------------Боров-------------------------
MaxDist = 10.0 (если делать больше, то музыку из комнаты Борова будет слышно далеко через стену слева, что неправдоподобно)
-------------------- Бармен ------------------
MaxDist = 19.0 (если сделать больше, то музыку будет слышно на улице через стену)
-------------------- Долг -------------------
MaxDist = 75.0 (если делать расстояние больше, то музыку будет слышно в самом баре, т.е в
подвале, что неправильно)
----------------------Свобода---------------------
MaxDist = 55.0 (если сделать больше, то музыка будет мешать слушать разговоры и музыку у костра)
И еще один нюанс, связанный с громкостью музыки: если при маленьком расстоянии MaxDist сделать высокую громкость или MinDist, то процесса затухания громкости будет практически не слышно – при движении ГГ это приведет как к резкому возникновению музыки, так и к такому же резкому ее прекращению. Это очень режет слух, поэтому: тестирование, тестирование и еще раз тестирование
Удачного моддинга!
______________________________________
Copyright © 2009 MulleR & Mongol