
维伏工艺 史诗战斗 摄像机偏移
为Vivecraft中的史诗战斗添加可配置的虚拟现实摄像头偏移,允许相对于玩家身体调整第一人称摄像头位置。
Vivecraft Epic Fight 相机偏移
概述
Vivecraft Epic Fight 相机偏移 是一个客户端兼容性模组,用于在使用 Vivecraft 搭配 Epic Fight 时调整第一人称 VR 相机。
我制作这个模组是因为某些 Epic Fight 动画会导致可见的第一人称玩家模型与 VR 相机相交。在攻击、武器架式和其他动画动作期间,相机可能会进入玩家模型的头部、颈部、胸部或身体,遮挡视野并使战斗体验不舒适。
此模组提供两种相机跟踪模式:
- HEAD_POSITION,跟随 Epic Fight 头部关节的动画位置
- FIXED,应用相对于玩家模型身体方向的可配置偏移
从 0.3.1 版本 开始,HEAD_POSITION 是默认跟踪模式。
VR 舒适度重要警告
HEAD_POSITION 可能导致强烈或快速的相机移动。
由于相机跟随 Epic Fight 动画头部关节的移动,某些攻击、武器架式、闪避、自定义动画或动画包可能会导致相机晃动、上升、下降或突然移动。
这可能导致:
- 晕动症
- 头晕
- 恶心
- 头痛
- 眼睛疲劳
- 失去平衡或身体不适
如果您开始感到不适,请立即停止游戏。
休息一下,将跟踪模式切换到 FIXED,或者如果症状持续,停止使用此模组。不要在不适的情况下继续游戏。
移动的强度很大程度上取决于所使用的 Epic Fight 动画、武器、自定义模型和动画包。
HEAD_POSITION 模式
HEAD_POSITION 读取 Epic Fight 头部关节的动画位移,并将该移动应用到 Vivecraft 相机。
例如,某些武器架式会导致 Epic Fight 玩家模型略高于其正常位置。没有相机跟踪时,模型可能会向上移动而 VR 相机保持在后方,导致相机被埋入玩家模型内部。
使用 HEAD_POSITION 时,相机跟随头部关节的动画移动:
Vivecraft 相机位置
+ Epic Fight 动画头部关节位移
+ 配置的相机偏移
这使相机相对于动画玩家模型保持在更一致的位置。
仅调整相机位置。相机旋转仍由 VR 头显控制。
这意味着:
- 环顾四周仍然跟随头显的物理移动
- Vivecraft 的房间尺度头部移动仍然可用
- Epic Fight 动画可以移动相机位置
- Epic Fight 动画不直接控制玩家注视的方向
HEAD_POSITION 跟踪不应用移动距离限制。相机跟随动画提供的位移。
自动回退
HEAD_POSITION 可能无法适用于每个玩家模型、骨骼系统、动画或 Epic Fight 附加组件。
如果模组无法获取有效的头部关节或动画姿态,它会自动回退到现有的 FIXED 身体相对偏移系统。
HEAD_POSITION 可用
→ 应用动画头部位移和配置的偏移
HEAD_POSITION 不可用
→ 仅应用配置的 FIXED 偏移
回退可能发生在以下情况:
- 找不到头部关节
- Epic Fight 玩家补丁不可用
- 当前的骨骼系统不受支持
- 无法获取动画姿态
- 自定义模型使用不兼容的骨架
- 计算出的位置包含无效数据
- 其他模组干扰 Epic Fight 的动画系统
回退是自动的,不需要更改配置文件。
FIXED 模式
FIXED 应用可配置的相机偏移,而不跟随动画头部关节。
水平偏移根据 Epic Fight 玩家模型身体的方向旋转。
它们不基于 VR 头显的方向。
例如:
rightOffsetMeters始终向模型右侧移动forwardOffsetMeters始终向模型身体面向的方向移动- 用头显向侧面看不会旋转这些偏移
FIXED 模式通常更稳定,对于使用 HEAD_POSITION 时出现晕动症的玩家可能更舒适。
功能特性
- 在 Epic Fight 模式激活时调整 Vivecraft 第一人称相机
- 包含 HEAD_POSITION 动画跟踪
- 跟随 Epic Fight 动画头部关节的位移
- 当头部跟踪不可用时自动回退到 FIXED 模式
- 保持 VR 头显旋转独立于 Epic Fight 动画
- 支持垂直相机调整
- 支持前后调整
- 支持左右调整
- 根据 Epic Fight 玩家模型的身体方向旋转水平偏移
- 可限制仅在 Epic Fight 模式下生效
- 可限制仅在 Vivecraft 的第一人称渲染通道中生效
- 不对 HEAD_POSITION 应用移动距离限制
- 仅客户端
- 无需在服务器上安装
前置要求
此版本是针对以下环境创建和测试的:
- Minecraft: 1.20.1
- Forge: 47.4.22 或更高版本
- Vivecraft: 1.20.1-1.3.15
- Epic Fight: 20.14.17
其他版本可能无法正常工作。
无法保证与自定义 Epic Fight 模型、骨骼系统、动画和附加模组的兼容性。
安装方法
- 安装 Forge、Vivecraft 和 Epic Fight。
- 将此模组的 JAR 文件放入客户端的
mods文件夹。 - 启动 Minecraft 一次以生成配置文件。
- 在编辑配置之前关闭 Minecraft。
此模组仅限客户端使用,无需安装在专用服务器上。
在安装新版本之前,请移除旧版本的此模组。不要在 mods 文件夹中同时保留多个版本。
配置
使用该模组启动一次 Minecraft 后,将创建以下文件:
config/epicfight_vr_camera_offset-client.toml
配置更改在 Minecraft 启动时加载。
编辑文件后请重启 Minecraft。
0.3.1 版本的默认配置
configVersion = 4
[tracking]
trackingMode = "HEAD_POSITION"
[camera]
enabled = true
rightOffsetMeters = 0.000
verticalOffsetMeters = 0.150
forwardOffsetMeters = 0.000
epicFightModeOnly = true
firstPersonOnly = true
debugLogging = true
配置选项
trackingMode
trackingMode = "HEAD_POSITION"
选择相机跟踪方法。
可用值:
trackingMode = "HEAD_POSITION"
跟随 Epic Fight 的动画头部关节位移,并添加配置的相机偏移。
这是 0.3.1 及更高版本中的默认模式。
trackingMode = "FIXED"
禁用头部关节跟踪,仅使用配置的身体相对相机偏移。
FIXED 模式推荐给遇到晕动症、相机移动过度或与 HEAD_POSITION 存在兼容性问题的玩家。
enabled
enabled = true
启用或禁用所有相机调整功能。
true:相机调整已启用false:相机调整已禁用
rightOffsetMeters
rightOffsetMeters = 0.000
相对于 Epic Fight 玩家模型身体的方向水平移动相机。
- 正值将相机向身体右侧移动
- 负值将相机向身体左侧移动
默认值:
rightOffsetMeters = 0.000
允许范围:
-2.0 至 2.0 米
示例:
rightOffsetMeters = 0.050
这将相机向玩家模型的右侧移动约 5 厘米。
verticalOffsetMeters
verticalOffsetMeters = 0.150
在世界空间中垂直移动相机。
- 正值将相机向上移动
- 负值将相机向下移动
0.3.1 版本中的默认值:
verticalOffsetMeters = 0.150
允许范围:
-2.0 至 2.0 米
在 HEAD_POSITION 模式下,此偏移在计算动画头部关节位移后添加。
示例:
verticalOffsetMeters = 0.100
这将增加约 10 厘米的向上偏移。
forwardOffsetMeters
forwardOffsetMeters = 0.000
相对于 Epic Fight 玩家模型身体的方向水平移动相机。
- 正值将相机向前移动
- 负值将相机向后移动
默认值:
forwardOffsetMeters = 0.000
允许范围:
-2.0 至 2.0 米
示例:
forwardOffsetMeters = 0.050
这将相机相对于玩家模型的身体向前移动约 5 厘米。
epicFightModeOnly
epicFightModeOnly = true
控制相机调整是否仅在 Epic Fight 模式激活时应用。
true:仅在 Epic Fight 模式激活时应用调整false:允许在 Epic Fight 模式之外进行调整
推荐设置:
epicFightModeOnly = true
firstPersonOnly
firstPersonOnly = true
将相机调整限制在 Vivecraft 的第一人称 LEFT、RIGHT 和 CENTER 渲染通道。
true:仅对第一人称 VR 渲染应用调整false:不将调整限制在这些渲染通道
推荐设置:
firstPersonOnly = true
debugLogging
debugLogging = true
在 latest.log 中启用一次性诊断消息。
这些消息有助于确定 HEAD_POSITION 是否激活,或者模组是否已回退到 FIXED 模式。
当 HEAD_POSITION 成功工作时,可能会出现类似以下的消息:
HEAD_POSITION active using joint Head
当头部跟踪不可用时,可能会出现类似以下的消息:
HEAD_POSITION unavailable; using FIXED body-relative fallback
如果不需要诊断日志,请将此选项设置为 false。
建议调整方法
默认的 HEAD_POSITION 垂直偏移为:
verticalOffsetMeters = 0.150
如果视角感觉太高,请逐渐减小:
verticalOffsetMeters = 0.100
或:
verticalOffsetMeters = 0.050
如果相机仍在玩家模型内部,请逐渐增大该值。
对于前后和侧向调整,请先使用较小的值。建议以约 0.02 到 0.05 米之间的值作为起点。
一次只测试一个设置。
如果 HEAD_POSITION 导致不适的相机移动,请切换到:
trackingMode = "FIXED"
故障排除
在报告问题之前:
- 确认只安装了一个版本的此模组。
- 确认已安装所需版本的 Forge、Vivecraft 和 Epic Fight。
- 使用
trackingMode = "FIXED"进行测试。 - 临时移除自定义 Epic Fight 动画包进行测试。
- 检查
latest.log中的 HEAD_POSITION 或回退消息。
报告问题时,请包括:
latest.logdebug.log- 任何可用的崩溃报告
- 受影响的动画包的名称和版本
- 受影响的 Epic Fight 附加组件的名称和版本
- 导致问题的武器或架式
- 问题是否在 FIXED 模式下也出现
这些文件和详细信息可能有助于确定原因,但不能保证修复。
AI 辅助开发
此模组是在 AI 的协助下创建的。
我不是经验丰富的程序员,通常没有足够的技术能力来诊断或修复可能出现的每个问题。
因此,如果无法解决崩溃、兼容性问题、错误的相机移动或其他问题,我在此提前深表歉意。
HEAD_POSITION 与 Epic Fight 的动画和模型系统交互,因此兼容性可能因自定义模型、骨骼系统、武器、动画和附加模组而异。
重要数据警告
在安装或使用此模组之前,请备份您的世界。
尽管这是一个客户端相机兼容性模组,但在高度模组化的环境中仍可能发生意外错误或不兼容。
使用此模组风险自负。
我对以下情况不负责:
- 损坏的世界
- 损坏的游戏数据
- 丢失的进度
- 删除或更改的配置文件
- 崩溃
- 身体不适或晕动症
- 由使用此模组直接或间接引起的任何其他问题
请始终保留您重要的 Minecraft 世界和配置文件的安全备份。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。