OpenTrack
OpenTrack ist eine Head-Tracking-Anwendung für Linux, Windows und macOS, die Kopfbewegungen in X-Plane-Kamerabewegungen umsetzt. In Kombination mit dem HeadTrack-Plugin von amyinorbit ergibt sich der empfohlene Head-Tracking-Stack für X-Plane 12 unter Linux.
Hintergrund
- Entwickler: Stanisław Halik und Mitwirkende
- Repository: github.com/opentrack/opentrack (ISC-Lizenz)
- Plattformen: Windows, Linux (macOS derzeit nicht gepflegt)
- Kompatibilität: X-Plane 10, 11, 12
OpenTrack wird aktiv weiterentwickelt und ist der Nachfolger von FaceTrackNoIR. Es unterstützt eine breite Palette an Eingabe-Trackern und Ausgabeprotokollen. Unter Linux ermöglicht der NeuralNet Tracker KI-basiertes Head-Tracking über eine Standard-Webcam — ohne spezielle Hardware.
HeadTrack-Plugin
- Entwickler: amyinorbit
- Repository: github.com/amyinorbit/headtrack (MIT-Lizenz)
- Plattformen: Windows, Linux, macOS
HeadTrack ist ein leichtgewichtiges X-Plane-Plugin, das 6DOF-Tracking-Daten über UDP-Port 4242 empfängt. Es dient als Brücke zwischen OpenTrack und X-Plane — die empfohlene Verbindungsmethode unter Linux, da das eingebaute OpenTrack-X-Plane-Plugin dort Zuverlässigkeitsprobleme aufweist.
Funktionsumfang
- 6DOF Head-Tracking: Pitch, Yaw, Roll und X/Y/Z-Translation
- NeuralNet Tracker: KI-basierte Gesichtserkennung über Webcam — keine IR-Hardware nötig, läuft auf CPU (erfordert ONNX Runtime, siehe Installation)
- PointTracker: Klassisches Tracking mit 3 IR-LEDs oder Reflexpunkten und IR-Kamera
- ArUco-Marker: Gedruckter Papiermarker vor einer Webcam — kostenlose Alternative zu IR-Hardware
- SmoothTrack-Eingabe: Empfängt Tracking-Daten von der SmoothTrack-Smartphone-App (kostenpflichtig, iOS/Android) über WiFi/UDP
- Filter und Kurven: Accela-Filter, Response-Kurven, Totzonen und Glättung pro Achse
- Hotkeys: Start/Stop, Rezentrierung und Zero per Tastatur oder Joystick-Button
Mehrwert in der Flugsimulation
Head-Tracking unter Windows basiert typischerweise auf TrackIR mit proprietären Treibern. Unter Linux bietet OpenTrack eine Open-Source-Alternative mit nativer Unterstützung für Webcam-basiertes KI-Tracking — der NeuralNet Tracker funktioniert ohne spezielle Hardware und ist damit die zugänglichste Head-Tracking-Lösung für Linux-Flugsimulanten. Das HeadTrack-Plugin stellt eine zuverlässige Datenübertragung an X-Plane 12 sicher, wo das eingebaute OpenTrack-Plugin Schwächen zeigt.
Empfohlener Aufbau
Der empfohlene Datenfluss unter Linux:
Eingabe (eine Option wählen):
├─ NeuralNet Tracker (Webcam, keine Hardware)
├─ PointTracker (IR-LEDs + Kamera)
└─ SmoothTrack (Smartphone-App)
│
▼
OpenTrack (Linux, aus Quellcode gebaut oder Paket)
├─ Filter: Accela (Standard, empfohlen)
├─ Response-Kurven pro Achse
└─ Ausgabe: "UDP over network" → 127.0.0.1:4242
│
▼
HeadTrack-Plugin (amyinorbit) in X-Plane
└─ In-Sim-GUI für Empfindlichkeit und Glättung
Das eingebaute OpenTrack-X-Plane-Plugin vermeiden
OpenTrack liefert ein eigenes X-Plane-Plugin (Shared-Memory-basiert) mit. Unter X-Plane 12 auf Linux zeigt dieses Plugin Zuverlässigkeitsprobleme — Einfrieren oder fehlende Datenübertragung. Stattdessen das HeadTrack-Plugin mit UDP-Ausgabe verwenden.
Installation
OpenTrack auf Debian/Ubuntu
sudo apt install build-essential cmake git libopencv-dev libproc2-dev qt6-base-private-dev qt6-tools-dev
git clone https://github.com/opentrack/opentrack.git
cd opentrack && cmake -B build && cmake --build build --parallel $(nproc)
NeuralNet Tracker benötigt ONNX Runtime
Die obigen Build-Befehle erzeugen ein funktionierendes OpenTrack, aber ohne den NeuralNet Tracker, sofern ONNX Runtime nicht installiert ist. Unter Debian/Ubuntu libonnxruntime-dev installieren (falls verfügbar), oder das ONNX Runtime Release herunterladen und -DONNXRuntime_DIR=<Pfad> zum CMake-Befehl hinzufügen.
HeadTrack-Plugin
Download: HeadTrack Releases
Die ZIP-Datei nach Resources/plugins/ entpacken. Dadurch entsteht der Ordner htrack/ mit dem Linux-Binary unter lin_x64/htrack.xpl.
Keine zusätzlichen Systempakete erforderlich.
Konfiguration
OpenTrack-Ausgabe
- OpenTrack starten
- Einen Tracker als Eingabe wählen (z.B. „NeuralNet tracker" für Webcam)
- Output auf „UDP over network" setzen
- In den Ausgabe-Einstellungen Ziel-IP auf
127.0.0.1und Port auf4242setzen - Accela-Filter konfigurieren (Standardeinstellungen sind ein guter Ausgangspunkt)
- Response-Kurven pro Achse anpassen — Empfindlichkeit für Yaw/Pitch reduzieren, um ruckartige Bewegungen zu vermeiden
HeadTrack-Plugin in X-Plane
Nach Installation des Plugins und Start von X-Plane:
- HeadTrack-Einstellungen über das Plugin-Menü öffnen
- Empfindlichkeit und Glättung anpassen — mit niedrigen Werten beginnen und schrittweise erhöhen
- Den Recenter-Hotkey in OpenTrack nutzen, um die neutrale Kopfposition vor jedem Flug zurückzusetzen
NeuralNet Tracker
Der NeuralNet Tracker verwendet ein neuronales Netzwerkmodell (ONNX Runtime) zur Erkennung der Kopfposition über eine Standard-Webcam. ONNX Runtime muss vor dem Build separat installiert werden — unter Debian/Ubuntu libonnxruntime-dev installieren (falls verfügbar), oder das ONNX Runtime Release herunterladen und -DONNXRuntime_DIR=<Pfad> beim CMake-Schritt angeben. Er läuft vollständig auf der CPU und benötigt keine GPU.
- Funktioniert mit den meisten USB- und eingebauten Webcams
- Ausreichende Beleuchtung ist wichtig — starkes Gegenlicht vermeiden
- Performance: Die CPU-Auslastung ist typischerweise gering genug, um neben X-Plane ohne Einfluss zu laufen
SmoothTrack (Smartphone)
SmoothTrack ist eine kostenpflichtige Smartphone-App (iOS/Android), die Head-Tracking über die Frontkamera bereitstellt und die Daten per WiFi sendet.
- In OpenTrack: Eingabe auf „UDP over network" setzen, um SmoothTrack-Daten zu empfangen
- Alternativ: SmoothTrack direkt an HeadTrack auf Port 4242 senden, ohne OpenTrack dazwischen
Quellen
- OpenTrack — GitHub
- HeadTrack — GitHub
- SmoothTrack — Website
- LinuxTrack — Alternative Head-Tracking-Lösung für Linux
- XCamera — Kamera-Plugin mit OpenTrack-Integration