Head tracking

From FlightGear wiki
Jump to navigation Jump to search

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

Forum topics

Developer mailing list threads

Source code