接收并解析来自 F1® 23 游戏的遥测数据包。
当前的 UDP 规范可在此处找到。
由于规范每年都会发生变化并且由于范围原因,该库仅与 F1® 23 兼容。
该软件包现已在 NuGet 上提供。
必须在游戏中打开 UDP 遥测才能使该库正常工作。您可以在Options > Settings > Telemetry Settings
(F1® 23) 中找到遥测设置。
默认情况下, UDP Telemetry
选项处于关闭状态,因此您必须将其打开。当您在这里时,您还可以根据需要更改UDP Port
设置。默认值为20777
。
为了接收事件,您必须创建TelemetryClient
的实例。
// Instance the client listening on port 20777 (the default)
TelemetryClient client = new TelemetryClient ( 20777 ) ;
该实例具有您可以挂钩的事件来管理来自游戏的数据更新。
// Hook a method to the OnCarTelemetryDataReceive event
// This event represents whenever a packet is received that involves car telemetry (current speed, throttle or brake applied, engine RPM, etc.)
client . OnCarTelemetryDataReceive += Client_OnCarTelemetryDataReceive ;
private void Client_OnCarTelemetryDataReceive ( CarTelemetryPacket packet )
{
// Get the player index from the list of cars in the session
int playerIndex = packet . header . playerCarIndex ;
// Select the player's car from the list of car telemetries
CarTelemetryData carTelemetryData = packet . carTelemetryData [ playerIndex ] ;
// Write to console the engine RPM
Console . WriteLine ( $ "Engine RPM: { carTelemetryData . engineRPM } " ) ;
}
一些数据类型包含了 ViewModel,使其更容易在 GUI 项目中使用。
目前包含的数据包适用于以下数据包:
加上一个全局UDPTelemetry
ViewModel 用于对所有这些进行分组。
示例即将推出。
非常感谢@thomz 编写了启发这个库的代码。
给我买个披萨
F1® 23 游戏 - 国际汽联一级方程式世界锦标赛™的官方产品。
F1 Formula 1 徽标、F1 徽标、Formula 1、F1、FIA FORMULA ONE WORLD CHAMPIONSHIP、GRAND PRIX 及相关标志是 Formula One Licensing BV(一家 Formula 1 公司)的商标。 © 2023 封面图片一级方程式世界锦标赛有限公司,一家一级方程式公司。由一级方程式世界锦标赛有限公司授权。 F2 FIA Formula 2 CHAMPIONSHIP 徽标、FIA Formula 2 CHAMPIONSHIP、FIA Formula 2、Formula 2、F2 及相关标志是国际汽车联合会的商标,经许可独家使用。版权所有。 FIA 和 FIA AfRS 徽标是国际汽车联合会的商标。版权所有。