The Basics
Tracking generally comes in two flavors measured in “degrees of freedom” or “dof” (usually pronounced “dove” or “duff”). A degree of freedom is simply an axis along, or around which movement is measured. The two flavors are 3dof and 6dof.
Entry level VR systems like Google Cardboard track rotation around three axes: yaw, pitch and roll.
This is considered a 3 degrees of freedom system, or 3dof.
More sophisticated systems like the HTC Vive, Oculus Rift, and Sony’s PSVR track 6 degrees of freedom (6dof): yaw, pitch, roll and movement along the x, y and z axes.
You might guess that six is better than three. And you’d be right! With a 3 dof, the system can tell if you turn, but it cannot tell if you move forwards, backwards, up, down, left or right. Needless to say, if you do move while wearing a 3dof system, your brain quickly gets concerned and you will most likely start feeling nauseous.
With 6dof, the system tracks changes in your rotation and position. Today’s higher end VR systems are usually very accurate. For example, the HTC Vive will track your position to within a few millimeters, updating 90 times every second.
The Less Basics
Now you understand the basics of 3dof and 6dof, it’s time to dig down to the next level: Outside-in versus Inside-out.
Outside-in means that some component of the tracking system is placed outside of the HMD (head mounted display aka the headset). An outside-in system has two components: emitters and sensors. Emitters emit some kind of signal. Quite often the signal is some kind of infra-red light which is invisible to human eyes. Sensors detect whatever signal is being emitted. Then a computer does a bunch of match to figure out where the emitters are relative to the sensors.
There are two different flavors to outside-in. The HTC Vive keeps all of the sensors in the HMD and the emitters, called “basestations”, are mounted in opposite corners of the room. The Oculus takes the opposite approach: the emitters are in the HMD and the sensors are mounted in the room. There are pros and cons to both approaches.
Outside-in tracking is a fairly well solved problem that gives good results. The primary challenge is that the end user has to set up more components before their VR system will work.
Inside-out tracking means that all of the components of the tracking system are inside the HMD. The Microsoft Hololens is a good example. It has a combination of relatively normal cameras and depth-sensing cameras (similar to the Kinect) that allow the HMD to figure out where it is relative to the environment the user is standing in.
As you might guess, it is much simpler to create an outside-in tracking system. The various components of the tracking system are all designed to work together. The sensors know what the emitters will be doing and can be optimized for it. With an inside-out system, you have no idea what kind of environment the user will be standing in or what your sensors will be able to detect. That makes inside-out a much harder problem to solve.
Inside-out tracking is getting better, but the best results still require custom hardware e.g. depth sensing cameras. The primary challenge is delivering a good tracking experience without needing either specialized hardware, or a lot of computer power. Inside-out is much easier for the end-user: they just fire up the HMD and off they go.