Импорт звука
Импорт звука | |
Автор | aka_sektor |
Дополнил | Charsi |
Тип статьи | руководство, справка |
Актуальность | ТЧ, ЧН, ЗП |
Необходимый софт | Аудиоредактор, X-Ray SDK |
Необходимые файлы | Исходный *.wav |
Как известно, игры серии S.T.A.L.K.E.R. используют лишь один формат звука — *.ogg. Но не простой, а со специальными комментариями необходимыми для правильного реагирования AI игры на звуки.
Если комментарии в *.ogg файле отсутствуют или они неправильные, в консоли (логе) игры появятся ошибки следующего вида:
! Missing ogg-comment, file: d:\games\s.t.a.l.k.e.r\gamedata\sounds\weapons\ak74_draw.ogg
! Invalid ogg-comment version, file: d:\games\s.t.a.l.k.e.r\gamedata\sounds\weapons\ak74_shot.ogg
После запуска игры загружается вся папка sounds. Наличие большого количества ошибок, приводит к постоянному обновлению лога, а это в свою очередь, к потере производительности игры.
Поэтому важно их исправлять. Благо достаточно удобно и быстро это можно сделать с помощью утилиты SAVandT.
Но в этом руководстве, речь пойдет не о ней, а о том, как разработчиками игры было задумано импортировать звук.
Подготовка исходника
Импорт звука осуществляться с помощью Sound Editor, который доступен в любом из редакторов X-Ray SDK.
SDK читает лишь один формат — *.wav: 44 100 Гц; 16 Bit; Моно
Чтобы получить его, конвертируйте исходный звук с помощью любого аудиоредактора.
Примечание
Для музыки главного меню исходный файл необходимо разбить на 2 *.wav файла. Один только с левым каналом, другой только с правым.
Таким образом, в игре получается стерео.
Импорт в SDK
Полученный *.wav файл поместите по пути: X-Ray SDK\editors\rawdata\sounds
Откройте любой из редакторов X-Ray SDK, например, Level Editor, и откройте вкладку: Scene -> Sounds -> Sound Editor
Настройка
Ключ | Описание ключа | Пример значения | Варианты значений и их описание |
---|---|---|---|
Quality |
Битрейт (в Кбит/с); Чем выше, тем лучше качество, и соответственно отличается размер файла | 0,00 |
от 0,00 до 1,00
|
Min Dist |
Максимальное расстояние слышимости для игрока, после которого звук начнёт затухать | 1,00 |
от 0,01 до 1000,00
|
Max Dist |
Максимальное расстояние слышимости для игрока | 300,00 |
от 0,10 до 1000,00
|
Max AI Dist |
Максимальное расстояние слышимости для AI Внимание! Ключ Max AI Dist должен быть меньше или равен Max Dist , иначе произойдет 4 вариант вылета: SoundRender Source loader.cpp |
300,00 |
от 0,10 до 1000,00
|
Base Volume |
Громкость | 1,00 |
от 0,00 до 2,00
|
Game Type |
Игровой тип. Влияет на распространение звука по уровню и реакцию AI | undefined |
См. спойлер ниже |
Attenuation |
Кривая затухания звука | См. рисунок | См. рисунок |
Auto Att |
Авто-затухание | |
By Min — задать минимальное (влияет на Max Dist )
|
File Length |
Размер файла в килобайтах | 170.36 Kb |
Значение изменить нельзя. Оно задается только автоматически при открытии звука |
Total Time |
Возможно должен показывать продолжительность звука в секундах, но не работает | 0.00 sec |
Значение изменить нельзя |
Control |
Управление воспроизведением | |
Play — воспроизвести
|
Auto Play |
Только для SDK! Авто-воспроизведение файла при его выборе | off |
off — выключено
|
MANAGE |
Только для SDK 0.5/0.7! Cинхронизация (Авто-экспорт) звуков выделенных в списке (Items) при наличии их *.thm файлов (необходимо один раз экспортировать их до этого, чтобы они создались) | SyncCurrent |
Отсутствует |
Ключ Game Type[1]
Варианты значений и их описание | |||||
---|---|---|---|---|---|
Значение | Действие | Пример использования | Пример файлов | Соответствие параметров оружия | |
AI игнорирует.
Не влияет на уровень шума. | |||||
undefined |
Неопределённое | Интерфейс, окружение, эффекты, фоновая музыка | Файлы в папках detectors, interface, nature и affects по пути gamedata\sounds
Файлы amb*_l.ogg и amb*_r.ogg по пути gamedata\sounds\music |
||
AI запоминает источник звука.
Влияет на уровень шума. При превышения максимума шума — проверяет источник звука на опасность (см. xr_danger.script). | |||||
Item taking |
Доставание предмета | Оружие, бинокль | Файлы *_draw.ogg по пути gamedata\sounds\weapons | snd_draw
| |
Item hiding |
Скрытие предмета | Оружие, бинокль | Файл *_holster.ogg по пути gamedata\sounds\weapons | snd_holster
| |
Item using |
Использование предмета | Дверь | Файлы door_*.ogg по пути gamedata\sounds\device | ||
Weapon empty clicking |
Кончились патроны или осечка | Оружие | Файлы whine*.ogg по пути gamedata\sounds\weapons | snd_empty
| |
Weapon recharging |
Перезарядка | Оружие | Файлы *_reload.ogg, *_switch.ogg, *_open.ogg, *_close.ogg, *_load.ogg по пути gamedata\sounds\weapons | snd_reload snd_add_cartridge snd_open_weapon snd_close_weapon snd_reload_grenade snd_switch
| |
NPC step |
Шаг | Игрок, NPC | Файлы по пути gamedata\sounds\material\actor\step | ||
NPC talking |
Озвучка | NPC | Файлы в папках music, reactions, states, talk и threat по пути gamedata\sounds\characters_voice\human_*\имя_группировки | ||
NPC attacking |
Боевой крик | NPC, монстр | Файлы во всех папках по пути gamedata\sounds\characters_voice\human_*\имя_группировки\fight Кроме папки death |
||
NPC eating |
Ест | Монстр | Файлы имя_монстра_eat_*.ogg по пути gamedata\sounds\monsters\имя_монстра | ||
Object breaking |
Разрушение | Динамические объекты | Файлы в папке bottle по пути gamedata\sounds\material | ||
Object colliding |
Коллизия | Динамические объекты | Файлы в папках barrel, large_furniture, large_metal_trash, metal_box по пути gamedata\sounds\material | ||
Object exploding |
Взрыв | Граната РПГ | Файл rpg7_explode.ogg по пути gamedata\sounds\weapons | snd_explode
| |
World ambient |
Неизвестно | Сердцебиение, вертолёт, гром молний | Файлы в папках heart, helicopter по пути gamedata\sounds
Файлы thunder-*.ogg по пути gamedata\sounds\nature |
snd_fly_sound
| |
AI сразу проверяет источник звука на опасность.
Вне зависимости от уровня шума. Кроме случаев, когда AI находится за пределами | |||||
Weapon shooting |
Стрельба | Оружие | Файлы *_shot_*.ogg, *_shot*.ogg, *_shot.ogg, *_shot_both.ogg, *_grenshoot.ogg, *_explosion.ogg, *_checkout.ogg по пути gamedata\sounds\weapons | snd_shoot snd_silncer_shot snd_shoot_duplet snd_shoot_grenade snd_explode snd_checkout
| |
Weapon bullet hit |
Рикошет от пули | Оружие | Файлы *_empty.ogg по пути gamedata\sounds\weapons | ||
NPC injuring |
Ранение | Игрок | Файлы hurt*.ogg и pain*.ogg по пути gamedata\sounds\actor | ||
NPC dying |
Посмертный крик | Игрок, NPC, монстр | Файлы die*.ogg по пути gamedata\sounds\actor
Файлы в папке death по пути gamedata\sounds\characters_voice\human_*\имя_группировки\fight Файлы die_*.ogg по пути gamedata\sounds\monsters\имя_монстра |
||
Устаревшие параметры | |||||
Item picking up |
Неизвестно | ||||
Item dropping |
Неизвестно | ||||
Anomaly idle |
Неизвестно |
Импорт в игру
По завершению настройки значений, нажмите кнопку OK.
Получившийся *.ogg файл можно будет забрать по пути: X-Ray SDK\editors\gamedata\sounds
Повторный экспорт из SDK
Чтобы снова экспортировать звук, нажатия кнопки ОК уже будет недостаточно.
После первого экспорта создается *.thm файл звука по пути: X-Ray SDK\editors\rawdata\sounds
В нём сохранены настройки экспорта.
Кнопка ОК заработает только если изменить значения, тогда по её нажатию перезапишется *.thm файл.
Но удобнее синхронизировать (см. ниже).
Выбранные звуки
Можно выбрать только нужный звук или звуки в списке (Items) Sound Editor, перейти к ключу MANAGE
, и нажать кнопку SyncCurrent
.
Все звуки
Либо можно экспортировать все файлы подряд. Когда их очень много, и вручную выделять неудобно.
Для этого выбрав вкладу: Scene -> Sounds -> Synchronize Sounds
При этом ВНИМАНИЕ переименовываются в .~ogg существующие *.ogg файлы по пути: X-Ray SDK\editors\gamedata\sounds
Поэтому, перед этим лучше временно переименуйте папку sounds.