Visual Acuity, Post 2

Progress

This week starting Wednesday I worked toward getting the free head motion Landolt C test running in a virtual environment. For now I’m using the HTC vive, only because it’s what I’m most familiar with (also for convenience). Everything looks good so far, and it behaves as expected.

Before I spend time polishing that up, I wanted to spend time working on the other mode of the test, which is with the C in a fixed viewing position relative to the headset. Instead of trying to mess with the HMD viewing pipeline, I figured out it was easier to just make the plane object the C is displayed on a child of the HMD object in unity. With the background color of the unity scene being the same as the background of the C plane, it essentially accomplishes the same thing as subverting the viewing pipeline to paste an image directly onto it.

As it stands now, the test is additionally capable of the following

  • Presents two viewing modes of the Landolt C test (fixed, non-fixed)
  • (See previous posts for functionality added)

Struggles

I spent far too long trying to do goofy things to get the C plane to be fixed to the screen. Failed efforts include, but are not limited to: trying to use a HUD prefab, breaking the unity viewing pipeline, trying to directly use the HMD display as a monitor.

I also spent the obligatory hour fighting unity versions. The first time I tried to move to a system supporting an HMD I chose to ignore the warning that unity does not support loading projects from newer versions of unity.

I’m also trying to correct the way the C displays. As discussed in the last post, the C itself actually starts to render onto odd numbers of pixels as it gets quite small; changing the nature of the test entirely, I didn’t see the same problem persist into a virtual environment. Admittedly, my own vision just may not be good enough to see when that starts happening.

Next week

  • Get test controls working from the Vive controller
  • Get back to researching proving accuracy of this test
  • Figure out what distances to administer the C test