VirtualTracker: 给 VD 全身追踪写个别把配置搞坏的配置器
VirtualTracker 是给 Quest + Virtual Desktop 串流玩 VRChat 全身追踪用的一套配置工具。以前改 VD body-tracking 的小工具基本都莽着往 SteamVR 写配置,写坏了轻则追踪点乱飞,重则自己手动去修 steamvr.vrsettings。这项目的思路是先看清、先备份、再动手,把赌博式改配置换成能预览能回滚的操作。
现在放出的是 Phase 1,叫 VT Configurator,版本 0.1.1。范围很克制,只在你自己机器上读写你自己的 tracker 配置,不碰厂商二进制,不 patch 不破解,就是个更安全的配置器,替掉以前那种莽着写的老工具。
核心是一段 C++,外面套 CLI,再加一个 Dear ImGui 桌面界面。先从 %LOCALAPPDATA%\openvr\openvrpaths.vrpath 找 SteamVR 路径,读 steamvr.vrsettings 和 VD 的 OpenVR 驱动资源,拼出一份给 VRChat 全身追踪的 source-role 清单让你预览再决定应不应用。写回只动 driver_VirtualDesktop 和 trackers 两块,不认识的 section 和 key 原样保留。内置几个档:VT-VD-UpperBody、VT-VD-RealLowerBody、VT-VD-FullBodyDefault,还有专门关模拟 tracker 的 VT-VD-DisableEmulatedTrackers。
.\vt.exe inspect --json
.\vt.exe profile --list
.\vt.exe profile VT-VD-UpperBody
默认输出脱敏,本地绝对路径和 tracker 序列号要加 --raw 才吐,免得随手截图把机器信息带出去。重点其实在别把用户搞坏:所有写操作走 src/vt/config_plan.cpp 一个口子,每份预览带 base_hash,预览后文件被别的东西改过就算过期、默认拦下不让写;vrserver.exe 还在跑也就是 SteamVR 开着时默认不给写,除非显式 force。应用前先备份,恢复前也先建个恢复前安全备份,恢复时校验 .vtmeta 的 schema 版本、类型、成功状态,路径和内容 hash 对不上就不认。GUI 弹窗只是 UI 层提醒,底线在 core 里。另外 SteamVR 里看到的虚拟设备数量跟你保存的 body 绑定不是一回事,比绑定多是正常的。
0.1.1 不做实时 SteamVR 设备枚举,不抓 Quest/OpenXR 骨骼,没有实时姿态融合、标定、滤波,也没有 OpenVR 输出或 VRChat OSC,这些留给 Phase 2 VT Fusion,但那步会复用 Phase 1 磨出来的发现、profile、备份、诊断这套地基,不另起炉灶。构建要 VS 2026 自带的 CMake 和 C++20。目前没定开源许可,先挂 all-rights-reserved。