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.
- Input device
- Interfacing FlightGear
- Howto:Wii Remote Head Tracking
- Addon#List_of_Addons - LinuxTrack addon for head tracking
- (August 2020)
- (January 2020-January 2021)
- (May 2016)
- (February 2016)
- (February 2017-August 2020)
- (January 2011–January 2017)
- (May–June 2013)
- (April 2012)
- (June 2011)
- (March 2011–March 2014)
- (March 2011)
- (June 2010–March 2011)
- (April 2009–July 2010)
- (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)