Полная Версия: Звук в Fallout Tactics.
hasan
Порывшись в разделе я наткнулся на пост rufus'a в теме FT Tools касательно звукового сопровождения на картах. После чего решил покопать в данном направлении. Спешу поделиться результатами, надеюсь кому-то будет полезно.

1) Еще до манипуляций с звуками в игре, можно поменять музыку в меню игры.
Для этого в папке «\Fallout Tactics\core\music\gui» нужно 2 файла с названиями «MX_ENV_MENU_MAIN1» «MX_ENV_MENU_MAIN2» заменить на свои, поменяв им имена на такие же. После этих действий в меню должны поочередно играть эти две свежезамененные муз. композиции. Грандиозных опытов не ставил, но кажется именно по очереди, а не случайным образом.

2) Звук в кампании на глобальной карте.
В той же папке «\Fallout Tactics\core\music\gui» есть два файла «MX_MENU_WORLDMAP1.mp3», «MX_MENU_WORLDMAP2.mp3». Меняем их на свои, не забывая присваивать новым файлам такие же имена. В результате на глобальной карте играют 2 ваших трека. К сожалению, добавить еще треков в «плейлист» не получилось, играть на глобальной карте файлы с именами «MX_MENU_WORLDMAP3.mp3», «MX_MENU_WORLDMAP4.mp3» и так далее игра отказалась.

3) Звук и фоновая музыка на локации.
На любой локации можно задать фоновую музыку, которая играет постоянно, а также звуковые эффекты, для которых можно настроить время суток, в которое эффект звучит, зону звучания, степень затухания, вариацию громкости и многое другое. Задается эта вся роскошь в текстовом файле звуковых зон, после чего импортируется в редакторе карты в файл локации.

Описание формата файла звуковых зон вместе с примером после установки патча 1..27 находится в папке \Fallout Tactics\core\editor. Никаких головоломок там нет, рассмотрим его поближе. Потом разберемся с созданием звуковой зоны и импортированием звукового файла в локацию.

Итак, файл имеет следующую структуру(в фигурных кавычках указываются значения параметров, приведены дефолтные значения):
CODE

ambientSoundTable =
{
effect1,
effect2,    // Это список звувовых эффектов.
effect3,    // Дальше будут указываться параметры
effect4,    // для каждого из них.
effect5,    // Имена любые в пределах буквенно-цифрового алфавита.
effect6

}


name_numOfFiles = {1}  //количество звуков для эффекта. Несколько звуков можно играть по очереди или в случайном порядке.

name_random = {true}  // играть ли звуки эффекта случайным порядком. Значение true и false

name_file_0 = {}   // указывается путь к файлу звука, от папки fallout tactics/core

name_file_1 = {}   // аналогично для всех выбранных нами звуков
name_file_2 = {}

name_useRadius = {false}  // радиус эффекта относительно центра.

name_position = {}   // указать координаты центра эффекта на карте напрямую, координаты в положительных величинах

name_minDist = {5}   // дистанция от центра (предыдущего параметра), на которой начинается затухание эффекта

name_maxDist = {25}  // Дистанция от центра, на которой эффект полностью затухает. В итоге этими тремя параметрами можно задать область эффекта

name_volume = {100}  // основное значение громкости для эффекта.

name_volumeVar = {0.0}  // вариация громкости звука 0.2 - это вариация в пределах 20%.

name_pitchVar = {0.0}  // Вариация высоты звука, как я понял.

name_looping = {true}  // Зацикливание звуков эффекта. Если этот параметр не используется, то используем параметры minTime and maxTime

name_minTime = {20}  // минимальное время между не зацикленными сигналами  

name_maxTime = {120}  // максимальное время между не зацикленными сигналами  

name_timeOfDay = {always} //время суток, когда действует эффект. Возможные значения: always, day, dawn, dusk, night

name_notTimeOfDay = {false} //если значение true, то предыдущий параметр определяет, когда эффект не действует.

name_zone = {}   //название звуковой зоны на локации, в которой действует эффект. Как разметить зону будет описано позже.

name_overrideZone = {}  // список зон, где звуковой эффект не действует. зоны разделяются запятой.


name - названия конкретного звукового эффекта, перечисленного в самом начале. Для этого примера будет effect1_numOfFiles для параметров первого эффекта, ну и так далее.

После эффектов в файле следует описание фоновой музыки

CODE

ambientMusic = {MX_ENV_DES} // указываем музыкальный файл, лежащий в Fallout Tactics\core\music\mission. Либо путь к своему файлу, опять таки относительно Fallout Tactics\core\
numAmbientOverlays = {3}  // не разобрался еще, что подразумевается под оверлеем.
ambientOverlay_0 = {MX_ENV_DES_SP1}
ambientOverlay_1 = {MX_ENV_DES_SS1}
ambientOverlay_2 = {MX_ENV_DES_SS2}


Примечания:

1) Необязательно задавать для каждого эффекта все параметры, достаточно ограничиться теми, которые будут отличаться от дефолтных

2) Для звуков природного происхождения логично использовать несколько звуков в одном эффекте, задав случайный выбор и интервалы между каждым звуком (name_minTime, name_maxTime). Также для прочих "случайных" звуков

3) Для звуков типа гула всяческой машинерии ИМХО достаточно поставить looping, зациклив его тем самым.

4) Создание звуковой зоны. Создавая ее в редакторе локаций FT Tools обязательно надо учитывать, что высота 0 в редакторе соответствует координате 128 по оси Z в параметрах зоны. Чтобы создать зону, на панели надо щелкнуть закладку Zone, выбрать в панели справа add zone, внизу этой панели набрать ее название и двумя кнопками Top, Bottom указать северный-восточный-верхний угол параллелепипеда зоны (вершину с максимальными координатами по всем трем осям) и южный-западный-нижний угол (вершина с минимальными координатами). Координаты отображаются рядом с этими двумя кнопками. Не забыть поставить галочку в поле Sound zone. Также указать значение высоты зоны в поле Height. При нулевом значении зона имеет высоту 0, каждая пункт добавляет еще 5 единиц высоты. То есть при Height=12 высота зоны будет 61. После этого в меню выбираем пункт Tools -> Import sounds file. Импортирование предполагает, что при внесении изменений в этот самый саунд файл, нужно операцию импортирования повторить.

На этом теоретические выкладки пока окончены, скоро к ним будут приложены практические изыскания.
Teodor Wild
Надо бы проверить на досуге ;)
Продолжай тему.
hasan
Простые опыты, отработка базовых настроек звука

После теоретических выкладок приступим к воплощению на практике. Для дальнейшей работы необходимо иметь навыки работы с редактором локаций в FTTools. Либо проштудировать руководство по этому редактору, например за авторством der Fluger'a: Руководство.

итак, создаем простенькую карту для тестов. Я взял мультиплеерную, добавив в нее некоторые косметические изменения. Цели в первом тесте следующие:

1) Добавить фоновую музыку
2) Добавить несколько звуковых эффектов, привязанных к местности
3) Проверить как воспроизводятся несколько звуков в одном звуковом эффекте.

Итак, у нас будет 3 зоны: Бар, хлопающие двери на улице и волчий вой. Кроме того, повесим на всю площадь карты саундтрек из второго фоллаута. Эдакий эрзац. Также попробуем подключить музыку стандартными средствами, через ambientMusic.

1) Создаем следующий звуковой файл:

CODE

ambientSoundTable =
{
outdoors,
wolf,
bar1,
doors
}

// общий звук на всей территории, таким образом можно задавать и музыку локации, привязывая ее к времени суток.

outdoors_numOfFiles = {1}
outdoors_file_0 = {soundtest/music/desert.mp3}
outdoors_zone = {outdoors}


// В зоне за воротами будет слышен волчий вой.

wolf_numOfFiles = {5}
wolf_random = {true}
wolf_file_0 = {soundtest/sound/wolf1.wav}
wolf_file_1 = {soundtest/sound/wolf2.wav}
wolf_file_2 = {soundtest/sound/wolf3.wav}
wolf_file_3 = {soundtest/sound/wolf4.wav}
wolf_file_4 = {soundtest/sound/wolf5.wav}
wolf_looping = {false}
wolf_minTime = {2}
wolf_maxtime = {6}
wolf_zone = {wolf}

// хлопание дверей.

doors_numOfFiles = {2}
doors_random = {true}
doors_file_0 = {soundtest/sound/door1.mp3}
doors_file_1 = {soundtest/sound/door2.mp3}
doors_looping = {false}
doors_minTime = {2}
doors_maxtime = {6}
doors_zone = {doors}

//призрачные звуки

bar1_numOfFiles = {5}
bar1_random = {true}
bar1_file_0 = {soundtest/sound/radio1.mp3}
bar1_file_1 = {soundtest/sound/radio2.mp3}
bar1_file_2 = {soundtest/sound/kassa1.mp3}
bar1_file_3 = {soundtest/sound/glass2.mp3}
bar1_file_4 = {soundtest/sound/walking1.mp3}
bar1_looping = {false}
bar1_minTime = {2}
bar1_maxtime = {5}
bar1_zone = {bar1}

// Музыка

//ambientMusic = {MX_ENV_URB}
//numAmbientOverlays = {3}
//ambientOverlay_0 = {MX_ENV_URB_SP1}
//ambientOverlay_1 = {MX_ENV_URB_SS1}
//ambientOverlay_2 = {MX_ENV_URB_SS2}


Как можно заметить, созданы 3 группы эффектов, каждая из которых привязана к своей зоне. Звуки в каждой группе должны сменяться случайным образом (random = {true}). Звуки не идут сразу друг за другом, между ними пауза от 2 до 6 секунд. Так более реалистично. Секция ambientMusic пока что закомментирована.

2) В папке core создаем папку soundtest. в ней папки sound для отдельных звуков и music для фоновой музыки. Собственно в приложенном архиве по ссылке внизу поста уже так и есть.

3) открываем карту, на ней нам нужно создать 4 зоны: outdoors, bar1, doors, wolf. Для этого на вкладке Zone в левой боковой панели создаем 4 зоны.
Не забываем о том, что высота 0 в редакторе локаций - это значение 128 в координате высоты зоны. На всякий случай сделаем зону намного ниже, то есть с координатой 115 (-13 по высотомеру редактора). Сделать это просто, когда назначается угол Bottom зоны, надо опуститься на уровень -13.
Далее, указываем угол Top, в результатате паралеллапипед зоны создан. Высоту ставим опять-таки с запасом, 12 (как было сказано в первом посте, это 60 в единицах высоты редактора). Присваиваем зоне название, отмечаем галочкой is sound zone. К названию отнеситесь внимательно, неточность в имени - звуки этой зоны будут играть по всей карте.

4) в меню Tools выбираем пункт Import Sounds File. Собственно импортируем. Потом сохраняем.

5) В тактиксе клацаем "Поиграть в кастомную миссию", наслаждаемся результатом.

Очень сильно обращает на себя внимание один факт. Когда вы находитесь в зоне, звук зоны проигрывается один и тот же. Несмотря на то, что в конфигурационном файле прописывалось "random". Увы, но похоже так и будет, смена звука в звуковом эффекте происходит только когда вы покидаете зону, а потом снова перемещаете экран на нее.

Теперь вернемся к ранее закомментированному ambientMusic. Ситуация следующая. На данный момент получилось заставить играть в тегах эмбиент мьюзик только музыкальные файлы из папки по умолчанию Core/music/mission. Причем видимо играет значение и название файла. Разбираться в этом мы будем в следующем тесте. А пока раскомментируем строчки
CODE

ambientMusic = {MX_ENV_URB}
numAmbientOverlays = {3}
ambientOverlay_0 = {MX_ENV_URB_SP1}
ambientOverlay_1 = {MX_ENV_URB_SS1}
ambientOverlay_2 = {MX_ENV_URB_SS2}

добавив тем самым фоновую музыку урбанистического толка (по замыслу композиторов FT). Также можно закомментировать строки эрзац-- музыки
CODE

outdoors_numOfFiles = {1}
outdoors_file_0 = {soundtest/music/desert.mp3}
outdoors_zone = {outdoors}

чтобы они не мешали услышать музыку настоящую.
сохраняем, импортируем, сохраняем, наслаждаемся.


Ccылки на результаты, полученные мной. Тут звуки, музыка, текстовый файл описания звуков и сама миссия.


часть1
часть2
Ваш ответ: