把旧 Android 手机的姿态通过 USB 或局域网 Wi-Fi 发送到 Windows,再以 FreeTrack/TrackIR 兼容数据提供给《欧洲卡车模拟 2》。
桌面端使用原生 WPF/XAML,支持高 DPI、七种手机安装方向和 125 Hz FreeTrack 输出。
请从 GitHub Releases 下载最新版:
EtHeadTrack-1.2.0-Windows-x64.zip:Windows 完整包,包含 EXE、APK 和说明书。EtHeadTrack-1.2.0-WPF.exe:可单独下载的 Windows x64 程序。EtHeadTrack-1.2.0.apk:可单独下载的 Android 安装包。
完整安装、调校与故障排查请阅读 中文用户说明书。
- 关闭原来的 HeadTrack(两个程序会争用同一块 FreeTrack 共享内存)。
- 手机开启 USB 调试并连接电脑。
- 运行
EtHeadTrack-1.2.0-WPF.exe。 - 第一次使用点击“安装/更新手机端”。
- 选择一种连接方式:
- USB:点击电脑端“连接 USB 手机”。
- Wi-Fi:勾选电脑端“允许 Wi-Fi 局域网连接”,在手机填写电脑端显示的 IP 和 6 位配对码,再点击“使用 Wi-Fi”。
- 保持 Windows 程序运行,再启动 ETS2。
- 手机处于正中姿势时点击“居中”,或按
F9。
USB 模式使用 ADB reverse 建立本机 TCP 通道,手机访问映射后的
127.0.0.1:4242,不经过 Wi-Fi 或互联网。
Wi-Fi 模式只在用户勾选后监听局域网端口 4242,首次开启时应在 Windows
防火墙提示中允许专用网络。电脑和手机必须在同一个路由器网络;姿态不会发送到
互联网。首次配对码保存在本机,之后无需重复输入。
桌面端支持七种安装方向:
- 竖直竖屏,屏幕朝前或朝后。
- 竖直横屏,手机顶部朝左或朝右。
- 竖直竖屏倒置。
- 平放,屏幕朝上或朝下。
若某一方向相反,勾选对应的“反向”。灵敏度控制手机实际转动与游戏转动的 比例;平滑越高越稳,但延迟也越大。
Windows“调校”区和手机端都可选择。新版两端连接后,PC 会自动下发设置, 手机立即重新注册传感器并确认:
- 50 Hz:更省电,适合低性能或发热明显的手机。
- 100 Hz:默认推荐;小米 6 实测能稳定提供 100 个真实姿态样本/秒。
- 200 Hz:传感器硬件上限,功耗和发热更高,不一定比 100 Hz 更稳定。
Windows 端会以约 125 Hz 更新 FreeTrack。若游戏仍感觉拖沓,先把“平滑”从 35 降到 15–25;若出现细小抖动再逐步调高。Wi-Fi 应使用 5 GHz 或信号良好的 局域网,追求最低延迟时仍建议 USB。
日常只需在正中姿势按 F9。若希望自动匹配转动范围,使用“中心 + 分轴范围
校准”,依次记录中心、左、右、上、下五个位置。程序会计算偏航/俯仰方向和
独立增益。
“自动专注点”默认开启。在任意方向保持姿态,四元数总摆动不超过约 2°并连续
保持设定时间时,程序会用这段姿态样本的四元数中心自动居中。等待时间可在
Windows 调校区设置为 1–15 秒(0.5 秒步进,默认 3 秒)。触发后必须先明显
移动才会重新待命。自动居中采用最高约 2°/秒的低速、限加速度漂移校正;
检测到头部重新移动约 2.5°时会立即暂停,等下一次稳定后继续,因此不会强行
拉动画面。范围校准期间会自动暂停,手动 F9 仍会立即居中。
不使用“左上、右上、左下、右下”的屏幕角点校准。角点适用于眼动或摄像头的 二维屏幕映射;陀螺仪输出的是三维旋转,角点会同时混合偏航与俯仰,反而不如 分轴校准准确。
ETS2 配置中需要 uset g_trackir "1"。本机现有 HeadTrack 已注册
FreeTrack/NPClient 游戏接口,Windows 程序会检查并显示其状态。
$env:ANDROID_HOME = "$env:LOCALAPPDATA\Android\Sdk"
cd android
.\gradlew.bat assembleDebugdotnet publish .\windows\EtHeadTrack\EtHeadTrack.csproj `
-c Release -r win-x64 --self-contained true `
-p:PublishSingleFile=true `
-p:EnableCompressionInSingleFile=true `
-p:IncludeNativeLibrariesForSelfExtract=true运行根目录的 build.ps1 会构建两端并整理到 dist。
Android 端发送系统 TYPE_GAME_ROTATION_VECTOR 的四元数。USB 使用 ADB
reverse,Wi-Fi 使用带 6 位配对码的局域网 TCP。Windows 端以首次样本或“居中”
时的样本为零点,完成轴映射、分轴增益、死区、灵敏度与低通滤波,最后写入标准
FreeTrack 共享内存:
- 共享内存:
FT_SharedMem - 互斥量:
FT_Mutext(FreeTrack 原协议即为这个拼写) - 旋转单位:弧度