Head tracking
Head tracking allows a user to use the movement of their head to control the direction of their view in a hands-free manner within FlightGear. Instead of directly implementing support for head tracking protocols and devices, FlightGear instead exposes an interface to recieve input data from an arbitrary source, which head tracking software can then utilize.
Degrees of freedom
Degrees of freedom (DoF) are very common measure of the capability of a head tracking solution. It is the number of axis the view can be rotated or translated around or along.
For example would simple horizontal panning be 1 DoF (in essence rotation around the Z axis), while all translations and rotations would be 6 DoF (rotation around x, y and z + translation along x, y and z).
Screen view vs. VR view panning
While you obviously would like a VR goggle view to precisely follow your head movements, you can not do that if you want to have the view on a screen in front of you. To be able to still see the screen when you are panning the view to directly behind, the translations usually are scaled down when head tracking is used for panning the view on a screen.
While one or two DoF may be satisfactory when you are using head tracking to pan a screen view, three or sometimes six DoF is usually wanted when using VR goggles. Having six DoF with goggles usually requires requires external head tracking to capture the head movements as accelerometers are too noisy and will drift.
Head tracking solutions
There are many ways to do head tracking. The solutions cheapest to implement will use your web camera and will follow your face or some markers to figure out where your head is and how it is rotated.
The more expensive ones use IR cameras, either using a group of LED light markers or IR lights at the camera and reflective markers. The last method is used by some of the more popular commercial products. Often there is three or four markers grouped together with fixed relative positions that is attached to headwear or headphones.
Using head tracking in FlightGear
As FlightGear is very flexible there are many ways head tracking can be implemented. Often some external head tracking software will interface with FlightGear for example using a generic protocol such that the rotations and translations is read into properties that in turn are used for panning and moving the view.
Related content
Wiki articles
- FaceTrackNoIR
- Input device
- Interfacing FlightGear
- opentrack
- Howto:Wii Remote Head Tracking
- Addon#List_of_Addons - LinuxTrack addon for head tracking
Forum topics
- Opentrack topic on the forum (August 2020)
- DIY "VR" headset topic on the forum (January 2020-January 2021)
- Setting up my flight gear? topic on the forum (May 2016)
- How-to: motion tracking controller using vJoy and FreePIE topic on the forum (February 2016)
- TrackIR, EDTracker, vJoy, FreePIE, OpenTrack - headtracking topic on the forum (February 2017-August 2020)
- Headtrack topic on the forum (January 2011–January 2017)
- FaceTracking: which views are movable ? topic on the forum (May–June 2013)
- Offset problem with infra-red headtracker topic on the forum (April 2012)
- Something for your sim pit? (Eye-following projector) topic on the forum (June 2011)
- linux-track and FlightGear topic on the forum (March 2011–March 2014)
- Typhoon+Grand Canyon+FaceTrackNoIR=AwEsOmE topic on the forum (March 2011)
- First update FaceTrackNoIR topic on the forum (June 2010–March 2011)
- Anything new related to FreeTrack/TrackIR? topic on the forum (April 2009–July 2010)
- Integration with OpenCV topic on the forum (February 2007)
Developer mailing list threads
- [Flightgear-devel] SteamVR (January 2016)
- [Flightgear-devel] Kinect for pc for head tracking? (March 2013)
- [Flightgear-devel] FG Input though socket or anyway? (August 2011)
- [Flightgear-devel] Enable headtracking in FlightGear? (April 2010)
- [Flightgear-devel] Depth percepted cockpit (January–February 2008)
- [Flightgear-devel] Extending generic protocol for binary input streams. (September 2007–March 2009)
- [Flightgear-devel] Formation Flying (May 2006)
Source code
- flightgear/fgdata/next/Nasal/view.nas – Nasal module that handles the view panning and translation, and related properties.
- flightgear/fgaddon/trunk/Addons/Headtracker/ - Addon that makes using FaceTrackNoIR and opentrack easier.