The Phoenix Head Tracker is a program that interfaces with Xreal Air glasses to capture and analyze sensor data using custom version of AirAPI_Windows.dll to support roll data. By detecting changes in the user's head yaw and pitch and roll, this program can send this data to opentrack over UDP or you can even control the movement of the computer mouse on screen which can be used to play video games that use mouse look feature. You can also use this feature with Nreal Air 3D SBS mode
Buy Me a Coffee Hey, I created PhoenixHeadTracker for Xreal Air and would really appreciate your support. I work on this software on my own time for you guys. Thank You!
PhoenixHeadTracker.mp4
I worked all day and night on this thing and it was worth it for you all. You will love your Xreal Air glasses with this new tool. It even works with 3D SBS mode. Play your games, Skyrim, DCS, Microsoft Flight Simulator, Cyberpunk 2077.
microsoft_flight_simulator_opoentrack.mp4
To connect your Xreal Air glasses to your PC, there are two options available. Firstly, you can use the USB-Type C connector. Alternatively, a goFanco adapter can also be used, which can be obtained from the following Amazon link: goFanco adapter
It is important to ensure that your glasses have a direct connection to the PC. Once connected, launch the PhoenixHeadTracker software and click on the 'Connect Xreal Air' option. Please allow a few seconds for the sensors to adjust.
You now have two options for utilizing the head tracking data. Firstly, you can use opentrack, or alternatively, you can click on 'Start Mouse Track'. This will allow you to control the mouse on your screen, enabling you to look around in video games. Here is an example of playing Cyberpunk 2077 with mouse look feature and using a controller at same time. On PC you can play games using a controller, mouse, keyboard. PhoenixHeadTracker and Xreal Air are the perfect match.
cyberpunk2077.mp4
Should you choose to use opentrack, you can do so by clicking on the 'start opentrack UDP' option. Within opentrack, you will need to select UDP over network in order to receive the data.
Opentrack settings for UDP
You can also adjust how to use the Yaw and Pitch values. So if you want the in game camera to turn 90 degrees like in real life you can adjust it in mappings.
Here you can see I wanted the in game camera to turn faster on Yaw so I don't have to turn 90 degrees is real life. It makes it eaiser on the neck when playing games. So now when I turn my head it will turn faster to left and right using the data from PhoenixHeadTracker.
I did the same think for Pitch so it just feels right.
Due to how gyro data works and drifts, it is a good idea to have a center camera key setup. Just click on bind and pick a key. In this example you can see I picked the '-' key on my numpad.
When you are looking around in a game the Yaw, Pitch and Roll values can drift overtime. You can fight this type of drift more by adding a negative or positive value. You want to try to keep the ‘Track’ value to where; when you can turn your head and bring it back, and it shows you the same view more or less or close enough. Don't drive yourself crazy over this cause you can always center the view in opentrack with the shortcut key I told you about above. Remember we are dealing with math and the physical world and earth's gravity. Below example shows I added a value of -3 to help fight drift on my Xreal Air glasses Yaw value when playing Elite Dangerous.
microsoft_flight_simulator.mp4
Phoenixheadtracker https://github.com/iVideoGameBoss/PhoenixHeadTracker/releases
Opentrack https://github.com/opentrack/opentrack/releases
PhoenixHeadTracker is based on the AirAPI_Windows.dll :https://github.com/MSmithDev/AirAPI_Windows: You will find the custom version of AirAPI_Windows.dll that supports roll data and also hidapi.dll in the PhoenixHeadTracker/bin/x64/Release/ and or debug folder. These two files are required in order to connect to Xreal Air glasses. The version of AirAPI_Windows.dll included with PhoenixHeadTracker supports roll data.
Once you clone the project, open in Visual Studio 22 by clicking on PhoenixHeadTracker.sln. Make sure you set to build on x64 and debug or release. Then simply click on start.
Make sure that both AirAPI_Windows.dll and hidapi.dll are in the debug and release folder. I have included them with project.
PhoenixHeadTracker can be made to work with other devices that can supply gyro data using a dll. You can also add code if you want to work with 6dof data. Its already setup to work with 3dof data in degrees. Create your own dll and import it like I did here with AirAPI_Windows.dll. Add two functions to get started.
The GetEuler function returns an array for Yaw, Pitch and Roll.