FH6 Data Pad 是一个面向《极限竞速:地平线 6》的 Windows 副屏遥测与圈速复盘工具。
程序通过 FH6 Data Out 的 UDP 数据实时显示车辆状态,并可手动记录圈速、走线和驾驶输入,用于多圈对比与赛后复盘。
- 车速、发动机转速、挡位和换挡提示
- 油门、刹车、转向和横向/纵向 G 值
- 四轮温度、抓地状态及车辆姿态
- 当前车辆名称、等级、PI 和驱动形式
- 自动检测 FH6 遥测连接状态
- 可折叠侧边栏,适合放在副屏持续显示
- 点击按钮或按全局快捷键
F8开始/结束记录 - 按圈保存世界坐标、圈速和车辆遥测采样点
- 历史记录支持单条删除,并在删除前进行二次确认
- 单圈、全部圈以及任意多圈叠加对比
- 低速显示为红色,高速显示为绿色,起点和终点为蓝色
- 鼠标滚轮缩放,按住鼠标左键拖动画布
- 悬浮轨迹查看最近采样点的速度、挡位、RPM、油门和刹车
- 左下角显示所选圈的单圈时间
- 选择任意已记录圈进行模拟回放
- 支持将任意多个已选圈同时回放,用不同颜色的车辆圆点直观比较位置和速度
- 支持播放、暂停和进度定位
- 使用圆点模拟车辆在轨迹中的位置
- 模式 1 保持完整轨迹回放;模式 2 会随车辆移动逐渐绘制走线,完成后保留完整轨迹
- 可打开速度、挡位、转速、油门、刹车和纵向 G 六张时间曲线,回放游标会同步沿曲线移动
- 六张遥测图均支持点击放大查看
- 跟随车辆的信息卡显示时间、速度、挡位、RPM、油门、刹车和纵向 G
- 信息卡可单独关闭
- 回放速度可在
0.5×–2.0×之间连续调节
- 点击标题栏“悬浮地图”或按全局快捷键
F10开关独立的透明置顶窗口 - 自动根据实时世界坐标匹配已经扫描并保存的赛道
- 使用白色赛道线和车辆圆点显示实时位置;正常驾驶为黄色,圈速记录期间变为红色
- 根据主屏幕分辨率等比例缩放,在 2560×1440 下约为
540×315
- 侧边栏提供独立的“赛道扫描”页面
- 输入名称后,分别采集左边界和右边界
- 使用全局快捷键
F9开始/结束当前边界采集 - 自动进行闭环重采样、方向校正、边界配对和平滑
- 生成半透明赛道路面、左右边界、中心线及宽度统计
- 扫描结果按名称保存,可在圈速分析页选择并叠加到历史走线上
- 侧边栏“地图管理”以缩略图浏览所有已扫描地图
- 点击缩略图查看完整赛道路面、边界和宽度信息
- 手动编辑模式会将计时点吸附到左右边界
- 依次点击两侧边界即可生成一条计时线
- 支持添加多条计时线、撤销、删除、取消和保存
- 地图编辑模式支持鼠标滚轮缩放和鼠标中键拖动画面
- 计时线直接保存在对应赛道 JSON 中,也会显示在圈速分析叠加层上
- Windows 10/11 64 位
- Microsoft Edge WebView2 Runtime
- 支持 Data Out 的 FH6
- 建议使用第二块显示器
发布目录使用自包含的 .NET 运行时,通常不需要另外安装 .NET。
在游戏的遥测/Data Out 设置中填写:
| 设置 | 值 |
|---|---|
| 数据输出 | 开启 |
| 数据输出 IP 地址 | 127.0.0.1 |
| 数据输出 IP 端口 | 20440 |
随后启动 HorizonData.exe。程序收到有效数据包后,标题栏会显示 FH6 已连接。
- 启动 FH6,并完成上面的 Data Out 设置。
- 运行
HorizonData.exe。 - 在实时仪表页确认车辆数据正常变化。
- 点击“开始记录”或按
F8。 - 完成需要分析的圈数后,再按一次
F8保存。 - 打开侧边栏中的“圈速分析”,选择历史记录进行对比或回放。
扫描赛道时,建议左右两次采集从同一位置、按同一方向开始,并保持
20–60 km/h 沿边缘完成一圈。当前版本优先支持封闭环形赛道。
直接打开 index.html 会进入模拟数据预览模式,不会连接游戏。
驾驶记录以 JSON 文件保存在:
软件目录\Data\Sessions
记录包含车辆标识、车型名称、PI、驱动形式、开始/结束时间、完整圈速,以及按圈归组的坐标和遥测点。删除这些 JSON 即可删除相应历史记录。
车辆名称通过遥测包中的 CarOrdinal 在离线数据库中匹配。记录内部使用 fh6:<CarOrdinal> 作为稳定车辆键,显示名称仅作为标签。
命名后的赛道扫描文件保存在:
软件目录\Data\Tracks
需要安装 .NET 8 SDK:
dotnet restore
dotnet build HorizonData.csproj -c Release生成自包含的 Windows x64 发布包:
dotnet publish HorizonData.csproj -c Release -r win-x64 --self-contained true -o .\release\HorizonData运行自检:
.\release\HorizonData\HorizonData.exe --self-testMainForm.cs WinForms、WebView2 与前端通信
TelemetryReceiver.cs UDP 接收循环
TelemetryPacket.cs FH6 324 字节遥测包解析
SessionRecorder.cs 圈速、轨迹和遥测点保存
TrackScanner.cs 赛道边界采集、拟合与命名保存
TrackOverlayForm.cs 透明置顶赛道悬浮窗与实时位置匹配
CarDatabase.cs 离线车辆名称匹配
GearFormatter.cs 挡位显示规则
index.html 应用界面结构
styles.css UI 样式
app.js 仪表、圈速分析和轨迹回放逻辑
- FH6 Data Out 不提供道路左右边界、赛道 ID 或真实赛道宽度,因此当前只能准确绘制车辆中心点走线。
- 透明悬浮地图适用于窗口化或无边框全屏;独占全屏模式可能会阻止其他窗口覆盖在游戏上方。
- 旧版生成的记录可能没有挡位、RPM 或 G 值字段,界面会显示“旧记录无数据”。
- 全局
F8注册失败时,仍可使用窗口内的“开始记录”按钮。 - 未收录的车辆会显示遥测中的
CarOrdinal,不会影响记录。
离线车辆编号数据参考:
https://gist.github.com/HDR/0659d1717bc61504bf83750628963f4f
FH6 Data Pad 默认只监听本机 UDP 端口,并将驾驶记录保存在本机。项目不会自动上传圈速、位置轨迹或其他遥测数据。