音效
在《半衰期:爱莉克斯》的插件和Source2 引擎中,播放音效是通过 音效事件 来进行触发启动和停止的。
音效事件可以由游戏代码、地图实体、动画或者其他音效事件按名称进行启动/变更/停止。
音效事件有一个 "类",并包含一个与该 "类 "相对应属性值的集合。
添加音效步骤
要添加新的音效事件或改变游戏中已存在的音效事件内容,你需要:
- 在你自己的插件目录下创建 "sounds" 文件夹,并放入.wav格式的音效文件。
- 添加自定义音效事件。
- 在音效事件里声明新的音效(soundevents编译后版本是.vsnd文件)。
- 添加"sound resources"指向你的音效事件。
- 编译上述所有文件。
要想覆盖现有的音效事件,所需步骤也是一样的。
要将新的音效事件添加到地图中,需要一个snd_event_point 实体。这个实体可以用来控制音效事件的启动和停止。
添加新音效
将音效文件放到"sounds"目录中:
音效事件
在“soundevents”目录下添加一个唯一命名的 soundevents 文件,在它前面加上插件的名称:
定义音效事件
举一个例子,要覆盖一些丧尸的音效事件:
<!-- 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_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(音效事件选择器)”读取不到音效事件。
在这种情况下,要加载插件下的音效事件,请执行以下任一操作:
- 启动创意工坊工具并使用 “addon_tools_map <mapname>”命令加载任意地图。
- 在资产浏览器中重新编译并加载你的音效事件文件。
- 只有在启动创意工坊工具后尚未载入地图时,才需要这么做。
在控制台输入“snd_list_soundevents” 检查音效事件是否正确启用。
更多内容
SteamVR/Environments/Adding_Sound/Soundevents -- 关于音效事件的参考。
Soundevents -- 《半衰期:爱莉克斯》的音效事件列表。