По-моєму зрозуміло (я зрозумів відразу) - розташовувати env_soundscape треба в тих місцях, в яких потрібно задіяти звуковий фон (потрібно щоб гравець пройшов через саундскейп). Для позиційних саундскейпов ще треба вказати ентіті, від яких піде відповідний звук (вказаний в описі с.).
Щоб не мучитися, став саундскейп з радіусом охоплення тієї території, на якій потрібно конкретне зв.окруженіе. Якщо треба, щоб скажімо тумбочка видавала звуки вписати її ім'я в параметр Sound Position (для позиційних с.)
Власне, статті розраховані на поодинокі модифікації. Так я і сам не роблю карт для мультиплеера. Спробую що-небудь знайти по темі.
Саундскейпом називається певне звукове оточення - випадкові звуки, як правило, передають атмосферу певної області гри. Якщо Вам потрібно програвати набір звуків у випадковому порядку - саундскейп підійде ідеально.
Саундскейпи в Half-Life 2 дозволяють використовувати кілька DSP-ефектів (цифрова обробка сигналів) в реальному часі (наприклад, відлуння), які змінюють стандартне звучання всіх використовуваних в ньому звуків.
В один і той же час в грі може бути активним тільки один саундскейп. При зміні активного саундскейпа відбувається плавний перехід між попереднім і новим саундскейпамі.
В основному, для саундскейпов використовується ентіті env_soundscape. Вона активується, якщо гравець знаходиться всередині радіусу її дії, а також в межах прямої видимості (тобто між центром ентіті і гравцем немає перешкод зі стін та ін.).
Env_soundscape шукає будь-який вказаний саундскейп в спеціальному файлі soundscapes.txt, який знаходиться в каталозі \ scripts Вашого мода, або в іншому файлі, що залежить від карти (soundscapes _ *. Txt).
Структура файлу soundscapes.txt проста і наочна - в основному у вигляді пар «змінна-значення» або «команда-параметр» (див. Приклад нижче), кожна в окремому рядку. Секції обмежуються фігурними дужками.
Кожна секція верхнього рівня (що не входить в інші секції) визначає окремий саундскейп. У ентіті env_soundscape задаються якраз імена цих секцій (для наведеного прикладу це example і example2).
Додавання нового саундскейпа
Команди, які використовуються у визначенні саундскейпа
"Dsp" "<параметр>"- задає ефект обробки звуку. зазвичай <параметр> дорівнює 1 - автоматична обробка звуків, виходячи з навколишнього геометрії (відлуння, ревербація). Параметр 0 відключає обробку звуків (програються без змін).
Інші значення параметра рекомендуються тільки в особливих випадках і описуються в файлі ... / hl2 / scripts / dsp_preset.txt; назви ефектів за номерами є на початку файлу soundscapes.txt.
// Саундскейп - повна тиша без обробки звуку
"Nothing"
# 123;
"Dsp" "0"
>
"Playlooping" # 123;> - циклічно програє звук до тих пір, поки активний саундскейп.
У дужках задаються додаткові команди-специфікації:
// Циклічне програвання окремого звуку з ревербаціей (1 тип кімнати)
"GenericIndoor"
# 123;
"Dsp" "1"
"Playlooping"
# 123;
"Volume" "1"
"Pitch" "100"
"Wave" "ambient / atmosphere / indoor2.wav"
>
>
"Playrandom" # 123;> - постійно програє набір звуків випадковим чином (якщо активні саундскейп).
У дужках задаються додаткові команди-специфікації:
"Playrandom"
# 123;
// Програвати звуки кожні 0.1-1.5 секунд
"Time" "0.1,1.5"
// Гучність звуків від 0.5 до 1
"Volume" "0.5,1"
// Програвати від прискорення 50% до уповільнення 120%
"Pitch" "50,120"
// Ослаблення звучання 0.7
"Attenuation" "0.7"
// Для ентіті, визначеної в позиції 1
"Position" "1"
// Випадковим чином програвати звуки з наступного списку
"Rndwave"
# 123;
"Wave" "ambient / creatures / pigeon_idle1.wav"
"Wave" "ambient / creatures / pigeon_idle2.wav"
"Wave" "ambient / creatures / pigeon_idle3.wav"
>
>
>
"Playsoundscape" # 123;> - програє раніше певний саундскейп, включений в даний. Таким чином можна задавати набір саундскейпов, які будуть програватися в складі даного.
У дужках задаються додаткові команди-специфікації:
"Name" "<имя саундскейпа>"- ім'я програється саундскейпа.
"Volume" "<громкость от 0 до 1>"- гучність програється саундскейпа (1 - максимальна (оіргінальная)).
"Position" "<параметр>"- якщо секція playsoundscape використовується для позиційного звучання (в грі визначається його положення), дана команда задає номер позиції (<параметр> дорівнює числу від 0 до 7). Позиції задаються потім в ентіті env_soundscape.
"Positionoverride" "<параметр>"- навіть якщо програємо саундскейп використовує кілька позицій для звуків, дана команда змушує програвати його звуки тільки з однієї позиції. тут <параметр> дорівнює номеру позиції від 0 до 7.
"Ambientpositionoverride" "<параметр>"- все фонові звуки заданого саундскейпа будуть розташовуватися в зазначеній позиції. Таким чином, можна задавати звуки фонового «оточення», що йдуть з певного боку. тут <параметр> дорівнює номеру позиції від 0 до 7.
Зауваження: саундскейпи, включені таким чином до складу даного, не впливають на обробку звуку (DSP).
"SubSoundscape"
# 123;
"Dsp" "1"
"Playsoundscape"
# 123;
// Саундскейп, який програється в складі даного саундскейпа
"Name" "GenericIndoor"
// Гучність зазначеного саундскейпа зменшити наполовину
"Volume" "0.5"
// Все позиційні звуки зазначеного саундскейпа йдуть з однієї позиції
"Positionoverride" "0" // з позиції 0
// Все фонові звуки зазначеного саундскейпа йдуть з однієї позиції
"Ambientpositionoverride" "1" // з позиції 1
>
>
"Automatic"
# 123;
"Dsp" "1"
"Dsp_volume" "1.0"
"SOUNDMIXER" "Default_Mix"
>
У прикладі визначається саундскейп automatic з мікшером Default_Mix.
Визначення мікшера Default_Mix (в файлі soundmixers.txt):
// group name mix value
// -------- ---------
"Explosions" "0.90"
"Player_Weapons_Loud" "1.0"
"Player_Suit" "0.56"
"Weapons" "0.79"
"AHELI_WEAPON" "0.85"
"GUNSHIP_WEAPON" "0.85"
"STRIDER_WEAPON" "0.85"
"Bullethit" "0.67"
Див. Також: env_soundscape, Список зумовлених soundscape з Half-Life 2
Можу тільки припустити. що в мультіплеере все саундскейпи повинні діяти для кожного гравця незалежно (від ін. гравців). Це, по-моєму, природний висновок.