接收並解析 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 標誌是國際汽車聯合會的商標。版權所有。