Як коректно вставити свою музику в гру за допомогою X-Ray SDK
Будь-яким звуковим редактором (наприклад, можна використовувати Sound Forge 8.0 ), готуємо наші звукові файли, вони повинні бути збережені в наступному вигляді: WAV (standard) 44100Гц, Моно, 16 біт. Після збереження вибраних треків у цьому вигляді їх необхідно перевести у формат, який підтримується грою. Для цього нам знадобиться X-Ray SDK - офіційний пакет розробника для гри STALKER .
Ви запитаєте, чому відразу не зберігати треки у форматі OGG 44100Hz, Mono ? Відповідь проста - у коментарях OGG-файлу повинні прописуватися параметри поширення звуку по ігровому світу: згасання звуку з відстанню, чутність для мобів і т.д. Саме через відсутність\не відповідності коментарів у консоль(лог гри) виводяться повідомлення! Invalid ogg-comment version, файл: і т.п. Для того, щоб ЦДК побачила файли для обробки, необхідно скопіювати їх у папку rawdata\sounds в корені встановленого Level Editor'a (наприклад, C: Program Files X-Ray SDK level_editor raw data sounds ). У цій папці можуть виявитися якісь «ліві» файли – їх можна сміливо видалити.
Примітка Важливо, щоб файли, що копіюються в папку rawdata\sounds, були саме у форматі WAV ! |
Важливо: при додаванні звуків, ЦДК перейменовує всі файли, що були в папці gamedata\sounds\ і вкладених папках, в розширення ~ogg . Отже, при поєднанні ігрової папки gamedata з ЦДК всі звуки будуть "втрачені" для гри. Щоб цього не відбувалося, перед будь-яким додаванням звукових файлів, перейменовуйте вихідну папку sounds і створюйте порожню з таким же ім'ям. Після завершення роботи з Sound Editor копіюйте нові файли в перейменовану основну папку, "підставну" видаляйте та повертайте нормальне ім'я основної папки.
Отже, відкриваємо Actor Editor або Level Editor . На панелі інструментів праворуч зверху шукаємо пункт меню Sounds , натискаємо його і вибираємо 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 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 | 1 | 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\ , а то потім кілька днів копати, де ви помилилися і чи коректні звуки взагалі.
Тестування, тестування та ще раз тестування?
Вдалого моддингу!