A review of several “free” head-tracking alternatives to use with Flight Simulator

My favorite way to play Flight Simulator(s) is by doing sightseeing, VFR trips. I’m not an airliner person. So Flight Simulator 2020 is perfect because there’s loads of detail and everything looks great!
I’m loving the bush trips, and hope more will come soon!

The downside of it, especially when using tail draggers, is that its really heard to do a flight purely by VFR when you’re limited to a relatively small screen. It gets boring really fast if you constantly need to use the mouse to look around.

Enter head-tracking. I finally thought it would be a good time to try it. Of course everyone knows TrackIR, which uses a special camera and gear to detect head movements with great precision regardless of lighting conditions.
But I was not prepared to spend 200$+ on one, especially considering I never tried it before.

So I spent the last week just trying out different alternatives and decided to write a short blog post to summarize my findings, in case they are useful for people who might want to try this as well.

I installed and used:

  • ViewTracker
  • FaceTrackNoIR
  • OpenTrack
  • AITrack
  • FacePoseApp

Most of these options allow you to use different input sources. So let’s see one by one

ViewTracker

ViewTracker was the first one and although it’s not free, its quite affordable (12$ or so), but luckily there is a free 7-day trial to make sure it works for you.

The headtracking is probably one of the best of whole lot. But it had one big disadvantage: very high CPU usage (around 17%), which is not a good idea along side FS2020.

FaceTrackNoIR

FaceTrackNoIR seems to be one of the most famous free alternatives. It gives you plenty of flexibility in configuring different sources and outputs (you can even combine 2 sources at the same time).

The facetracking was pretty good for a free product and CPU usage about half of ViewTracker. But it had a few cons. I noticed that the facetracking algorithm didn’t play well in darker lighting or too bright, which is a problem in the place where I’m sitting. The other issue is that it tends to crash a lot.

This is where I decided to try FacePoseApp.

FacePoseApp is installed in your smartphone and uses the smartphone camera to track the face, so your CPU is spared of the work. It then communicates via UDP to FaceTrackNoIR which translates the data to 3d movement. Unfortunately, the facetracking was not as good for me, or maybe it was the light again….

AITrack

AITrack is a tool exclusively to track your face and send data via UDP to another program. So I connected it with OpenTrack. The facetracking algorithm was very good (I think viewtracker-good), but it tended to be more jumpy if I looked sideways too much. Unfortunately, like viewtracker, it consumed a lot of CPU as well… and I still needed a 2nd program to do the rest of the work.

OpenTrack

OpenTrack is the only one of this list which doesn’t include facetracking option. It has plenty of input sources which include Oculus, Valve VR, IR Cameras, Point trackers and… Aruco Paper Tracker!

I had never heard about Aruco before so I had to give it a try. You basically print a special marker to a paper, glue it to a cardboard or something hard, and stick it on top of your head. The aruco tracker looks for that layout (like a simplified QR Code) and tracks the distortion in 3D space. I was amazed at how well it worked and, best of all, very low CPU usage, which is great for gaming.

The only disadvantage is having to “wear” the paper tracker, but after 5min I forget that its there. The level of immersion is greatly enhanced compared to when you are playing without any sort of tracking. I can actually lift slightly up from my chair and look left and down to see stuff.

I even made a short video to demonstrate this

Important things to know

Tune the webcam settings. For some reason my default settings when I open OpenTrack have a “compensate low light” option enabled, which messes up the light and the tracking. I always turn it off and bring the exposure down.

Make sure you adjust the Curves Mapping! It will basically give you the ability to fine tune how your movements and rotations translate to the in-game movements and rotation. The best way to do this is to start the game, be inside the cockpit and then start tweaking the curves. You can immediately see the effect and adjust as you need.
I turned my head left to the maximum I felt comfortable while still looking at the screen, and dragged the curve so that it would correspond to the maximum left turn in the game. Do that for up-down and then for the movements as well. (left-right, up-down and in-out)

As you can see below, my pitch curve is not linear because I don’t like to turn my head up or down too much. The first part is softer but if I’m really interested in looking up or down, then it will rotate faster in the game.

Finally, and very important, map shortcut buttons to your joystick buttons. Many people complain that they suffer from “stiff” neck after playing with head tracking. That happens because you are trying to be very still in order for the camera not to shake so much. This is solved by:

  1. tweaking the curves! – the first part of the movement can be very soft and then intensified as it grows
  2. having a quick way to “reset” the view back to the normal cockpit view. It’s inevitable that we move slightly in our chairs or adjust our position. I can quickly “center” the view, which will tell OpenTrack that this position is now position zero(center). That way I can freely move and when I’m comfortable it’s just a button-press away.

It’s also good to map a shortcut to toggle the tracking on/off. This is good when you are using the mouse to press buttons or knobs in the cockpit. Your head will move too much and its frustrating to keep missing the target. So when I move my head in to see instruments, I quickly press the toggle button to stop tracking. Adjust knobs or whatever and when you are finished, press the toggle button again to resume tracking. Works like a charm.

My VFR has never been the same πŸ™‚

 

How to play MS Flight Simulator 2020 on low-end laptops

I used to think my laptop was fairly okay-ish. That was until I started reading the rigs that people have to play FS2020. I’m not into gaming so that explains my total lack of awareness of what is a decent gaming laptop these days πŸ™‚

Anyway, as a fan of flying since the great Flight Unlimited and the old versions of MS FS, I couldn’t skip FS2020. Been playing Xplane for a year or so, but I dislike airliners. My thin is VFR and sightseeing, so MSFS is a clear must due to the amazing world available!

I was greatly disappointed when MS released the official game requirements and saw that my graphics card(GTX 1050m) was not up to the task. I’m really thankful for the fact that we can get this game via XBox Game Pass, which means you don’t have to risk spending 60$ and then not be able to play it.

This is my short summary on how I set up the game to be able to play in an enjoyable manner. Please note that YMMV. Each system is different and there are many factors that impact performance besides cpu, gpu and memory.

For reference, my laptop is a MSI GL62M, with an i7 7700HQ, GTX 1050m and 16gb ram. I installed in the game in the SSD for improving performance as well.

I’ll skip the basics

Needless to say but

  • update windows
  • update to the latest graphics drivers
  • close all programs when you play FS (including the background ones) – you want all the CPU cycles and memory that you can get!
  • can you overclock safely? If yes, consider doing it. Even a tiny bit can help.
  • if you are on a laptop like me, make sure your cooling is up to task. My CPU sits at 95-96ΒΊC pretty much the whole game, and this is with the MSI cooler booster turned on

Take all recommendations with a grain of salt

I’ve read quite a few articles and forum posts on how to optimize the settings to achieve maximum fps. Most important: try it for yourself! I’ve seen guys stating things like “turn off this setting and you’ll gain 10fps!!”. No, just no.

How to prepare to optimize the game

First, turn on the developer mode. From the developer menu bar, switch on the FPS counter.

We are not using this just to show fps (plenty of tools can do that), but to understand where is the bottleneck in your system. Below the big fps counter you’ll see “Limited by GPU” or “Limited by MainThread”. This means the bottleneck is your GPU or your CPU, respectively.

This is one of the most important things to do and be aware of. No point in optimizing a bunch of settings that have no impact in the bottleneck you are experiencing.

As far as my research can tell, and it seems to be in line with what others experienced, these are the settings that impact the MainThread (CPU)

  • Terrain level of detail
  • Objects level of detail
  • Online settings
  • Real-time/AI Traffic
  • Traffic density

Everything else will relate to the work of the GPU.

I try to get the frame times of the MainThread to be the same as the GPU. If your CPU is your bottleneck, tune the graphics up so you can enjoy the game. Otherwise, work on the graphics but push the above settings up to have a better experience.

Every flight is a new experience

Most people will set up their game to what they find acceptable and then run with it. If you are on a low-end machine like me, forget that. Every single flight I do, I spend the first 5min optimizing my settings. Why?

Because when you are away from dense cities, you can push the graphics up without severely impacting performance. And when I’m flying close to cities, I do the opposite. I mostly fly for bush trips and natural areas so I tend to have my graphic settings mostly in medium and still play at 25-30fps. I have even played a few times with water and clouds on high without any issues. Just remember to adapt the settings to the places where you are.

Optimizing the graphic settings

From my experience (and again, YMMV), these were the settings that had a greater impact on performance.

  • Render scaling (usually I have it 80, you can reduce more to increase fps)
  • Texture quality (medium, because I dont like it low, but it causes a considerable hit in performance)
  • Buildings (usually medium, but if close to cities, low)
  • Anisotropic filtering (4x, because off makes runways look bad)
  • Texture supersampling (off)
  • Shadow maps (1024 – 1536)
  • Terrain shadows (256 – 512)

Everything else is pretty much on medium. Depth of Field, Lens correction and flare are Off just because I dont like it.

Trees are medium because I think they really make a difference to the scenery. Grass medium as well.

I’m playing at 1080p which is my native resolution and with vsync off (vsync on gives me worst framerates).

How to test

Whenever you make any changes, whether is graphics or data/traffic, after pressing apply and going back to the game, don’t start right away. You’ll see that frametimes will spike. I always wait 10seconds or so. This is the time it takes to apply those settings and load things again. After 10 seconds you’ll notice things will stabilize and fps counter will go up. This is the time you can start playing.

Overclocking and conclusion

All in all, it will depend on the sacrifices you are willing to make. I’m fine playing this game at 20-25fps with an occasional drop in some areas. If you really aim for 30, you might need to tune things down a bit.

I used the MSI Afterburner app to add an extra +200Mhz to the gpu clock, which gives me 2-4 extra fps. Not much but at this level, all frames count πŸ™‚

Recommend reading: https://respawnfirst.com/microsoft-flight-simulator-pc-tweaks/