This article relates to the game "半衰期:爱莉克斯". Click here for more information.
这篇条目有关 Half-Life: Alyx 创意工坊工具集。如需详情,点击这里。
这篇条目有关 Source 2引擎。如需详情,点击这里。

音效

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


在《半衰期:爱莉克斯》的插件和Source2 引擎中,播放音效是通过 音效事件 来进行触发启动和停止的。

音效事件可以由游戏代码、地图实体、动画或者其他音效事件按名称进行启动/变更/停止。

音效事件有一个 "类",并包含一个与该 "类 "相对应属性值的集合。

添加音效步骤

要添加新的音效事件或改变游戏中已存在的音效事件内容,你需要:

  • 在你自己的插件目录下创建 "sounds" 文件夹,并放入.wav格式的音效文件。
  • 添加自定义音效事件。
  • 在音效事件里声明新的音效(soundevents编译后版本是.vsnd文件)。
  • 添加"sound resources"指向你的音效事件。
  • 编译上述所有文件。

要想覆盖现有的音效事件,所需步骤也是一样的。

要将新的音效事件添加到地图中,需要一个snd_event_point(en)实体。这个实体可以用来控制音效事件的启动和停止。

添加新音效

将音效文件放到"sounds"目录中:

Addon Sounds-132120964.png


音效事件

在“soundevents”目录下添加一个唯一命名的 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",
		]
	}

// overwriting existing soundevents
	"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",
			// Entries removed to shorten this example, all the files should be referenced here.
			"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_name>_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目录中使用resourcecompiler通常需要指定完整路径:

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"

加载音效事件

在游戏中加载地图或在资产浏览器未加载音效事件之前,不会重载音效事件。

这意味着如果你启动创意工坊工具后只打开 Hammer,您会发现您“soundevent picker(音效事件选择器)”读取不到音效事件。


在这种情况下,要加载插件下的音效事件,请执行以下任一操作:

  1. 启动创意工坊工具并使用 “addon_tools_map <mapname>”命令加载任意地图。
  2. 在资产浏览器中重新编译并加载你的音效事件文件。
只有在启动创意工坊工具后尚未载入地图时,才需要这么做。


在控制台输入“snd_list_soundevents” 检查音效事件是否正确启用。

更多内容

SteamVR/Environments/Adding_Sound/Soundevents(en) -- 关于音效事件的参考。

Soundevents(en) -- 《半衰期:爱莉克斯》的音效事件列表。