Эта статья относится к игре "Half-Life: Alyx". Нажмите для получения дополнительной информации.
This article relates to the workshop tools for "Half-Life: Alyx". Click here for more information.
This article's documentation is for Source 2. Click here for more information.

Звуки в Дополнениях

From Valve Developer Community
Jump to: navigation, search
English (en)Русский (ru)中文 (zh)Translate (Translate)


Воспроизведение звуков в дополнениях Source 2 и Half-Life: Alyx запускается стартом и остановкой звукового события [Sound Event].

Звуковые события запускаются/изменяются/останавливаются игровым кодом, объектами на карте, анимацией или другими звуковыми событиями по имени.

Звуковые события имеют тип (к примеру, type = "hlvr_default_3d") и содержат набор значений, соответствующих этому типу.

Добавление звуков в ваше Дополнение

Чтобы добавить новые звуковые события или изменить содержимое уже существующих звуковых событий из базовой игры, вам необходимо:

  • Добавить новый .wav файл в папку "sounds", которая находится в вашем дополнении.
  • Добавьте свой собственный файл звуковых событий аддона.
  • Объявите в нем свои звуковые события, чтобы они указывали на ваши новые звуки (скомпилированная версия .vsnd).
  • Добавьте манифест "звуковых ресурсов", который указывает на ваш файл звуковых событий.
  • Скомпилируйте все эти файлы.

Это все, что требуется, чтобы перезаписать существующие звуковые события.

Чтобы добавить новые звуковые события на карту, на карте нужно разместить snd_event_point(en). Эту сущность можно запускать и останавливать с помощью триггеров.

Добавить новые звуки

Поместите звуковые файлы в каталог "sounds" внутри дополнения:

Addon Sounds-132120964.png


Файлы Звуковых Событий

Добавьте файл звуковых событий с уникальным именем в каталог "soundevents", добавив к нему префикс с именем дополнения:

Addon Sounds-132120961.png


Перезапись звуковых событий

В качестве примера, перезапишем некоторые звуковые события для зомби:

<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->
{
	"Addon.AudioNewSoundDemo" = 
	{
		type = "hlvr_default_3d"
		volume = 1.0
		volume_falloff_min = 70.0
		volume_falloff_max = 2700.0
		volume_fade_out = 1
		volume_fade_in = 0
		spread_min = 30
		spread_max = 150
		vsnd_files = 
		[
			"sounds/snd_sound_add_demo_01.vsnd",
		]
	}

// Перезапись существующих звуковых событий
	"Step_Zombie.Metal_Solid" = 
	{
		base = "Step_Zombie.Base"
		volume_mult_step_layer = 2
		vsnd_files_step = 
		[
			"sounds/fs_squeaky_01.vsnd",
			"sounds/fs_squeaky_02.vsnd",
			"sounds/fs_squeaky_03.vsnd",
			"sounds/fs_squeaky_04.vsnd",
			"sounds/fs_squeaky_05.vsnd",
			"sounds/fs_squeaky_06.vsnd",
			"sounds/fs_squeaky_07.vsnd",
			"sounds/fs_squeaky_08.vsnd",
			"sounds/fs_squeaky_09.vsnd",
			"sounds/fs_squeaky_10.vsnd",
			// Строчки удалены ради сокращения этого примера, здесь должны быть указаны все файлы.
			"sounds/fs_squeaky_39.vsnd",
			"sounds/fs_squeaky_40.vsnd",
			"sounds/fs_squeaky_41.vsnd",
			"sounds/fs_squeaky_42.vsnd"
		]
	}

	"Step_Zombie.Default" = 
	{
		base = "Step_Zombie.Metal_Solid"
	}
	"Step_Zombie.Concrete" = 
	{
		base = "Step_Zombie.Metal_Solid"
	}
	"Step_Zombie.Dirt" = 
	{
		base = "Step_Zombie.Metal_Solid"
	}
	"Step_Zombie.Gravel" = 
	{
		base = "Step_Zombie.Metal_Solid"
	}
	"Step_Zombie.Metal_Walkway" = 
	{
		base = "Step_Zombie.Metal_Solid"
	}
	"Step_Zombie.Wood" = 
	{
		base = "Step_Zombie.Metal_Solid"
	}
}


При создании новых звуков вы можете использовать несколько различных типов звука:

  • hlvr_default_3d
  • hlvr_2d_w_falloff
  • hlvr_2d_w_occlusion
  • hlvr_music_3d
  • hlvr_music_3d_takeover
  • hlvr_music_2d
  • hlvr_music_fixed_rotation
  • hlvr_music_start_multi_quad


Файлы Манифеста

Добавьте файл манифеста с конкретным именем в каталог "resourcemanifests", чтобы он соответствовал дополнению:

Addon Sounds-132120962.png

Формат имени:

<название_аддона>_addon_resources.vrman


Добавьте референс на один или несколько файлов звуковых событий с манифестом:

<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->
{
	resourceManifest = 
	[
		[ 
			"soundevents/audio_new_sound_soundevents.vsndevts",
		],
	]
}


Компиляция

Используйте либо "Asset Browser", либо "resourcecompiler", скомпилируйте все вышеперечисленные ресурсы. Использование компилятора ресурсов в каталоге Steam часто требует указания полных путей:

c:\Program Files (x86)\Steam\steamapps\common\Half-Life Alyx\content\hlvr_addons\audio_new_sound\resourcemanifests>"c:\Program Files (x86)\Steam\steamapps\common\Half-Life Alyx\game\bin\win64\resourcecompiler.exe" -i -f "c:\Program Files (x86)\Steam\steamapps\common\Half-Life Alyx\content\hlvr_addons\audio_new_sound\resourcemanifests\audio_new_sound_addon_resources.vrman"

Загрузка аддона звуковых событий

Звуковые события дополнения не загружаются до тех пор, пока в игру не будет загружена карта или пока файл звуковых событий не будет перезагружен в Asset Browser.

Это означает, что если вы запустите Инструменты Мастерской и откроете только Hammer, вы обнаружите, что звуковые события вашего аддона еще недоступны в средстве выбора звуковых событий [soundevents picker].

В таких случаях, чтобы загрузить звуковые события вашего дополнения, выполните одно из следующих действий:

  1. Запустите Инструменты Мастерской и загрузите любую карту с помощью “addon_tools_map <название_карты>.”
  2. Перекомпилируйте и перезагрузите файл <название_аддона>_soundevents.vsndevts в Asset Browser.
Эти шаги необходимы только в том случае, если вы еще не загрузили карту после запуска Инструментов Мастерской.


Еще один полезный способ проверить наличие звуковых событий дополнения - ввести консольную команду “snd_list_soundevents” в vconsole.

Смотрите также

Дополнительный референс на звуковые события(en).

Список звуковых событий в Half-Life: Alyx(en).