Valheim 头部追踪

Valheim 头部追踪

适用于《Valheim》的平面屏幕头部追踪——无需VR头戴设备。使用网络摄像头、手机或任何兼容OpenTrack的追踪器,通过移动头部观察世界,同时准星仍由鼠标控制。游戏保持普通显示器模式。

游戏玩法

Valheim 头部追踪模组

Flatscreen head tracking for Valheim - no VR headset required. Use a webcam, phone, or any OpenTrack-compatible tracker to look around the world by moving your head while your aim stays on the mouse. The game remains a normal monitor experience; your head just controls the camera.

功能

  • 解耦的瞄准与视角 - 用头部自由环顾四周,同时鼠标瞄准保持独立
  • 六自由度追踪 - 完整旋转(偏航、俯仰、横滚)和位置追踪(倾斜、偷窥、蹲伏)
  • 兼容任何 OpenTrack 源 - 网络摄像头、智能手机应用、TrackIR 或任何支持 OpenTrack UDP 的设备

需求

  • Steam 上已购买的 Valheim 正版
  • Windows 10 / 11(64 位)
  • BepInEx 5.x

安装

  1. BepInEx 5.x(BepInEx_win_x64 zip 包)解压到你的 Valheim 文件夹。
  2. 将模组的 zip 包解压到你的 Valheim 文件夹。DLL 文件将放置于 BepInEx\plugins\ValheimHeadTracking\ 目录下:
    • ValheimHeadTracking.dll
    • CameraUnlock.Core.dll
    • CameraUnlock.Core.Unity.dll
    • CameraUnlock.Core.Unity.BepInEx.dll

设置追踪器

使用 OpenTrack(PC 网络摄像头):

  • 下载并安装 OpenTrack
  • 将输入设置为 "neuralnet tracker"(网络摄像头)或你偏好的源
  • 将输出设置为 "UDP over network" - 主机:127.0.0.1,端口:4242
  • 点击 Start,然后启动游戏

使用手机应用:

  • 在手机上安装兼容 OpenTrack 的头部追踪应用
  • 设置其向你的电脑 IP 地址(运行 ipconfig 查看)的 4242 端口发送数据
  • 在手机上开启追踪,然后启动游戏

注意:模组内置了网络抖动平滑处理,因此手机可以直接发送到 4242 端口。如果追踪仍有抖动,可通过 OpenTrack 路由:将数据从手机发送到 OpenTrack 的另一个端口(例如 5252,并在防火墙中开放该端口),然后让 OpenTrack 将数据发送到 127.0.0.1 的 4242 端口。

控制

两套等效的按键绑定 - 使用你的键盘上有的那一套。和弦键位于键盘中部,因此可以在没有导航键区的笔记本电脑上使用。

追踪模式循环顺序为 六自由度(旋转+位置) -> 三自由度仅旋转 -> 三自由度仅位置 -> 六自由度。使用主开关(End / Ctrl+Shift+Y)完全关闭追踪。

动作 导航键区 和弦键
重置视角 Home Ctrl+Shift+T
切换头部追踪 End Ctrl+Shift+Y
循环切换追踪模式 Page Up Ctrl+Shift+G
切换偏航模式 Page Down Ctrl+Shift+H
切换瞄准准星 Insert Ctrl+Shift+U

偏航模式切换(Page Down / Ctrl+Shift+H)在世界锁定偏航(默认,保持水平稳定)和相机本地偏航(跟随相机当前的上轴)之间切换。如果在极端角度抬头或低头时感觉偏航异常,可以尝试切换。

配置

模组在首次启动时会在 Valheim\BepInEx\config\com.cameraunlock.valheim.headtracking.cfg 写入配置文件。常用设置如下:

[General]
EnableOnStartup = true
WorldSpaceYaw = true

[Network]
UdpPort = 4242

[Sensitivity]
YawSensitivity = 1.0
PitchSensitivity = 1.0
RollSensitivity = 1.0

[Inversion]
InvertYaw = false
InvertPitch = false
InvertRoll = false

[Aim Decoupling]
EnableAimDecoupling = true
ShowDecoupledCrosshair = true

[Position]
PositionLimitY = 0.15
PositionLimitYDown = 0.05

删除该文件可将所有设置恢复为默认值。

故障排除

模组未加载:

  • 确认已安装 BepInEx(运行游戏一次后检查是否存在 BepInEx\LogOutput.log
  • 确保所有四个 DLL 文件均位于 BepInEx\plugins\ValheimHeadTracking\
  • 检查 BepInEx\LogOutput.log 中的错误信息

无追踪响应:

  • 确认 OpenTrack(或你的手机应用)正在运行并活跃地发送数据
  • 确认 UDP 输出设置为 127.0.0.1:4242(如果从手机追踪,则设置为你电脑的局域网 IP)
  • 按下 End 开启追踪,然后按下 Home 重置视角
  • 检查防火墙是否阻止了 UDP 端口 4242

相机抖动:

  • 在 OpenTrack 中增加平滑度/滤波(推荐 Accela 滤波器)
  • 在模组配置中降低灵敏度
  • 改善网络摄像头的追踪照明
  • 使用 WiFi 手机追踪时,预计会有一定抖动 - 模组内置的平滑处理有所帮助,但无法完全补偿严重的丢包

错误的旋转轴:

  • 在配置文件中翻转 InvertYawInvertPitchInvertRoll 选项,或直接在 OpenTrack 中调整曲线

更新

下载新版本并解压到你的游戏目录。你的配置文件会被保留。

卸载

  • 删除文件夹:<Valheim 安装目录>\BepInEx\plugins\ValheimHeadTracking\(包含所有四个 DLL 文件)。
  • (可选)删除配置文件:<Valheim 安装目录>\BepInEx\config\com.cameraunlock.valheim.headtracking.cfg
  • 要同时移除 BepInEx 本身(仅当你为此模组才安装它时):从 Valheim 文件夹中删除 BepInEx\winhttp.dlldoorstop_config.ini.doorstop_version

致谢

源代码

https://github.com/itsloopyo/valheim-headtracking - MIT 许可证