• 注册
  • 角色模型 角色模型 关注:1550 内容:276

    【VRoid补丁dll】修复VRoid舞蹈多人联机锁镜头、声音忽大忽小bug、全角色镜头、镜头调节

  • 查看作者
  • 打赏作者
  • 当前位置: 七日杀中文网 > 角色模型 > 正文
  • 角色模型
  • LV.4

    这个dll补丁能够一次性直接解决以往、未来VRoidMod里带运镜的舞蹈的所有问题,包括会在多人下锁定队友镜头声音忽大忽小部分舞蹈运镜在部分角色上不生效的问题。

    并且使用之后,只要使用的舞蹈带有正确规范的运镜,那么使用该舞蹈时,所有的角色模型都会支持运镜(强行兼容);如果使用的舞蹈不带有运镜,那么也会回退到默认的VRoidMod的镜头逻辑(即视角锁定在脖子)。因此,作为一个补丁,它几乎是有益无害的。

    此外,带*GUI的版本里还添加了一个GUI,可以允许你开关运镜,以及调整舞蹈运镜的缩放(GUI版本会自动读取EyeHeight并自动计算调整,当然也允许手动调),这样可以避免某些小个子角色模型在套用大个子舞蹈镜头时虚空对焦到头顶(萝莉控狂喜!)

    【VRoid补丁dll】修复VRoid舞蹈多人联机锁镜头、声音忽大忽小bug、全角色镜头、镜头调节

    (调整镜头缩放高度,看右上角鼠标)

    【VRoid补丁dll】修复VRoid舞蹈多人联机锁镜头、声音忽大忽小bug、全角色镜头、镜头调节

    (调整开关,看右上角鼠标

    【VRoid补丁dll】修复VRoid舞蹈多人联机锁镜头、声音忽大忽小bug、全角色镜头、镜头调节

    通过网盘分享的文件:VRoidDanceCamera

    链接: https://pan.baidu.com/s/1kovRViCS5-PGEf9zMaWHBQ?pwd=7dfb 提取码: 7dfb

    仅在VRoidMod最新版测试,但理论上兼容比较宽泛的版本,不过建议升级到最新版

    (那你可能会问了,哪里找有运镜的舞蹈呢?答案是可以看【七日杀/图文&视频教程】5分钟内教会你在七日杀内跳舞蹈/MMD – 角色模型 – 七日杀中文网自己转换(在这里期待一下你的作品);也可以蹲一蹲大佬们的舞蹈,预计过段时间就会有大佬分享制作的高质量的带运镜的舞蹈);此外,过去一二三佬也分享过一些,我之前也放过几个。

    带有运镜MMD的效果:

    (舞蹈由勇气佬转换,请关注勇气佬喵)

    对于普通用户

    使用方式:

    把我写好的编译的dll直接放到VRoidMod文件夹即可:(提供有两个版本的.dll,选择其一即可)

    【VRoid补丁dll】修复VRoid舞蹈多人联机锁镜头、声音忽大忽小bug、全角色镜头、镜头调节

    在游戏内可以按F7关闭UI。

    后面的都不用看了,不过如果你在添加这个补丁后遇到问题,或者感兴趣,也可以往后看。

    如果你遇到了某个角色、某个舞蹈在引入该补丁后出现了bug,可以阅读下面QA,如果显然是本补丁的bug,请尽量提供详细的信息反馈。在确认无法自行解决问题后提供角色unity3d和舞蹈unity3d,并反馈。

    ——————————更新日志———————

    代码开源在:https://github.com/maoxig/VroidDanceCamera

    25.8.10:

    fix:修复了死亡后运镜补丁失效的bug;优化性能和逻辑

    25.8.12:

    fix:修复某些情况下多人仍然锁镜头的bug

    feat:新增一个GUI版本,可以选择开关舞蹈镜头、调整视线高度

    对于感兴趣的用户/角色mod、舞蹈mod开发者,建议阅读以下QA以及原理介绍(也有提供代码):

    Q:会影响原有的转换流程吗?

    A:不会,之前怎么转化的现在就怎么搞,我做了许多前向、后向兼容的考虑,因此理论上是都能兼容的。添加了这个dll后,无论角色模型是否内嵌镜头,只要舞蹈unity3d支持运镜,那么就一定会运镜;如果舞蹈unity3d不支持运镜,那么会回退到VRoidMod的镜头逻辑(锁定在人物大概脖子的位置)。因此对于角色模型,不需要再内嵌镜头。对于舞蹈unity3d,可按喜好添加运镜,舞蹈unity3d的制作、运镜的添加、原理我前面的帖子里有详细的图文视频说明:

    【七日杀/图文&视频教程】5分钟内教会你在七日杀内跳舞蹈/MMD – 角色模型 – 七日杀中文网

    Q:用了xx舞蹈有问题,镜头、表情、动作很怪,是不是这个补丁的问题?

    A:显然不是,不过不确定的话可以先移除该补丁然后再对比尝试,如果没法解决可以带着详细的信息反馈。如果是舞蹈本身的问题,请找原作者。

    Q:兼容性如何?未来官方出第三人称会导致失效吗?

    A:理论上,这套方案只要七日杀不修改第一人称镜头的相关变量、接口,在未来都是可行且不会报错的,并且理论上兼容以往、未来所有的角色模型和舞蹈动作。未来官方出了第三人称,如果那时VRoidMod还能用,那该补丁也能用;如果VRoidMod用不了了,那也问题不大,毕竟这本来就是VRoidMod的补丁(感觉有点废话),并且这个补丁会跟进最新版的支持(也会尽可能兼容旧版)

    Q:即使修复了多人锁镜头,我也不想有运镜,怎么办?

    A:添加了一个GUI,包含开关和滑块,关闭后使得所有舞蹈即使有镜头也会回退到VRoidMod的默认镜头逻辑,滑块能够调整镜头缩放,可以避免锁头失败。

    Q:联机需要每个人都添加这个补丁吗?

    A:我没试过有人不加会发生什么,但是最好都添加吧


    Q:原理是什么?是怎么修复多人联机锁镜头的?

    首先你要知道原先的运镜方法的原理(见我前面的教程帖子)。但是帖子提到,那种方法会导致多人下队友锁镜头。这是因为激活了不恰当的镜头(Camera_root/Camera_root_1/Camera导致的冲突(后面我意识到这个错了,其实并不是冲突,而是多人模式下的某种机制)。正确的获取和修改镜头位置与旋转的方法是从EntityPlayerLocal.vp_FPCamera.transform(这是一个当前玩家的第一人称镜头,但是因为七日杀还没提供第三人称镜头,因此VRoidMod是把第一人称镜头伪装成第三人称)。


    因此我们的目的是使得舞蹈的AnimClip内对Camera_root/Camera_root_1/Camera这三个节点的位移的信息能够合理地传递给外部的EntityPlayerLocal.vp_FPCamera.transform。我设想了许多种方法,最终的方法是在每次EntityPlayerLocal的LateUpdate后面patch一个postfix函数(这个函数在原有的VRoidMod镜头控制逻辑之后执行,因此会覆盖VRoidMod的镜头控制),然后我们检测这三个节点是否在初始位置,如果不在,说明产生了运动,我们就更新EntityPlayerLocal.vp_FPCamera。

    此外,为了兼容过去的、未来的所有的情况,我考虑了一下4种(可以合并为2种)情况:

    • 情况 a:人物 Avatar 模型包含 Camera_root/Camera_root_1/Camera 路径层级,舞蹈的动画曲线也包含对该路径的控制。

      • 只需禁用模型中的 Camera 组件,并将 vp_FPCamera 同步到该节点的世界位置和旋转。

    • 情况 b:人物 Avatar 模型不包含上述路径层级,舞蹈的动画曲线也不包含该路径层级。

      • 希望使用 VRoidMod 默认的镜头机制(锁定在人物脖子上),无需额外同步操作。

    • 情况 c:人物 Avatar 模型不包含上述路径层级,但舞蹈的动画曲线包含该路径层级。

      • 动画曲线会尝试控制不存在的路径,可能导致错误。为解决此问题,需要动态创建 Camera_root/Camera_root_1/Camera 层级,并让动画曲线绑定到这些新节点。

    • 情况 d:人物 Avatar 模型包含上述路径层级,但舞蹈的动画曲线不包含该路径层级。

      • 动画曲线不控制镜头,应使用 VRoidMod 默认镜头机制,与情况 b 相同。

    因此,在每次开始跳舞前(Prefix),我的补丁会查找 Camera_root/Camera_root_1/Camera 路径,如果不存在,会创建这样的层级(包括镜头),但是会禁用其他所有的镜头(避免镜头竞争)。此外,为了兼容以往的一些错误的模型,我还尝试删除了所有前人多余额外的AudioListener(因为这会导致声音变大变小,并且unity不允许>1的AudioListener)

    而在每次EntityPlayerLocal的LateUpdate后面的postfix函数(这个函数会在每一帧周期性执行),我们查找Camera_root/Camera_root_1/Camera 路径,检查每一个节点的变换,只要有一个节点的变换不符合初始位置,这说明舞蹈controller控制了镜头,那么我们判定需要把人称镜头vp_FPCamera的变换、视野与Camera同步。


    总之,如果不理解也可以看下面的源代码,如果未来我不维护了,或者因版本更新导致问题,你也可以尝试自行解决:

    VroidDanceCamera/VroidDanceCamera/VroidCameraFix.cs at master · maoxig/VroidDanceCamera


    Q: 是怎么修复声音忽大忽小的?

    A:这里我也尝试了很多种方案,包括但不限于创建新的AudioListener,使用-二三佬的舞蹈unity修复。但是搞了半天发现很麻烦。后来我发现了最简单最本质的方法:

    在开始舞蹈之后,我通过PostFix,把VRoidMod播放音频时的AudioSource设置为 2D 音效(.spatialBlend = 0),这种情况下无论当前玩家镜头在哪音量都是稳定的。而且通过判断是否为当前玩家,可以使得对自己来说,声音不管在哪都是一致的大小;而对其他玩家,声音是3D的(会随距离衰减),这样即使你在家里跳舞也不会影响到在做任务的队友。总之这套方案应该是很完美的。

    Q: 怎么反馈问题?

    A:如果你有一定能力,可以先尝试自行解决,如果无法解决可以看看代码理解、问问AI;如果你不太理解,可以带着比较详细的信息(版本、行为、结果等等)在评论区反馈

    "点赞是美意,打赏是鼓励"

    太好了,联机的时候总算不用担心再被强锁镜头了

    回复
    哇哦!好强!

    品赛博烧鸡,做电子魅魔

    回复

    好 测试

    回复

    大佬,我找不到替换模型。

  • Xenoph如果你确认你的VRoidMod安装无误的话,你得对比移除一下其他的Mod。因为VRoidMod的图标是在那个奖杯图标的右边(一个金色的V)。你这个可能是其他的mod搞得UI冲突了(导致没显示),总之这个问题你可以去问问别的大佬,我没怎么玩过其他mod,不太了解这些mod的兼容性。
    拉黑 2星期前 电脑端回复
  • 回复
  • Xenoph催更!
    拉黑 2星期前 手机端回复
  • 回复
    Lv.8
    浴火重生

    不过这屌皮条客说官方要出第三人称功能,到后面整个模组DLL可能又得被重改

    不过管他的,反正是饼,真更新了也得先等Alter更新

    正式版了嘛?如正!

  • Xenoph其实改写也问题不大,该头疼的是Alter,他肯定得考虑到前后兼容性,尽可能兼容现有的/未来的模型和舞蹈,所以不管是角色模型还是舞蹈感觉都可以接着做,问题不大。
    拉黑 2星期前 手机端回复
  • 提亚玛特是勇气佬,摸一下!
    拉黑 2星期前 电脑端回复
  • Xenoph我想了想我们这套表情和镜头的玩法完全是独立于VRoid原先的,而且理论上都不需要考虑VRoid的兼容性,镜头这边只要我这个补丁持续更新就行,所以就看能不能有更多作者来搞模型转换和舞蹈转换了。
    拉黑 2星期前 电脑端回复
  • 回复
    Lv.1

    你好,希望你今天过得愉快,真的很抱歉打扰你。


    我已经在论坛上发帖并联系了许多人和社区寻求帮助,但一个月以来,每个英语社区都未予回应。我尝试在这里提交问题,但难以确定发帖位置,且我的帖子已处于“待审核”状态数日。


    我和朋友已经尝试制作7天模型超过一个月了,每次制作时,肢体通常会变形或扭曲,我不知道该如何解决这个问题。肘部或脚部通常会脱落并突出。


    示例:


    https://imgur.com/a/EjbZuqP#683HYPS


    我已经搜索了这里和英文社区中所有能找到的帖子,从未见过有人遇到过这些问题或解释如何解决,我尝试了超过20个模组,它们几乎都存在相同的问题。你知道我该怎么办吗?我和我的朋友都非常希望将我们的模型放入游戏中。


  • XenophHello, it looks like your issue might be caused by problems with rigging or weight painting (vertex weighting). You can double-check the related settings first. If that still doesn't resolve the issue, feel free to provide more details (like what you did step by step). Additionally, you can upload your model—including converted .unity3d files and original models such as .vrm/.pmx—so we can check the relevant settings. If it's not convenient to send images here, you can send me a private message. This forum allows sending images in private messages.
    拉黑 2星期前 电脑端回复
  • Mystio非常感谢您的回复,我本想给其他人或模组作者发送私信,但系统提示我的等级不够高无法操作。我对这类网站完全不熟悉,操作起来很吃力(我是英语使用者,正在使用翻译工具) 关于我已经采取的步骤,以及在超过30个模型上完成的操作: https://www.7risha.com/62477.html 我在Unity中几乎完全按照这些步骤操作,并且取得了成功。但每次这样做时,通常会在肘部或极少数情况下在脚部出现1处变形。我检查了模型的骨骼和绑定,但据我所知一切看起来都正常,但坦白说我不知道如何处理这些问题。如果您有可以教我如何操作的链接,我将非常感激,这样我就能找到问题所在。我对绑定或其他相关技术完全不熟悉。 我主要是想完成1到2个模型,原本以为按照这些步骤操作会很简单,但看来我还有很多需要学习的地方。 https://imgur.com/a/EjbZuqP#683HYPS 我不知道还能说什么,我和朋友在过去一个月里尝试了超过30个不同的模型,但问题一直存在,这种情况常见吗?
    拉黑 2星期前 电脑端回复
  • Xenoph @Mystio Since you mentioned you followed the steps exactly and confirmed everything was correct, your operation itself should be fine—there might be other factors causing the issue. This situation doesn't seem common. Such errors typically look like they stem from issues with the original model itself, and usually, original models (in formats like .vrm, .fbx, .pmx) only have errors in very rare cases. You can upload the model's source files (.vrm, .fbx, .pmx, etc.) and your converted .unity3d files to cloud storage (e.g., Google Drive) so I can download them for inspection.
    拉黑 2星期前 电脑端回复
  • Mystio @Xenoph 我稍后会再做一次并上传,因为我之前在尝试修复时弄坏了Unity,不得不重新开始整个流程(安装了一个似乎搞砸了整个系统的打包工具)。等我重新启动流程并测试完毕后,我会上传供您检查,谢谢。
    拉黑 2星期前 电脑端回复
  • Xenoph @Mystio Maybe you don't need to re-convert. As long as you still have the original model files or the unity3d files, you can upload any one of them first. That way, I might be able to check for the issue quickly.
    拉黑 2星期前 电脑端回复
  • Mystio @Xenoph https://drive.google.com/file/d/1HNVpaQa0V9tN40e_eIDmE_YdNTiMj_-O/view?usp=sharing 这是我GIF中的模型,也是我最喜欢的角色。我按照步骤操作(这张GIF是在我开始调整Springbone之前拍摄的) 如果你成功让它运行起来,你愿意录制屏幕吗?我已经尝试了无数次,仔细按照每个步骤操作,但不确定自己可能遗漏了什么,我可以一步步走过。
    拉黑 2星期前 电脑端回复
  • Mystio @Xenoph Hello, sorry to reply, the site will not allow me to respond to dm's due to my level I think. Is there anything I can do about the issue you found out? Anywhere where I could learn how to fix the animation or rigging? I have this issue with a lot of models so I'd like to learn to fix it and get my favorite models to work
    拉黑 2星期前 电脑端回复
  • Xenoph @Mystio The easiest way is to find better-made models on some websites—such as some MMD models (.pmx) or other types that can be converted for use in Unity. If you want to fix this one, you'll need to learn Blender basics and get some knowledge of rigging and weight painting.
    拉黑 2星期前 电脑端回复
  • 回复

    回复
    Lv.1
    感谢大佬的付出,赞一个!
    回复

    感谢大佬的付出,赞一个!

    回复

    请登录之后再进行评论

    登录
    • 大版主
    • 小版主
  • Momoka
    Momoka
    你不搬,我不搬,明天Asa就丸蛋
  • 暂没有数据

    赞助广告位

  • 点击展示图片即可一键加入QQ群
    赞助广告:100R/月 目前空缺广告位:0

    分享网站

  • 繁体中文
  • 任务
  • 动态
  • 到底部
  • 帖子间隔 侧栏位置: