行动语音

行动语音

在识别到的攻击、擒抱、终结技、主动技能和受击反应时播放自定义语音片段或音效。包含可配置触发概率、加权音频选择和可选打断。基础早期版本,技能覆盖不完整,偶有更新。包含测试音;可添加你自己的语音片段。

描述

当你的角色进入已识别的动作时,ActionVoice 会播放你自己的语音片段或音效。可为攻击、擒拿、终结技、主动技能和受击反应分别设置专属声音,并支持调整播放概率与加权随机选择。

音频会与原版角色语音同时播放。攻击无需命中敌人:播放取决于是否进入已识别的动作,而非单纯按下按键。

这是基础早期版本,动作覆盖不完整。主动技能尤其可能存在缺失条目或需要逐一确认的变体。测试并补全所有缺口将耗费大量工作。我可能会在有时间且有兴趣时添加修复,但更新将不定期进行,没有固定计划,也不承诺完整覆盖。

下载内容包含六个简短测试音,并非完整的角色语音包。请使用下方设置将其替换为你自己的音频。

功能

• 六个独立音频组:轻攻击、重攻击、擒拿、终结技、主动技能和受击反应。
• 全部十一种近战武器类型共享行为组。每种武器内部的覆盖仍不完整。
• 每组支持一个或多个音频文件,并可分别设置触发概率、选择权重、音量和冷却。
• 可选避免在每组内重复播放上一次的片段。
• 可选择在播放期间跳过新声音,或中断当前声音。
• 每个符合条件的动作条目仅进行一次概率抽取。持续技能阶段不会反复重抽。
• 提供中文和英文配置注释。

安装

1. 安装 Shambuwu 的 Nioh 2 DLL Loader:
https://www.nexusmods.com/nioh2/mods/671
2. 完全退出游戏。
3. 将此压缩包中的 Mods 文件夹复制到包含 nioh2.exe 的目录中。
4. 正常启动游戏。随附的配置会自动激活。

已安装 DLL:Mods/ActionVoice/ActionVoice.dll
配置:Mods/ActionVoice/ActionVoice.runtime.ini
自定义音频:Mods/ActionVoice/Sounds/

将 ActionVoice 直接放在 Mods 内。不要将整个解压后的发布文件夹放入 Mods,也不要在其中再创建另一个 Mods 文件夹。加载器需单独下载,不包含在内。使用此模组无需 Cheat Engine 或外部注入器。

如果你的现有环境使用 Lazy Loader 及其 dllMods 目录,请将 ActionVoice 放到那里。只加载一份副本,并保留你现有的根加载器。

对于会递归扫描 INI 文件的 3Dmigoto 环境,请在 d3dx.ini 现有的 [Include] 段下添加此行:

exclude_recursive = ActionVoice.runtime.ini

保留任何现有的排除行。ActionVoice.runtime.ini 是本模组的配置文件,不是 3Dmigoto 脚本。

配置

编辑 ActionVoice.runtime.ini。该文件包含编号段落、设置项之间的空行以及中英文提示。保留英文键名和段名,编辑值,并以 UTF-8 保存。

六个组为:

Group.LightAttack — 已识别的普通轻攻击。
Group.HeavyAttack — 已识别的普通重攻击。
Group.Grapple — 对精力耗尽的敌人进行的普通擒拿,以及选定的特殊擒拿技能。
Group.FinalBlow — 对倒地敌人的终结技。
Group.Skill — 已识别的主动技能。
Group.Hurt — 已识别的受击反应动画,并非每次损失生命值。

每组的声音在所有武器间共享。此版本不支持为单个武器或单个主动技能设置独立音频。

提供的默认设置会以 100% 概率和 35% 音量启用全部六个组,且无额外冷却。这些设置便于检查随附的测试音;正常游玩时可根据需要降低概率或添加冷却。

示例:让轻攻击有 40% 概率播放两个片段之一:

[Group.LightAttack]
Enabled=1
ChancePercent=40
Files=attack_1.wav|attack_2.wav
Weights=3|1
AvoidImmediateRepeat=0
CooldownMs=0
VolumePercent=35

编辑现有段落,而不是添加重复段落。将两个文件直接放在 Sounds 中。多个文件名及其对应权重用 | 分隔。

ChancePercent 决定符合条件的动作是否播放声音。Weights 决定在该概率通过后选择哪个片段。在此示例中,成功抽取时有 75% 的概率选择 attack_1.wav,25% 的概率选择 attack_2.wav。播放忙碌、冷却和其他资格检查仍可能阻止播放。

Enabled — 1 启用组;0 禁用组。
ChancePercent — 0–100 的整数。0 从不播放;100 总是通过概率检查。
Files — 每组最多 16 个不同的 WAV 文件名,直接位于 Sounds 内。支持 Unicode 和空格。
Weights — 每个文件对应一个整数,按匹配顺序排列,范围为 0 到 100000。0 表示排除该文件;至少有一个权重必须为正数。省略或留空权重表示选择概率相等。
AvoidImmediateRepeat — 1 表示在存在替代项时避免上一次成功播放的片段;0 表示保持常规加权选择。当有两个可用片段时,启用此项会使它们交替播放,因此会改变权重比例。
CooldownMs — 成功播放后每组各自的冷却时间,范围为 0 到 10000 毫秒。
VolumePercent — 每组音量,范围为 1 到 100,独立于游戏音量设置。禁用该组即可静音。

播放行为

在现有的 [ActionVoice] 段下设置 PlaybackMode:

PlaybackMode=Skip
播放完当前声音,并在其播放期间跳过新请求。不会排队。这是默认值,适合完整对话台词。

PlaybackMode=Interrupt
当新动作通过概率和冷却检查并选择了可用片段时,中断当前声音并从头开始播放新片段。这适合短促喊叫或音效。再次选择同一片段会重新开始播放。

概率抽取失败、冷却或音频不可用不会中断当前声音。两种模式对每个符合条件的条目仅抽取一次;按住或持续动作不会反复重试。

同一时间只播放一个附加片段。使用 Skip 时,即使是 100% 概率,也可能因为上一个片段仍在播放而漏掉快速连击中的部分片段。使用 Interrupt 时,快速动作可能反复截断较长的台词。该模式适用于全部六个组;没有组优先级设置。

应用更改

编辑 INI 或替换音频后,按 Ctrl+Shift+F8 关闭模组,然后再次按下以开启并重新加载文件。仅保存不会重新加载它们。

AutoStart=1 会在游戏启动时激活模组。AutoStart=0 需要使用 Ctrl+Shift+F8 手动激活。地图和武器变更通常不需要切换模组。

自定义音频

将你的片段直接放入 Mods/ActionVoice/Sounds/,并将 Files 设置为其文件名。你也可以在保留文件名的情况下替换随附的 WAV。

支持的格式:普通 16 位整数 PCM WAV,44100 或 48000 Hz,单声道或立体声。
限制:每个文件 8 MiB 和 10 秒;预加载音频总计 32 MiB。

不直接支持 MP3、OGG 和浮点 WAV。请转换音频;仅重命名扩展名不算转换。前部无静音的短片段通常最适合战斗。

原版角色语音会保留。附加音频有自己的音量,不遵循游戏音量、暂停菜单行为或空间音频系统。

覆盖范围与限制

这是粗略的首个版本,并非覆盖每个动作的完整语音。

普通攻击、基础擒拿、终结技和常见受击反应构成主要支持范围。并非每种武器、架势、连击段或变体都已逐一验证。主动技能映射包括从动作表推断的条目以及已记录的示例;列出映射并不意味着每个变体都已在正常游玩中测试过。

部分技能可能无声、分类错误,或在蓄力、延长、连锁时表现不同。许多格挡/反击技能和特殊动作仍需逐一确认。对于当前已映射的 Sword Water Shadow 和 Haze 条目,音频绑定到成功反击动画,而非初始架势。

偷袭、远程动作、妖怪技、表情和每种特殊处决不在完整覆盖范围内。尚未实现单个技能的音频设置。单独提供的覆盖工作簿(若有)仅供参考资料,无需安装。

缺失条目将逐例处理。欢迎反馈,但补全每个动作是一项大工程,因此请预期不定期更新,而非完整覆盖路线图。

要求与兼容性

Windows PC 版 Nioh 2,并安装兼容的 DLL 加载器。不需要 Perfect Guard。不保证与每个游戏版本或其他模组兼容;更改动作处理的模组可能冲突。

玩家包不包含安装程序、更新程序或日志收集脚本。可选的打断模式已通过本地策略和静音音频设备测试;这些检查不能替代游戏内试听反馈。

升级与卸载

替换 DLL 前请完全退出游戏。将你的 ActionVoice 文件夹备份到加载器扫描目录之外,更新 DLL 并保留你的自定义音频和设置。将整个包覆盖到现有安装上可能会覆盖它们。

没有 PlaybackMode 的旧配置会继续使用 Skip。如果你想要中断,请在 [ActionVoice] 下添加 PlaybackMode=Interrupt。只加载一个 ActionVoice DLL。

要卸载,请退出游戏并移除此模组的 ActionVoice 文件夹。保留共享加载器和其他模组。

问题报告

请在 Bugs 或 Posts 区报告缺失或错误的声音,并附上:

• 模组版本、武器和架势。
• 确切的动作或技能名称,包括任何后续或蓄力版本。
• 发生了什么:无声音、错误分组、重复声音或意外中断。
• PlaybackMode、触发概率和大致片段时长。
• 简短清晰的可复现操作步骤。

如需简短捕获,请设置 DiagnosticRecords=512,关闭/开启模组,执行该操作序列,然后关闭。退出游戏后,如有需要,请手动附加 DLL 旁边的 ActionVoice.runtime.log 和 ActionVoice.runtime.ini。无需收集脚本,也不会自动上传任何内容。

在报告缺失动作之前,请记住 Skip 模式可能会在另一个片段播放时有意抑制它。等待上一个片段结束,并以 100% 概率和无冷却尝试该动作。

致谢

Shambuwu — Nioh 2 DLL Loader。
感谢提供清晰动作录像和反馈的玩家。