《深海迷航2》头部追踪
《深海迷航2》非官方头部追踪模组,支持视角与瞄准分离。无需VR头显,即可用头部自由环顾四周,用鼠标或手柄控制瞄准。
特性-
分离视角 + 瞄准 头部自由环顾,鼠标或手柄瞄准保持独立
-
六自由度追踪 - 全方位旋转(偏航角、俯仰角、翻滚角)与位置追踪(倾斜、探头、下蹲)功能,前后移动范围不对称限制,防止穿透角色模型
-
兼容任何OpenTrack数据源 VR 头显、网络摄像头、手机应用、TrackIR,或任何支持 OpenTrack UDP 协议的设备
需求- 在 Steam 上购买了《深海迷航2》
Windows 10 / 11,64位
- 兼容OpenTrack的头戴追踪设备(VR头显、网络摄像头或手机应用)
安装1. 安装 OpenTrack(或你喜欢的兼容 OpenTrack 的追踪器)。详见“依赖项”部分。
2. 从NexusMods页面的【文件】选项卡下载此模组的压缩包,将压缩包内容解压至《深海迷航2》的安装根目录。压缩包内部结构为 `Subnautica2/Binaries/Win64/`(Steam版)和 `Subnautica2/Binaries/WinGDK/`(Game Pass/Xbox应用版),因此直接解压到安装根目录即可自动将文件放入正确的 `Binaries` 文件夹。未使用的版本文件夹没有影响,可保留在原位。
- Steam:解压至 `<Steam库>/steamapps/common/Subnautica2/`,确保 `dxgi.dll` 位于 `<Steam库>/steamapps/common/Subnautica2/Subnautica2/Binaries/Win64/dxgi.dll`。
- Game Pass / Xbox 应用:请解压至 `C:/XboxGames/Subnautica 2/Content/` 目录,确保 `dxgi.dll` 最终位于 `C:/XboxGames/Subnautica 2/Content/Subnautica2/Binaries/WinGDK/dxgi.dll`。虽然父目录 `C:/XboxGames/Subnautica 2/` 可能被锁定,但 `Content` 文件夹通常可写入。若系统拒绝操作,请先关闭 Xbox 应用,再以管理员身份运行解压工具重新解压。请勿直接解压至 `C:/XboxGames/Subnautica 2/` 本身,而应解压至 `Content` 文件夹。
- 若同时安装了 Steam 与 Game Pass 版本,请分别对两个安装目录执行解压操作(或各自解压一次)。每个版本需使用独立的模组文件副本。
4. 将你的系统 DXGI 复制到对应的 `Binaries` 文件夹,并重命名为 `dxgi_orig.dll`。以管理员身份打开命令提示符,运行与你游戏版本对应的命令行(若已同时安装至两个版本,则需分别运行)。
:: Steam
复制 "C:\Windows\System32\dxgi.dll" 到 "<Steam库>\steamapps\common\Subnautica2\Subnautica2\Binaries\Win64\dxgi_orig.dll"
:: Game Pass / Xbox 应用
将 "C:\Windows\System32\dxgi.dll" 复制到 "C:\XboxGames\Subnautica 2\Content\Subnautica2\Binaries\WinGDK\dxgi_orig.dll"
5. 正常启动《Subnautica 2》(通过Steam或Xbox应用)。同个`Binaries`文件夹内将生成一个`Subnautica2HeadTracking.log`文件。日志前几行应包含`build-check: PASS - matched profile ...`。出现该日志则说明模组加载成功;若未出现,则代理文件未加载,极可能是`dxgi_orig.dll`缺失或命名错误。
设置/配置使用VR头显配置OpenTrack:- 连接你的头戴设备(Air Link、Virtual Desktop、Link 数据线等),然后启动 SteamVR。
- 在 OpenTrack 中,选择 SteamVR 输入插件以读取你的头显姿态。
将输出设为“网络UDP”,主机 `127.0.0.1`,端口 `4242`。
点击“开始”,然后启动游戏。
使用摄像头配置OpenTrack:在OpenTrack中,将输入设置为“neuralnet tracker”(摄像头)或你选择的其它输入。
- 将输出设置为“UDP网络传输”,主机 `127.0.0.1`,端口 `4242`。
- 点击“开始”,然后启动游戏。
使用手机应用:在手机上安装支持OpenTrack的头动追踪应用。
将其设置为发送到你电脑的IP地址(运行 `ipconfig` 查找)的 `4242` 端口。
在手机上开始追踪,然后启动游戏。
注意:手机应用通常可借助OpenTrack进行平滑处理。若追踪出现抖动,请将手机数据发送至OpenTrack的端口(如`5252`,需确保防火墙已开放该端口),再通过OpenTrack将数据转发至`127.0.0.1:4242`的模组。
模组配置(`HeadTracking.ini`)一份自说明的 `HeadTracking.ini` 随模组压缩包一同提供,并放置在 `Binaries` 文件夹中的 `dxgi.dll` 旁。编辑该文件后重启游戏即可生效。若同时安装了 Steam 版和 Game Pass 版,每个版本都有独立的文件副本。
按键设置:
[网络]
端口 = 4242 ;OpenTrack UDP端口
[追踪]
EnableOnStartup = true ; 启动时自动开启追踪
YawSensitivity = 1.0 ; 左右视角灵敏度倍数
俯仰灵敏度 = 1.0 ; 上下视角倍率
滚动灵敏度 = 1.0 ; 头部倾斜倍率
反转Y轴 = false
反向俯仰 = 否
反向翻滚 = false
平滑度 = 0.0;0.0 响应灵敏,1.0 沉重厚重(内部已强制最低0.15)
AimDecoupling = true ; 头部控制视角,鼠标/手柄仍可瞄准
显示准星 = true ; 绘制补偿后准星
WorldSpaceYaw = true ; true = 视角水平锁定(默认),false = 相机局部视角
[位置]
启用 = true ;六自由度头部位置追踪
InvertX = true ; 左右倾斜方向
InvertY = false ; 垂直移动方向
反向Z轴 = true ;前倾/后仰方向
最大横向倾斜距离 = 0.30 米
限Y轴位移 = 0.20 ;最大垂直移动距离(米)
; 当 InvertZ 设置为 true 时,Z 轴边界反向映射:前倾对应
; LimitZBack(宽松值 0.40)与后仰动作使用 LimitZ(受限值)
; 0.10,避免穿过玩家身体。
LimitZ = 0.10;后仰限制距离(米)
前倾限制 = 0.40;前倾距离上限(米)
平滑 = 0.15
在Xbox应用版本中,Windows ACL权限可能会阻止在游戏文件夹内直接通过普通记事本保存文件。请以管理员身份运行记事本,然后打开 `C:/XboxGames/Subnautica 2/Content/Subnautica2/Binaries/WinGDK/HeadTracking.ini`。
控制两套等效键位设置——请根据你的键盘选择使用:
| 动作 | 导航组 | 和弦 |
|---------------------------------|-------------|----------------|
| 重置视角 | `Home` | `Ctrl+Shift+T` |
| 切换追踪 | `End` | `Ctrl+Shift+Y` |
循环追踪模式 | `Page Up` | `Ctrl+Shift+G`
| 切换偏航模式(世界/本地) | `Page Down` | `Ctrl+Shift+H` |
`Page Up` / `Ctrl+Shift+G` 切换追踪模式:
1. 普通头部追踪玩法。
2. 位置追踪已关闭,旋转追踪已开启。
3. 旋转追踪已关闭,位置追踪已开启。
4. 恢复正常。
`Page Down` / `Ctrl+Shift+H` 切换偏航模式:世界锁定(默认,地平线稳定)与相机本地。
故障排除日志文件位于 `Binaries` 文件夹中,与 `dxgi.dll` 在同一目录下。- Steam:`<Steam库>/steamapps/common/Subnautica2/Subnautica2/Binaries/Win64/Subnautica2HeadTracking.log`
Game Pass: `C:/XboxGames/Subnautica 2/Content/Subnautica2/Binaries/WinGDK/Subnautica2HeadTracking.log`
模组未加载(启动后无日志文件生成):- 请确认 `dxgi.dll`、`dxgi_orig.dll` 和 `HeadTracking.ini` 都位于对应版本的正确 `Binaries` 文件夹中(Steam 版为 `Binaries\Win64\`,Game Pass 版为 `Binaries\WinGDK\`)。缺少 `dxgi_orig.dll` 是最常见的问题:代理会将所有 DXGI 接口转发至此文件,缺失会导致游戏无法启动。
Windows 可能已阻止下载的 DLL 文件。请右键点击 `dxgi.dll`,选择“属性”,勾选“解除锁定”,然后点击“应用”。
- 若其他模组(如ReShade、SpecialK等)已在同一文件夹中自带`dxgi.dll`,则会产生冲突。同一目录下仅能保留一个`dxgi.dll`。
游戏启动但头部追踪未生效:检查日志中是否有`build-check: PASS - matched profile ...`。如果显示为“未识别的构建版本”,说明游戏已更新至模组尚未适配的版本,请前往模组的文件页面查看是否有更新。
- 请确保 OpenTrack(或您的追踪器)正在运行,并将输出设置为 UDP `127.0.0.1:4242`。
按 `End`(或 `Ctrl+Shift+Y`)切换追踪。
按下 `Home`(或 `Ctrl+Shift+T`)重新居中。
- 请检查防火墙是否已允许UDP端口`4242`通过。
配置变更未生效:- 配置文件仅在游戏启动时读取。修改后请完全退出游戏并重新启动。
- 在Game Pass上,Windows可能已静默拒绝保存你的存档。请重新打开文件,确认你的更改仍在;如果未保存,请使用以管理员身份运行的记事本编辑该文件。
确认已编辑与实际加载的 `dxgi.dll` 同目录下的 ini 文件(Steam 版路径为 `Binaries\Win64\HeadTracking.ini`;Game Pass 版路径为 `Binaries\WinGDK\HeadTracking.ini`)。
错误的旋转轴:若视角轴向出现反向,请在`HeadTracking.ini`中将对应的翻转开关(`InvertYaw` / `InvertPitch` / `InvertRoll`)设为`true`,然后重启游戏。
极端上下角度的偏航感异常:- 使用 `Page Down` / `Ctrl+Shift+H` 切换【世界锁定】与【相机本地】偏航模式。世界锁定(默认)保持地平线稳定;相机本地则跟随相机当前的上轴方向。
摄像机抖动:- 将「追踪」中的「平滑度」提升至0.3~0.5,或在追踪源中增加平滑度(OpenTrack自带平滑滤镜)。
- 若通过手机端WiFi连接应用,可能产生轻微抖动。建议接入OpenTrack进行平滑处理。
- 优化基于摄像头的追踪光照效果。
游戏安装后启动时闪退:这通常是因为 `dxgi_orig.dll` 缺失或损坏。请严格按照安装步骤第4条中的命令,将 `C:\Windows\System32\dxgi.dll` 重新复制到 `Binaries` 文件夹。该文件必须命名为 `dxgi_orig.dll`,不能是 `dxgi.dll` 或 `dxgi_original.dll`。
正在卸载从已安装的 `Binaries` 文件夹中删除以下文件(Steam版路径:`Binaries\Win64\`,Game Pass版路径:`Binaries\WinGDK\`;若同时安装两个版本,则需在两个路径下都执行删除操作):
dxgi.dll
`dxgi_原始.dll`
- `头部追踪.ini`
由于您没有提供具体的文本内容,我无法直接进行翻译。请粘贴需要翻译的文本,我会按照您的要求进行专业游戏本地化翻译。
- `Subnautica2HeadTracking.log`(若存在)
此后的游戏将完全保持纯净。若先前安装过其他`dxgi.dll`着色器插件(如ReShade、SpecialK等),请自行从备份中恢复;手动安装流程不会保留原有文件。
OpenTrack 独立于该模组,可通过其自带的卸载程序单独保留或移除。
制作人员-
未知世界深海迷航2》的开发者们。
-
打开追踪头部追踪协议与软件。
-
核心视角解锁- 各模组共用的头部追踪处理管线。
源代码https://github.com/itsloopyo/subnautica-2-headtracking — MIT 许可证
免责声明此模组与Unknown Worlds Entertainment无关,未获其认可或支持。使用风险自负。