ambient_generic
Описание
Объект ambient_generic воспроизводит звуки или музыку в определённой точке карты.
Особенности использования
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект должен быть установлен там, где будет использоваться.
- На карте может быть установлено множество этих объектов
- Звуки от этого объекта немного приглушаются если игрок не может видеть этот объект напрямую. Например: когда игрок стоит за углом.
- Этот объект не должен использоваться для воспроизведения статических звуков окружающей обстановки, такой как пение птиц, звук лампочки, которую нельзя выключить, неподвижно стоящего холодильника и т.д. Смотрите объекты env_soundscape, trigger_soundscape.
Ошибки
Если снять флажок "Is NOT Looped" и "Start Silent", то по идее музыка должна начинать играть в начале каждого раунда, однако в CS:S звук/музыка не начнёт своё воспроизведение в начале следующего раунда. Чтобы это исправить нужно при помощи объекта logic_auto в начале каждого раунда сначала выключить объект ambient_generic, а через несколько миллисекунд опять его включить. Обычно, звук включают через пол секунды после выключения. Смотрите как это сделано в карте-примере применительно к объекту ambient_generic1. Этот баг присущ ТОЛЬКО тем объектам ambient_generic, у которых снят флажок "Is NOT Looped". Если игрок подключится к игре во время плавного изменения громкости/скорости звуков, тогда для этого игрока конечная громкость/скорость звуков будет рассчитана неправильно, что приведёт к тому, что игрок либо вообще не будет слышать звуков, либо будет слышать звуки громче/тише или быстрее/медленнее, чем их будут слышать другие игроки. Эта ошибка будет проявляться до начала следующего раунда или до явного изменения громкости/скорости звуков функциями "Volume" и/или "Pitch"; Если несколько объектов ambient_generic имеют одинаковое значение свойства "Source Entity Name", то работать будет только один – который был создан на карте раньше других.
Заметки
Если не указать значения свойств "LFO Volume Fade In/Out Speed" и/или "LFO Pitch Fade In/Out Speed", то модуляция звука (LFO) не будет работать. Это логично, ведь для создания эффекта LFO нужно чтобы звук хоть как-то изменялся.
Параметры
- Sound Name – имя звукового файла (выбирается в Sound Resource Browser);
- Max Audible Distance – максимальное расстояние от объекта на котором можно услышать звук/музыку, но для очень громких звуков, таких как выстрел из AWP, звук будет отчётливо слышен и за пределами этого расстояния; на основе значения этого свойства рассчитывает громкость звучания звука/музыки "Sound Name", а так же степень "гашения" звуков на некотором расстоянии, поэтому чем больше значение этого свойства, тем громче будет звучать звук/музыка; не используется если установлен флажок "Play Everywhere";
- Volume Start – минимальная громкость звука/музыки; от 0 до 10, где 10 – это максимальная громкость; в начале своего воспроизведения звук/музыка будет увеличивать свою громкость со значения этого свойства до значения "Volume Full"; по окончании воспроизведения громкость звука/музыки будет уменьшаться с текущего значения громкости до значения этого свойства; используется только если указано одно из свойств "Volume Fade In Speed" или "Volume Fade In Time";
- Volume Full – максимальная громкость звука/музыки; от 0 до 10, где 10 – это максимальная громкость;
- Volume Fade In Speed – скорость с которой звук/музыка может увеличить свою громкость с 0 до 100%; в игре скорость высчитывается по следующей формуле: <скорость> = (101 - <это_свойство>) * 64, поэтому чем выше значение этого свойства, тем медленнее будет изменяться громкость звука; при изменении громкости из числа, равного <текущая_громкость> * 256, каждую секунду будет вычитаться число, равное <скорость> * 5, до тех пор пока результат не станет равен нулю; несколько примеров:
<это_свойство> = 0; увеличение громкости выключено;
<это_свойство> = 1; увеличение громкости максимум за 0.8 секунды;
<это_свойство> = 10; увеличение громкости максимум за 1 секунду;
<это_свойство> = 30; увеличение громкости максимум за 1.2 секунды;
<это_свойство> = 50; увеличение громкости максимум за 1.6 секунды;
<это_свойство> = 75; увеличение громкости максимум за 3.2 секунды;
<это_свойство> = 90; увеличение громкости максимум за 7.4 секунды;
<это_свойство> = 95; увеличение громкости максимум за 13.4 секунды;
<это_свойство> = 100; увеличение громкости максимум за 80 секунд;
и т.п. используется в начале воспроизведения звука, например функцией "PlaySound"; если указано значение этого свойства, то значение свойства "Volume Fade In Time" должно быть пустым, иначе игрой может быть случайно выбрано одно из значений этих свойств; это свойство оставлено для совместимости с другими версиями FGD; НЕ рекомендуется использовать это свойство, используйте свойство "Volume Fade In Time" для более удобной настройки времени увеличения громкости; (у этого свойства есть баг, см. пункт "Ошибки");
- Volume Fade In Time – время за которое звук/музыка может увеличить свою громкость с 0 до 100% (секунды); используется в начале воспроизведения звука, например функцией "PlaySound"; если указано значение этого свойства, то значение свойства "Volume Fade In Speed" должно быть пустым, иначе игрой может быть случайно выбрано одно из значений этих свойств; (у этого свойства есть баг, см. пункт "Ошибки");
- Volume Fade Out Speed - время за которое звук/музыка может сбавить свою громкость со 100% до 0 (секунды); (см. примеры в свойстве "Volume Fade In Speed"); используется в конце воспроизведения звука, например функцией "StopSound"; если указано значение этого свойства, то значение свойства "Volume Fade Out Time" должно быть пустым, иначе игрой может быть случайно выбрано одно из значений этих свойств; это свойство оставлено для совместимости с другими версиями FGD; НЕ рекомендуется использовать это свойство, используйте свойство "Volume Fade Out Time" для более удобной настройки времени снижения громкости; (у этого свойства есть баг, см. пункт "Ошибки");
- Volume Fade Out Time - время за которое звук/музыка может сбавить свою громкость со 100% до 0 (секунды); используется в конце воспроизведения звука, например функцией "StopSound"; если указано значение этого свойства, то значение свойства "Volume Fade Out Speed" должно быть пустым, иначе игрой может быть случайно выбрано одно из значений этих свойств; (у этого свойства есть баг, см. пункт "Ошибки");
- Pitch Start – начальная скорость с которой начинает играть звук/музыка; от 1 до 255; 100 – стандартная скорость; 200 – двойная скорость и т.д.; время за которое звук будет менять свою скорость регулируется свойствами "Pitch Spin Up Time" и "Pitch Spin Down Time";
- Pitch Full – скорость воспроизведения звука/музыки; от 1 до 255; 100 – стандартная скорость; 200 – двойная скорость и т.д.;
- Pitch Spin Up Speed – (от 0 до 100) время за которое звук/музыка увеличит свою скорость со "Start Pitch" до "Full Pitch"; в игре значение этого свойства работает аналогично свойству "Volume Fade In Speed", только не для громкости звука/музыки, а для скорости звука/музыки, поэтому смотрите примеры в свойстве "Volume Fade In Speed";
- Pitch Spin Down Speed – (от 0 до 100) время за которое звук/музыка сбавит свою скорость с "Full Pitch" до "Start Pitch"; в игре значение этого свойства работает аналогично свойству "Volume Fade Out Speed", только не для громкости звука/музыки, а для скорости звука/музыки, поэтому смотрите примеры в свойстве "Volume Fade Out Speed" или "Volume Fade In Speed";
- LFO Type – тип модуляции звука (тип вибрации) с частотой 5 герц: Off – выключить модуляцию звука;
- Square: full up or down, never middle – резкий чередующийся переход между нормальным звуком и модулированным;
- Triangle: fade between up and down – плавный переход между нормальным звуком и модулированным; чем ниже значение свойства "LFO Rate", тем плавнее переход;
- Random – переход между нормальным звуком и модулированным выбирается случайно;
- LFO Rate – (от 0 до 1000) скорость модуляции; в игре частота вибрации высчитывается по следующей формуле: <частота> = 256 / <это_свойство>, с округлением до большего; несколько примеров:
<это_свойство> = 1000; минимум/максимум модуляции каждые 0.4 секунды;
<это_свойство> = 512; минимум/максимум модуляции каждые 0.6 секунды;
<это_свойство> = 257; минимум/максимум модуляции каждую 1 секунду;
<это_свойство> = 256; минимум/максимум модуляции каждые 1.2 секунды;
<это_свойство> = 129; минимум/максимум модуляции каждые 2 секунды;
<это_свойство> = 128; минимум/максимум модуляции каждые 2.2 секунды;
<это_свойство> = 65; минимум/максимум модуляции каждые 4 секунды;
<это_свойство> = 64; минимум/максимум модуляции каждые 4.2 секунды;
<это_свойство> = 16; минимум/максимум модуляции каждые 16.2 секунды;
<это_свойство> = 1; минимум/максимум модуляции каждые 256.2 секунды;
и т.п.; используется только если значение свойства "LFO Type" не равно "Off";
- LFO Volume Fade In/Out Speed – (от 0 до 100) скорость изменения громкости звука/музыки во время модуляции; скорость полностью зависит от значений свойств "LFO Type" и "LFO Rate", поэтому подбирается для каждого случая отдельно; используется только если значение свойства "LFO Type" не равно "Off";
- LFO Pitch Fade In/Out Speed – (от 0 до 100) скорость с которой изменяется скорость звука/музыки во время модуляции; скорость полностью зависит от значений свойств "LFO Type" и "LFO Rate", поэтому подбирается для каждого случая отдельно; используется только если значение свойства "LFO Type" не равно "Off";
- Incremental Spinup Count – (от 0 до 100) если этот звук/музыка воспроизводится несколько раз, то каждый раз при следующем воспроизведении к его скорости будет добавляться это значение, и так до тех пор, пока скорость не достигнет максимального значения 255; звук может воспроизводится без остановок, если снят флажок "Is NOT Looped";
- Dynamic Preset – готовые наборы автоматической настройки всех свойств этого объекта, таких как: громкость, скорость и т.п.; если указано значение этого свойства то значения всех остальных свойств этого объект игнорируются, кроме значения свойства "Sound Name";
- Source Entity Name – имя объекта на карте из центра которого будет доноситься звук/музыка; если оставить это свойство пустым, то звук будет исходить из этого объекта ambient_generic.
Флаги
- Play Everywhere – звук будет воспроизводиться на всей карте без учёта свойства "Max Audible Distance";
- Start Silent – выключить воспроизведение звука/музыки в начале каждого раунда; если этот флажок не установлен, то звук/музыка будет начинать своё воспроизведение в начале каждого раунда;
- Is NOT Looped – не повторять воспроизведение звука/музыки после окончания своего воспроизведения; (у этого флажка есть баг, см. пункт "Ошибки").
Inputs
- PlaySound – запускает звук/музыку на воспроизведение;
- StopSound – останавливает воспроизведение звука/музыки;
- ToggleSound – переключение состояния воспроизведения звука/музыки (Запустить/Остановить);
- Volume <integer> - (от 0 до 10) установить новое значение громкости воспроизведения звука/музыки;
- FadeIn <integer> - (от 0 до 100) увеличить громкость звука/музыки с текущего значения до громкости "Full Volume"; если на момент вызова этой функции звук был выключен, то громкость звука начнёт увеличиваться со значения, указанного в свойстве "Start Volume"; на основе входного параметра этой функции рассчитывается скорость с которой будет проходить изменение громкости; после вызова это функции значение свойства "Fade In Time" не меняется; (у этой функции есть баг, см. пункт "Ошибки");
- FadeOut <integer> - (от 0 до 100) снизить громкость звука/музыки с текущего значения до громкости "Start Volume" и после снижения остановить воспроизведение звука/музыки; на основе входного параметра этой функции рассчитывается скорость с которой будет проходить изменение громкости; после вызова это функции значение свойства "Fade Out Time" не меняется; (у этой функции есть баг, см. пункт "Ошибки");
- Pitch <integer> – (от 0 до 255) установить новое значение скорости воспроизведения звука/музыки.
Карта
csssdk_ambient_generic.vmf
Используются объекты
- ambient_generic
- logic_auto
- func_detail
- trigger_multiple
- prop_static
- prop_physics
- func_precipitation
Описание карты
На карте имеется два объекта trigger_multiple, каждый из которых, при прикосновении к ним, воспроизводит какой-то звук через объекты ambient_generic2 и ambient_generic4. Бочка barrel1 (prop_physics) используется как целевой объект для ambient_generic3, поэтому музыка издаётся из центра бочки, где бы эта бочка не находилась. Объект ambient_generic1 воспроизводит звук (звук дождя) постоянно и на всей карте, потому что у него снят флажок "Is NOT Looped" и установлен флажок "Play Everywhere". Обратите внимание, что звука дождя в самом первом раунде может быть либо вообще не слышен, либо быть значительно тише чем он должен был быть. Это баг, описанный в пункте "Ошибки". В нашем случае этот баг возник из-за того, что у объекта ambient_generic1 значение свойства "Volume Fade In Time" равно 2, поэтому в начале каждого раунда громкость звука дождя плавно растёт со значения 0 ("Volume Start") до значения 7 ("Volume Full"). Перед точкой появления игроков установлен пульт с кнопкой, нажав на которую, громкость звука дождя будет установлена равной тому значению, которое должно быть для этого звука, а именно "7". В последующих раундах звук дождя будет иметь правильную громкость, потому что игрок уже будет находиться в игре к тому моменту как начнутся изменения со звуком. Вы можете начать новый раунд, выполнив в консоли команду "mp_restartgame 1". В самом конце карты установлен громкоговоритель и рядом с ним поставлен ещё один объект ambient_generic. Этот объект используется для демонстрации работы "LFO"-свойств, искажая своей модуляцией звук сирены. Звук сирены при этом каждую секунду плавно меняет свою скорость с очень высокой до очень низкой, поэтому получаемый звук очень сильно отличается от оригинального, указанного в свойстве "Sound Name".
Если Вам понравилась эта страница, Вы можете разместить где-нибудь ссылку на неё: