![]() Звуки и звуковое окружение |
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
![]() Звуки и звуковое окружение |
![]()
Сообщение
#281
|
|
Игровой Бог ********************** Группа: Участник Сообщений: 7021 Регистрация: 22.02.2006 Из: Париж Пользователь №: 3089 ![]() |
Введение Что такое Sound Environment в STALKERе? Это принудительное изменение привычных звуков в определенных зонах. Например, логично, если зайдя в подвал/пещеру/под мост мы начнем слышать эхо от выстрелов/перезарядки/своих шагов и т.п. Сами зоны ставятся вручную в SDK и в дальнейшем добавляются в папку уровня в виде файла level.snd_env (или как level.sound_environment для старых билдов). Все билды от 18xx до ТЧ/ЧН поддерживают Sound Environment. Из движка ТЧ его никто не вырезал. Но есть проблемы с реализацией: Первая проблема в том, что Sound Environment работает только при включенном EAX. Вторая проблема в том, из OpenAL-библиотек (OpenAL32.dll+wrap_oal.dll) начиная где-то с 2006 года вдруг исчезла поддержка EAX для звуковых карт за предыдущие годы. Третья проблема в том, что EAX даже если поддерживается звуковухой, нормально работает/определяется не со всяким драйвером. Четвертая проблема в том, что в ТЧ в опциях звука разрешено ставить галку на EAX в любом случае, то есть игра не проверяет включен ли он на самом деле, что приводит к самообману, если не читать лог. Пятая проблема в том, что в финалке ТЧ этот самый Sound Environment зачем-то был вырезан на большинстве уровней. Остался только где-то на:
EAX FIXX ver 3 Что нового добавлен !!!_dsound_software для принудительного включения Generic Software добавлен !!!_backup для восстановления на случай серьезных проблем добавлены варианты 15-19 добавлен !!!_sound_fixx_for_cs_cop добавлен !!!_sound_fixx_for_shoc_10004 добавлен !!!_sound_fixx_for_shoc_10006 обновлен eax.dll до v4.0.1.0 добавлена поддержка ЗП (при использовании !!!_sound_fixx_for_cs_cop) Ссылка: Данная сборка (EAX FIXX) предназначена для включения поддержки EAX игрой, а следовательно и Sound Environment как для существующих уровней, так и для перспективных модов, в первую очередь для ТЧ. Текущая сборка предназначена для билдов от 18xx до ТЧ/ЧН. Сборка состоит из пронумерованных папок с dllками, где в разных комбинациях встречаются портированные из билдов/ТЧ/ЧН OpenAL-библиотеки всевозможных версий. Каждая папка включает:
Установка 1. В user.ltx один раз правим (или через консоль вводим) команды: snd_efx on (разрешаем игре использовать эффекты) snd_targets 24 (старые варианты dllок могут ругаться, если число больше. Можно после тестов выставить 32.) snd_volume_eff 1 (максимальная громкость эффектов) snd_volume_music 0 (музыку отключаем, чтобы не мешала) snd_volume_master 1 (общая максимальная громкость, команда для билдов 18xx) 2. Запускаем игру (билд от 18xx до ТЧ/ЧН/ЗП) и смотрим, что написано в консоли или логе в двух строчках, определяющих EAX. Если написано: * sound: EAX 2.0 extension: present * sound: EAX 2.0 deferred: present значит, скорее всего, и так все в порядке, EAX работает. Дальнейшие эксперименты можно не проводить. Если написано: * sound: EAX 2.0 extension: absent * sound: EAX 2.0 deferred: absent Или только в одной строчке absent, значит, EAX не работает или может глючить, и можно поэкспериментировать. 3. Куда-нибудь бекапим папку bin. Если используем билды, пункт 4 пропускаем. 4. Если используем ЧН/ЗП, то в папку bin суем все из !!!_sound_fixx_for_cs_cop. Если используем ТЧ 1.0004, то в папку bin суем все из !!!_sound_fixx_for_shoc_10004. Если используем ТЧ 1.0006, то в папку bin суем все из !!!_sound_fixx_for_shoc_10006. 5. Проверяем. Для ЧН/ЗП в случае отсутствия EAX или проблем со звуком, в игре меню звуковых опций меняем Generic Hardware на Generic Software или наоборот, перезапускаем игру, проверяем снова. Для билдов/ТЧ в случае отсутствия EAX или проблем со звуком, копируем dsound.dll из !!!_dsound_software в папку bin. Звук должен принудительно перейти в режим Generic Software. Для ЧН/ЗП, если в опциях не переключается (Generic Hardware/Generic Software), можно тоже попробовать с dsound.dll. 6. Если не заработало, начинаем полномасштабное тестирование: (Для ЧН/ЗП полное тестирование можно проводить дважды - сначала с выбранным в опциях вариантом Generic Hardware, потом с Generic Software). (Для билдов/ТЧ полное тестирование можно проводить дважды - сначала обычно, потом через !!!_dsound_software). Берем все dllки из папки 01_18xx-22xx_default и кладем в папку bin. Запускаем игру и читаем в логе/консоли строчки о EAX. Далее берем dllки из папки 02_18xx-22xx_tweaked1, проделываем то же самое, и так далее, проверяем все варианты. Запоминаем, где включился EAX (пишет present в обеих строчках). Если EAX включился в нескольких вариантах, оставляем тот, где даты файлов новее, или звук кажется лучше. Возможны случаи, когда в логе в одной строчке написано present, в другой absent. Скорее всего Sound Environment не попрет. Некоторые варианты могут оказаться несовместимы с конкретным билдом/игрой/системой и во время тестов привести к вылету/зависанию игры при запуске. При включенном EAX с разными версиями возможно появление новых мелких глюков, например щелчков. Нет гарантии, что на разных билдах/играх будет корректно работать один и тот же вариант. Если в результате тестов в ТЧ/ЧН/ЗП звук ухудшился, или игра не запускается - удалите dsound.dll (если устанавливали) и восстановитесь из !!!_backup. Что делать, если не помогло 1. Если звуковуха отдельная, попробовать обновить ее драйвера, обращать внимание на поддержку EAX. Драйверов может быть несколько вариантов, в том числе неофициальные. 2. Если звуковуха встроенная, например Realtek, попробовать обновить ее драйвера. Часто на сайтах поддержки материнских плат лежат устаревшие варианты. То есть лучше искать драйвера непосредственно от производителя чипа звуковухи. Также можно погуглить на тему проги "Realtek 3D SoundBack", может пригодится. 3. За 20 баксов приобрести простенький Sound Blaster Live/5.1. В зависимости от модели/операционной системы не исключены проблемы с поиском драйверов, но по крайней мере эти звуковухи должны поддерживать EAX с одним из вариантов фикса. 4. Скачать Как самостоятельно в SDK создать Sound Environment? Допустим, у нас уже открыт какой-то уровень. Edit Mode -> Sound Env -> Ставим точку на карте. Появится кубик. Правой кнопкой заходим в его свойства. Environment Inner ставим long_corridor (например). Environment Outer ставим open_space. Далее зумим/вращаем наш кубик, чтобы заполнить нужное помещение. Когда наставили достаточно кубиков, говорим Compile -> Make Game. И суем готовый level.snd_env в игру в папку уровня. (IMG:https://images.gameru.net/thumb/7f56839d3b.jpg) EAX params help (eng) Код Environment // sets all listener properties Size // environment size in meters Diffusion // environment diffusion Room Room // room effect level at low frequencies RoomHF // room effect high-frequency level re. low frequency level Distance Effects RoomRolloffFactor // like DS3D flRolloffFactor but for room effect AirAbsorptionHF // change in level per meter at 5 kHz Reflections Reflections // early reflections level relative to room effect ReflectionsDelay // initial reflection delay time Reverb Reverb // late reverberation level relative to room effect ReverbDelay // late reverberation delay time relative to initial reflection Decay DecayTime // reverberation decay time at low frequencies DecayHFRatio // high-frequency to low-frequency decay time ratio В обсуждении вопроса принимали участие: Lyoko774, РСФСР, MacroN, Veresk Сообщение отредактировал RayTwitty - 09.12.2017, 21:15 |
|
|
![]()
Сообщение
#282
|
|
Новичок * Группа: Участник Сообщений: 12 Регистрация: 05.10.2015 Пользователь №: 22538 ![]() |
Потихоньку расставляю зоны на Юпитере, пока готово лишь на половину.
|
|
|
![]()
Сообщение
#283
|
|
Новичок * Группа: Участник Сообщений: 12 Регистрация: 05.10.2015 Пользователь №: 22538 ![]() |
|
|
|
![]()
Сообщение
#284
|
|
Игровой Бог ********************** Группа: Участник Сообщений: 7021 Регистрация: 22.02.2006 Из: Париж Пользователь №: 3089 ![]() |
Как включить детекцию EAX в бинарниках скомпилированных из исходников (проверено на ТЧ 1.0007).
|
|
|
![]()
Сообщение
#285
|
|
Новичок * Группа: Участник Сообщений: 12 Регистрация: 05.10.2015 Пользователь №: 22538 ![]() |
macron, Редактировать xrSound.dll впринципе необязательно - вместо этого можно изменить имя устройства во wrap_oal.dll и OpenAL32.dll. Так можно будет использовать EAX даже в мультиплеере.
|
|
|
![]()
Сообщение
#286
|
|
Игровой Бог ********************** Группа: Участник Сообщений: 7021 Регистрация: 22.02.2006 Из: Париж Пользователь №: 3089 ![]() |
Редактировать xrSound.dll впринципе необязательно - вместо этого можно изменить имя устройства во wrap_oal.dll и OpenAL32.dll. Гениально!Фикс детекции EAX в бинарниках скомпилированных из исходников v2 (проверено на ТЧ 1.0007). Оптимизировано by vlad_54rus. Сообщение отредактировал macron - 15.07.2021, 19:59 |
|
|
Текстовая версия | Сейчас: 03.06.2023, 03:19 |