logo mit Text lexexakt.de Werbung:
Artikel Diskussion (0)
SimHub, Software
(sim.hardware)
    

Inhalt
             1. Grundkonfiguration
             2. Effekt hinzufügen

SimHub ist die Software die es ermöglicht u.a. msfs-2020/2024 z.B. mit Forcefeedback-Hardware zu verbinden. SimHuB nutzt für die Datenabfrage das SimConnect SDK des msfs.

Mögliche Hardware auf der Ausgabeseite: Bass Shaker, Rumble-Pads etc.

D.h. SimHub verbindet im Prinzip die Telemetrie-Daten aus dem SimConnectd SDK des msfs mit den Eingängen der Zusatzhardware, so dass diese auf bestimmte telemetrische Ereignisse, wie z.B. das Betätigen der Bremse reagieren kann.

1. Grundkonfiguration

Unter Home muss als erstes der msfs 2024 als Spiel ausgesucht werden.

Ein Input-Device muss nicht ausgesucht werden, es gibt auch kein Standard-Devcie für den msfs 2024.

Unter ShakeIt Bass Shakers oder ShakeIt Motors kann man auf dem Tab "Sound Output" bzw. "Motors Output" Hardware aktivieren, u.a. unter "ShakeIt Motors" auch das Next level RAcing Forcefeel PAD.

2. Effekt hinzufügen

Sinnvollerweise konfiguriert man SimHub mit laufendem Simulator, so dass gleich erkennbar wird, ob das Vorhaben funktioniert oder nicht.

Um einen Effkct hinzuzufügen braucht man zunächst aus der Telemetrie die Namen der Variablen die das Ereinis auslösen sollen. (...)

Prüfe in SimHub die Live-Daten (häufig unter Tools / Telemetry / Live data oder Game data):

Suche nach einer passenden Variablen, z.B. für eine Variable mit Werten für denZustand der Bremse (typisch: Brake, Brake axis, brake, brake_left / brake_right).

Im im Spiel die Funktion auslösten, z.B. Bremspedal treten und beobachten, welche Varibale sich wie verändert.

Z.B. DataCorePlugin.GameRawData.FSStatus.BrakeLeftPosition für die Position der Bremse einer C 172.

Den Inhalt dieser Variablen kann man jetzt entweder über javascript oder über Ncalc (eine Sprache aus einer Open-Source-Library für .NET) in einen Wert übersetzen der dann an die Hardware weitergegeben wird.


01: let brake = $prop('DataCorePlugin.GameRawData.FSStatus.BrakeLeftPosition');
02: i++;
03: if(brake<0.1) i=0;
04: if(i<=3)
05:	return brake * 100;
06: else
07:	return 0;

In Zeile 01 wird über die Funktions $prop der Wert der emittelten Variabe ausgelesen und der lokalen Variablen brake zugewiesen. Dieser Wert liegt zwischen 0 (Bremse nicht getreten) und 1 (Bremse voll getreten.

Zeilen 05 und 07: Wichtig ist, dass am Ende ein Wert zurückgegeben wir mit return. Dieser Werd bestimmt, ob und wie stark der Output reagiert.

Werbung:

Auf diesen Artikel verweisen: keine Verweise