
英灵神殿声学
《英灵神殿》中的声音忽略了它所在的世界。石墙后面的火与前面的火一样响亮、一样明亮地传到你的耳中;地穴听起来像草地;一百米外的战斗在你看到的瞬间就传到耳边。这个模组会计算你周围的空间对声音的影响,并加以应用。
查看大图Description
Valheim 的声音忽略了它所处的世界。石墙后面的火堆传到你这儿时,响度和明亮程度与面前的火堆毫无二致。墓室听起来像草地。一百米外的战斗在你看到它的瞬间就抵达了。
这个模组会计算你周围的空间实际上如何影响声音,并将其应用于声音。
这里没有任何预设或情绪滤镜。每四分之一秒,它会用一束射线测量你所处的房间——它有多封闭、有多大,以及它的表面吸收每个频段多少能量——然后用房间设计所用的同一套方程,从这些数值推导出混响。木制长屋和石制墓穴听起来不同,是因为它们[i]本就[/i]不同,而不是因为有人选了两种预设。
大多数时候结果都是安静的。声音只是按照常理行事:被阻挡、绕过拐角、从门口传入、在开阔地上失去锐度,并且需要时间才能抵达。
安装说明
[list=1] []如果你还没有安装,请安装 [url=https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/]BepInEx for Valheim[/url]。 []将 [b]ValheimAcoustics.dll[/b] 放入 [b]Valheim/BepInEx/plugins/[/b]。 [*]启动游戏一次。设置会出现在 [b]Valheim/BepInEx/config/ru.ivest.valheimacoustics.cfg[/b]。 [/list]模组管理器会按常规方式安装——无需额外步骤。
所有设置都有可用的默认值。如果你只想改一样东西,就改 [b]Reverb / ReverbLevel[/b]——混响的整体响度。[b]Reverb / TailDamping[/b] 控制尾音在物理计算所得之外的暗度,而 [b]Effect / OccludedVolume[/b] 设置完全被阻挡的声音有多安静。
安装了 [url=https://valheim.thunderstore.io/package/Azumatt/Official_BepInEx_ConfigurationManager/]ConfigurationManager[/url] 后,你可以在游戏中按 F1 实时调节旋钮,立即听到差别,这是体验它最好的方式。
主要特性
[b]知道障碍物是什么的遮挡。[/b] 来自每个声源的射线决定它被阻挡了多少,而幸存下来的声音取决于屏障的材质——模组会读取游戏自身的材质类型,所以木墙比地下城岩石多通过约 11 dB。生物也算数:门口的一只巨魔会遮蔽它身后的声音。
[b]衍射。[/b] 声音不必被完全封死才会被阻挡。模组会找到它必须绕过的边缘,并依据 Maekawa 定律计算这一绕行。高音绕射能力很差,所以被遮蔽的声音会先失去锐度,再失去厚度——当你听不清某物时,你仍然能判断出它在哪儿。
[b]能找到门口的声音。[/b] 射线从你的位置出发在世界中弹射;当某条射线找到通往声源的路径时,那个声音就会减轻一部分闷闷感,并被移到它真正从那里传到你耳中的位置。隔壁房间的炉火从门口传来,而不是穿过墙壁。
[b]从房间推导出的混响。[/b] 一个位于发送总线上的反馈延迟网络,由测量到的空间驱动。衰减遵循 Eyring 方程;直达声与反射声之间的平衡遵循临界距离;早期反射被放置在探测实际测量到的距离上,这正是区分同尺寸的走廊与大厅的关键。能量是被重新分配而非叠加——随着反射声场上升,直达声以相同的量被压低。
[b]空气,以及声速。[/b] 距离会像空气那样带走高音,即与频率的平方成正比。而声音以 343 m/s 传播,所以远处的战斗或对远墙的突袭会滞后于你所看到画面——在一百米处约为三分之一秒。
[b]它会自我测量。[/b] 模组随附了它所依据的测量工具。一个工具渲染混响器的脉冲响应,并将其实际衰减与模型所指定的值进行校验,然后扫描模型以检查必须成立的关系。另一个工具发出一个经校准的噪声脉冲,静音世界,并像测量真实房间那样从游戏自身的输出中推导出房间的 RT60。两者都会输出到 BepInEx 日志,且两者默认都[b]未绑定[/b]——如果你需要它们,请在 Debug 下设置一个按键,因为第二个工具在工作时会让游戏静音。它们的存在是因为声学很难靠耳朵判断:衰减时间长了三分之一,或电平低了三十个分贝,都是听不出来的——而这两者在开发过程中都发生过。
Requirements
[list] [][b]BepInEx 5.4.22[/b] 或更新版本。 []基于 [b]Valheim 0.221.13[/b](Unity 6,Mono)构建并测试。 [/list]客户端侧,在单人游戏中安全。它不改变服务器所知道的任何内容,所以其他人无需安装,它也不会阻止你加入原版服务器。
每帧的典型开销远低于一毫秒。如果你开启 [b]Debug / DebugLog[/b],模组会在日志中报告自己的各子系统耗时,所以你永远不必凭空相信这一点。
Shout outs
致 BepInEx 和 HarmonyX 的作者,没有他们这一切都无从实现,也致 ILSpy,让游戏的音频路径变得可读。
致 Manfred Schroeder、Carl Eyring 和 Zyun-iti Maekawa——这个模组主要是他们工作的实现。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。