Сайт по маппингу Source SDK
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Как Вы попали на этот сайт?
С поисковика
Через соц.сеть или другой сайт
Посоветовали друзья
Я постоянный посетитель
Другое

 
 
 
 
 
 
КТО СЕЙЧАС НА САЙТЕ
Всего посетителей: 28
Зарегистрированных: 0
Скрытых: 0
Гостей: 28
Зарегистрированные пользователи: нет зарегистрированных пользователей
Больше всего посетителей (220) здесь было 3 года назад

Сегодня нас посетили 202 человек,
а за месяц - аж 6127!
 
 
 
 
 
 
 Материалы
5 лет назад

Soundscape - профессиональная озвучка карты

В этом туториале я расскажу, как сделать профессиональную озвучку карты с помощью env_soundscape_triggerable и trigger_soundscape, а также как сделать soundscape-скрипт
        Если вы начали читать данную статью, то подразумевается, что вы ознакомились с основами всех энтити-объектов, знаете, что такое система OutPut - InPut, как с ней работать и уже имеете опыт в маппинге и несколько сделанных карт, которые состоят не только из коробок и кубиков (хотя бы такого же уровня, как моя карта cs_reactor) + у вас есть желание развиваться дальше. Новичок ничего из нижеизложенного не поймёт.

        Прежде чем читать дальше, рекомендую ознакомиться с энтитями trigger_soundscape, env_soundscape и env_soundscape_triggerable в справочнике, чтобы мне лишний раз не повторять написанное там и, дав вам несколько советов, сразу перейти к созданию скрипта озвучки.

        Правда, кое-что придётся повторить. Итак, soundscape. Что же это такое? Карта делится на несколько зон, каждая из которой имеет свой набор звуков (звуки, исходящие из различных объектов, звуки атмосферы). Когда игрок покидает одну зону и переходит к следующей, звуки плавно сменяются на другие, например, выход из дома на улицу. Но при компиляции такие зоны и наборы звуков сами собой не появляются, всё это делают создатели карты. Сейчас мы и рассмотрим процесс их создания.

        Есть 2 варианта их расстановки: триггерами, которые будут активировать нужный набор звуков при прохождении игрока через него, и точечными энтитями env_soundscape, которые активируют набор звуков, когда игрок попадает в область действия энтити и видит её. На мой взгляд, способ с триггерами куда лучше. Игрок в любом случае пройдёт через триггер, а точечную энтити может не заметить, если пройдёт спиной к ней, поэтому в данном туториале мы будем обсуждать только способ с триггерами.

        Итак, вот ваша карта. Рассмотрите, на какие soundscape-зоны можно её разделить. К примеру, у станции метро и тоннеля для поездов разные звуки, поэтому это должны быть разные зоны. Ванная комната и кухня, лес и озеро, крыша высотки и парковка перед ней, улица и канализация под ней - всё это желательно должны быть разные зоны.

        Каждая граница между зонами должна иметь 2 триггера (trigger_soundscape), оба находятся на своих зонах и активируют каждый свою. У каждой зоны должен быть свой env_soundscape_triggerable (имя которого и надо вписать в параметр Soundscape Triggerable Name триггеров для данной зоны), который можно поставить в любом месте карты, он нужен будет только для работы наших триггеров и настройки звуков. Как вы уже, наверное, поняли из справочника, для каждого env_soundscape_triggerable нужно указать имя набора звуков, а также можно указать до 8 точек, откуда будут доноситься звуки (это могут быть обычные info_target), запрограммированные в скрипте. Всё это вы сможете настроить, если прочитали про данные энтити в справочнике, поэтому теперь перейдём к созданию скрипта.

        Скрипт должен находиться в папке /cstrike/scripts/ и иметь имя soundscapes_[название карты].txt, где "[название карты]" - имя вашей карты, например, если карта называется de_mymap, то скрипт имеет имя soundscapes_de_mymap.txt. Не забывайте переименовывать имя файла скрипта, если вдруг меняете имя своей карты!

        Как вы поняли, скрипт является обычным текстовым файлом и его содержимое с успехом может создаваться в блокноте. Скрипт должен иметь такую структуру:

[имя набора звуков]
{
        [параметр набора звуков 1]
        [параметр набора звуков 2]
        ...
        [правило для звука 1]
        {
                [параметр 1]
                [параметр 2]
                ...
        }
        [правило для звука 2]
        {
                ...
        }
        ...
}


        Например, так:

"t_spawn"
{
        "dsp" "1"
        "playlooping"
        {
                "volume" "0.7"
                "pitch" "110"
                "wave" "ambient\atmosphere\undercity_loop1.wav"
        }
}


        С именем набора звуков, думаю, всё понятно, ставим своё и вписываем его в env_soundscape_triggerable для нашей зоны в параметр Soundscape. Теперь поговорим о параметрах набора.

dsp (0/1, по умолчанию 0) - будет ли использован эффект эха

dsp_volume (0-1) - насколько сильный будет эффект эха, по умолчанию сила эха расчитывается по окружающей обстановке: размеру пространства, окружающим материалам.



        Вот и все параметры. Теперь какие бывают правила для звуков и их параметры:


playlooping - бесконечно играющий звук

        soundmixer (по умолчанию "Default_Mix") - имя набора эффектов для всех звуков, параметры эффектов указаны в файле soundmixers.txt (папка scripts)
        volume (0 и выше, по умолчанию 1) - громкость звука

        pitch (0 и выше) - радиус распространения звука

        soundlevel - сила звука, от этого свойства зависят параметры volume и attenuation, по умолчанию нет. Список возможных параметров: SNDLVL_20dB, SNDLVL_25dB, SNDLVL_30dB, SNDLVL_35dB, SNDLVL_40dB, SNDLVL_45dB, SNDLVL_50dB, SNDLVL_55dB, SNDLVL_IDLE, SNDLVL_65dB, SNDLVL_STATIC, SNDLVL_70dB, SNDLVL_NORM, SNDLVL_80dB, SNDLVL_TALKING, SNDLVL_85dB, SNDLVL_90dB, SNDLVL_95dB, SNDLVL_100dB, SNDLVL_105dB, SNDLVL_110dB, SNDLVL_120dB, SNDLVL_125dB, SNDLVL_130dB, SNDLVL_GUNFIRE, SNDLVL_140dB, SNDLVL_145dB, SNDLVL_150dB, SNDLVL_180dB. Как вы поняли, этот параметр - уровень децибел, подробнее об этом можно найти в википедии

        position (0-7) - указанная позиция для звука, если не указано, звук играет везде

        position random - если присутствует данный параметр, позиция звука определяется случайным образом рядом с игроком

        attenuation (0 и выше) - коэффициент затухания звука

        wave - путь к звуку

playrandom - звук, который воспроизводится случайным образом через случайные промежутки времени по заданным параметрам.

        параметры такие же, как у правила выше, с одним исключением: параметры можно сделать со случайным промежутком, например: "pitch" "20,30" (параметр pitch для каждого следующего воспроизведения звука будет определяться случайным образом между 20 и 30. Есть дополнительный параметр:

        time (время в секундах) - промежуток между воспроизведениями звука, также может быть случайным

        Для воспроизведения случайного звука используется такая конструкция:

        "rndwave"
        {
                "wave" "mysound/zvuk1.wav"
                "wave" "mysound/zvuk2.wav"
        }


playsoundscape - это как бы набор звуков в наборе, т.е. в данном параметре будет проигрываться не один или несколько звуков, а целый отдельный набор звуков (soundscape) со своими параметрами. Этот набор звуков должен присутствовать в текущем файле скрипта. Чтобы разобраться в том, как можно использовать данное правило, нужно некоторое время попрактиковаться. Но я считаю, что этот параметр не особо важен и не так часто используется (скорее всего, в силу своей сложности)

        name - имя набора звуков, который будет воспроизводиться в данном правиле

        position (0-7) - звук, имеющий номер данной позиции, воспроизводиться не будет

        positionoverride (0-7) - все звуки, которые имеют позицию, будут воспроизводится только из этой позиции

        ambientpositionoverride (0-7) - все звуки, которые не имеют позицию, будут воспроизводится только из этой позиции

        volume - громкость звуков


        К счастью, на этом всё. Сложно, но иначе никак. Очень надеюсь, что вы хоть что-то поняли из того, что я написал выше. Понять это стоит свеч, ведь только с помощью soundscap'ов можно сделать достаточно красивую и реалистичную звуковую обстановку

Автор: Лорд Беккет Понравилось: 1  Не понравилось: 0 

Похожие материалы:
Карты-примеры
env_soundscape_triggerable
trigger_soundscape
ambient_generic
Все консольные команды CS:S


Комментарии пользователей сайта:
viproma, Год назад
[Sound] S_StartSound(): Failed to load sound 'soundjesus\lover_1.mp3'. File is missing from disk or is invalid.

Если Вам понравилась эта страница, Вы можете разместить где-нибудь ссылку на неё:
 
 
 
 
 
 
Здравствуйте, Гость


РегистрацияВход
 
 
 
 
 
 
Месяц назад
Профиль пользователя RoxST
CobuLight, я пофиксил, спасибо
2 месяца назад
Профиль пользователя CobuLight
RoxST, Или дай скрин пружины
2 месяца назад
Профиль пользователя CobuLight
RoxST, В учебнике же исходник есть, скачай и посмотри
2 месяца назад
Профиль пользователя RoxST
Кто-нибудь помогите с пружинящей доской, она на вес игрока не реагирует, можно это как-то поправить?
2 месяца назад
Профиль пользователя CobuLight
Shiro, Да и соло маппером не особо весело быть
2 месяца назад
Профиль пользователя CobuLight
Shiro, Мало кто увлекается этим, сильно огорчает
2 месяца назад
Профиль пользователя Shiro
CobuLight, так то сайт прикольный и полезный
2 месяца назад
Профиль пользователя CobuLight
Shiro, Жаль народу мало
2 месяца назад
Профиль пользователя CobuLight
Shiro, Да как всегда, по кд захожу
2 месяца назад
Профиль пользователя Shiro
CobuLight, Я вижу, что ты тут в активе, приятно видеть ;)
2 месяца назад
Профиль пользователя CobuLight
BSPSource Если точнее
2 месяца назад
Профиль пользователя Shiro
Creatormaster, BSPscr скачай
5 месяцев назад
Профиль пользователя CobuLight
Фух... решил проблему
5 месяцев назад
Профиль пользователя CobuLight
Кто шарит в NMRIH? с префиксом nmo_

6 месяцев назад
Профиль пользователя крякпку
:D
6 месяцев назад
Профиль пользователя Creatormaster
А то открываю BSPDeComp для декомпиляции, а там консоль. Это я хочу отредактировать menu_3d.bsp
6 месяцев назад
Профиль пользователя Creatormaster
Всем привет. Кто может расказать нубу, как декомпилируются карты? :ugeek:
6 месяцев назад
Профиль пользователя Gazgen
А я уж позарился свой Rainbow 6 Siege делать :)
6 месяцев назад
Профиль пользователя Gazgen
Да, лагает... как ни крути.
6 месяцев назад
Профиль пользователя MrGajimurad1
Gazgen, сто процентов будет лагать
6 месяцев назад
Профиль пользователя Deluks
Админы, почините уже Учебник по Source Engine SDK. там картинок нет. =(
6 месяцев назад
Профиль пользователя Gazgen
Поиск на сайте сломался, приходится через Гугл :(
6 месяцев назад
Профиль пользователя Gazgen
Что будет, если сделать все стены на карте таким способом? Жуткие лаги, или долгая компиляция?
6 месяцев назад
Профиль пользователя Gazgen
Посмотрел Разрушительное Ранчо, захотелось сделать разрушаемую стенку сделать.
Думается func_physbox использовать в качестве блоков, а func_breakable в качестве арматуры.
8 месяцев назад
Профиль пользователя MARSHAL ZA
vorti с помощью vide
8 месяцев назад
Профиль пользователя Аня
:?: :?: :?:
10 месяцев назад
Профиль пользователя Аристотель
Хороший сайт многой полезных статьей))
10 месяцев назад
Профиль пользователя vorti
Как извлечь ресурсы , которые вшиты в карту ?
Год назад
Профиль пользователя DerkMorris
:P
Год назад
Профиль пользователя MrGajimurad1
Я уже думал, что сайт сломался
Год назад
Профиль пользователя DNS_DNS_DNS
Нет туториала по созданию сложного лифта, тутор добавится или можно добавить материал к существующему самому? (чтоб другие не парились особо с этим) И имеет ли это смысл
Год назад
Профиль пользователя rtv132
asusn1, в GO отсутствуют некоторые из описанных здесь энтити
Год назад
Профиль пользователя rtv132
asusn1, 85% из этих материалов пригодны для GO
Год назад
Профиль пользователя asusn1
Извините за тупой вопрос. Эти уроки сейчас актуально для CS:GO? Они идентичны?
Год назад
Профиль пользователя MARSHAL ZA
Ну ты работаешь по garry, а я по 34, а он еще по чему то. Так что тут это тоже влияет.
Год назад
Профиль пользователя rtv132
MARSHAL ZA, тип моделей не нужно изменять, проблема в освещении, сам проверял. Должно быть рабочее солнце
и минимум 1 источник света-энтити
Год назад
Профиль пользователя MARSHAL ZA
Если именно текстуры то попробуй на Normal RAD компилировать. Если модели то в можно изменить static на dynamic.
Год назад
Профиль пользователя rtv132
ERICHARRIS, возможно, новый bsp не находился на момент запуска в папке maps
Год назад
Профиль пользователя rtv132
ERICHARRIS, возможно новый bsp не находился на момент запуска в папке maps
Год назад
Профиль пользователя ERICHARRIS
что делать когда нажимаю run map а он мне старую верси карты запусакет, тоесть нет обьектом текскутрных к примеру которые есть в самом редакторе, в игре они тупо не отображаются.
Год назад
Профиль пользователя MARSHAL ZA
VIDE лучше. В Вк ответил.
Год назад
Профиль пользователя ERICHARRIS
можно ли с помощь рипера в хаммер перенести модель?и будет она багнутая или еще какая? (для garrys mod надо)
Год назад
Профиль пользователя rtv132
и если нет, то как можно создать колесо альтернативным способом?
Год назад
Профиль пользователя rtv132
может ли phys_motor двигать func_physbox так, чтобы physbox тянул родителей(прочие func-объекты и тд), к которым прикрелплен, как колесо?
Год назад
Профиль пользователя MARSHAL ZA
Проще меня в вк добавь, все равно только мы тут: https://vk.com/marshalza
Год назад
Профиль пользователя vorti
Но при этом остался бы world-геометрией
Год назад
Профиль пользователя vorti
И еще вот что... в какой ентити можно превратить браш чтобы он не отбрасывал ни статичную ,ни динамичную тень?
Год назад
Профиль пользователя vorti
А как можно зделать сам фильтр ?
Год назад
Профиль пользователя MARSHAL ZA
Вроде можно, но я лично не делал покапайся в настройках. Если не получиться то может можно определенный фильтр поставить на дамаг от взрывов, я делал чтобы только от грен был урон.
Год назад
Профиль пользователя vorti
Попадании (например снайперская винтовка из дополнения "m9k".
Обновить  
 
 
 
 
 
 
Маппинг, картостроение, моделлинг в CS:Source и не только
 
 
 
 
 
Копирование и перепечатка материалов разрешена только со ссылкой на первоисточник!