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 } " ) ;
}
GUI プロジェクトでの使用を容易にするために、いくつかのデータ型に ViewModel が含まれています。
現時点で含まれているものは、次のパケット用です。
さらに、それらすべてをグループ化するためのグローバルUDPTelemetry
ViewModel。
例は近日公開予定です。
このライブラリのインスピレーションとなったライブラリをコーディングしてくれた @thomz に感謝します。
ピザを買ってください
F1® 23 ゲーム - FIA Formula One World Championship™ の公式製品です。
F1 Formula 1 ロゴ、F1 ロゴ、Formula 1、F1、FIA FORMULA ONE WORLD CHAMPIONSHIP、GRAND PRIX、および関連マークは、F1 会社である Formula One Licensing BV の商標です。 © 2023 カバー画像 F1 会社、Formula One World Championship Limited。 Formula One World Championship Limitedからライセンスを取得しています。 F2 FIA Formula 2 CHAMPIONSHIP ロゴ、FIA Formula 2 CHAMPIONSHIP、FIA Formula 2、Formula 2、F2 および関連マークは国際自動車連盟の商標であり、ライセンスに基づいてのみ使用されます。無断転載を禁じます。 FIA および FIA AfRS のロゴは、国際自動車連盟の商標です。無断転載を禁じます。