
V 语音框架
V Voice Framework是一个轻量级、无依赖的redscript工具包,通过游戏原生的任务语音集系统,为V提供超过13,000条游戏内语音线,为Johnny提供超过60条,并内置冷却机制以防止滥用,同时支持可覆盖功能。
查看大图一个轻量级、无依赖的语音播放工具包,专为 V 打造。
这是 V For Vibrant 的底层引擎——作为独立框架拆分出来,以便任何模组作者都能为 V 赋予情境对话,而无需从头编写底层代码。无需 yaml,无需状态效果 hack,无需依赖 TweakXL。只需干净的 redscript 钩子,连接到游戏自身的任务语音系统。
如果你正在制作一个模组,希望 V 在受伤时呻吟、在击杀时大笑,或者在玩家执行某个操作时低声自语——这个框架是你构建的基础,而不是一个为了它本身而安装的模组。
[在此浏览全部 13,000+ 语音台词并收听样本](https://vfv-browser.dnbnhlp.workers.dev/)
[**示例用法:V For Vibrant。**](https://www.nexusmods.com/cyberpunk2077/mods/30658)
它的实际功能
一个核心函数,VFV_PlayVoice,处理一切:
- 通过游戏的任务系统播放任何原版语音组的台词——这与场景和任务使用的机制相同
- 受共享冷却时间 (VFV_VoiceBlocked) 限制,因此快速触发的触发条件——如霰弹枪弹丸、多段连击——不会在同一秒内重叠播放五句语音
- 在 V 开口前进行完整的可用性检查:在过场动画、照片模式、游泳、工作台、通话和游戏前加载窗口期间阻止播放,这样 V 就不会盖过场景或打断正在进行的通话
一个现成的反应库 (VFV_Reaction*) 内置了约 25 条预置的语音台词——战斗击杀、疼痛反应、潜行、好奇、赞同、惊讶等等——每条都从相应的原版语音组池中提取,使台词感觉像是原生内容,而非生硬添加。
旨在被扩展,而不仅仅是被使用。 VFV_GetVoiceCooldown() 是一个纯粹的可覆盖钩子——定义你自己的设置类,封装这个函数,你模组自己的冷却时间值就会直接流入共享的播放系统,而框架无需知道你的设置类存在。这正是 V For Vibrant 自身接入的方式。
为何做成独立框架
V Voice Framework 被拆分为独立的文件,专门是为了能够独立于任何基于它构建的模组进行更新。语音模组往往要么每次都重新发明这套底层代码,要么依赖笨重的状态效果技巧,需要它们自己的 yaml 数据库仅仅是为了去抖一个触发条件——而这个框架用纯脚本来做:原生冷却时间、单一的可用性门控,以及一个只有函数调用的反应库,数据侧无需维护任何东西。
由于它是独立的,框架可以按自己的节奏持续演进——新的反应台词、更好的可用性检查、修复游戏补丁引入的边缘情况——而无需强迫每个依赖的模组发布新版本才能获取这些更新。更新一次框架,构建于其上的每个模组在下次加载时都会受益,无需版本耦合,依赖模组中也无需任何更改。
给模组制作者
- 所有公共函数都以 VFV_ 为前缀,以避免与其他模组冲突
- 将此文件与你自己的 .reds 文件放在一起——无需加载顺序要求,无需配套的 yaml 文件
- 通过单个调用来触发反应,例如 player.VFV_ReactionRefuse(),或直接使用 player.VFV_PlayVoice(n"your_voiceset_name") 播放任何原版语音组
- 使用 @wrapMethod 覆盖 VFV_GetVoiceCooldown() 来插入你自己可配置的冷却时间——请参考 V For Vibrant 的实现
[在此浏览全部 13,000+ 语音台词并收听样本](https://vfv-browser.dnbnhlp.workers.dev/)[ ](https://dinhnambinh.github.io/Cyberpunk-2077-Character-Voice-Framework/V%20Voice%20Framework%20%E2%80%94%20Function%20Browser.html)
安装
- 下载并安装所有必需的模组。
- 使用你喜欢的模组管理器安装,或手动将模组解压到 Cyberpunk 2077 的根目录:
...\Cyberpunk 2077\
兼容性
- 此模组采用了非侵入式的方法来添加和封装方法,不应与其他模组冲突。
鸣谢
- 感谢 MisterChedda 和他的 Responsive V,我从中学到了如何使用 Codeware 的 ExecuteNode 函数的代码块。
- 感谢所有提供建议和反馈的人。
- 特别感谢所有才华横溢的模组制作者,他们让《赛博朋克2077》的模组社区保持活力。你们的创造力、知识和乐于分享的精神使得像这样的项目成为可能。
这不算多,但我为此付出了不懈努力:
- 约 13,000 条语音台词被接入场景文件 (13,012 个入口点)。
- V Voice Framework.reds 中有 34,000+ 行代码,V For Vibrant.reds 中有 1,000+ 行代码。
- 解决了无数错误 (无效的 JSON、重复的节点、错放的符号、拼写错误或一个意外的错位导致其后的 5,000+ 行代码偏移)。
- 连续 5 周与技术限制作斗争,不知道下一个方法是否可行,不断测试和猜测。
所以,如果方便的话,请留下评论和点赞,我将不胜感激。
[**► 浏览我的其他模组 ◄**](https://next.nexusmods.com/profile/dnbnhlp/mods?gameId=3333&_gl=1*14m2346*_ga*MTczMjc2NTYzLjE2NjY5MzA1MTE.*_ga_N0TELNQ37M*MTcxNDcwMjg4Ny41ODUuMS4xNzE0NzAzMzU2LjAuMC4w)
显示 1-11 条,共 11 条
以上为资源接口提供的文件记录。安装时请在客户端确认文件、游戏版本及依赖。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。