Support for eye tracking with the vive

SDK supports Prepar3D’s philosophy of an open development architecture and encourages third parties to bring new innovations with improved add-ons and training content.
Post Reply
obrian.cox
Posts: 5
Joined: Wed Aug 07, 2019 1:39 pm

Support for eye tracking with the vive

Post by obrian.cox »

So I've got an interesting dilemma.

I'm trying to activate eye tracking with the Vive Pro Eye. It is stated in the learning center that eye tracking with the Vive is supported by Prepar3d, specifically on the "Virtual Reality" page:
EnableViveProEyeTracking sets whether Prepar3D will load the SRanipal Vive Pro Eye Tracking libraries (v0.5). This is disabled by default. Enable Eye Tracking in the VR Settings must also be enabled.


As you might have guessed by the existence of this post, it ends up not working out this way. I'll provide a quick step-by-step for how I've gotten to where I am currently.
  • Installed the up to date versions of P3D and the PDK.
  • Installed the up to date versions of SteamVR, and the Vive Pro Eye software provided by HTC.
    • Note: Eye tracking was setup successfully and other projects/demos have worked without issues.
  • Following the steps from the learning center quoted above causes P3D to CTD without any errors, even with error reporting toggled on
    • The CTD event has been isolated to the point where, in the Virtual Reality settings menu within a running P3D simulation, the "Enable Eye Tracking" on/off switch is flipped on and the settings accepted
    • Windows Event Viewer points to SRanipal.dll (Vive's eye tracking library) as the culprit
    Faulting application name: Prepar3D.exe, version: 4.5.12.30293, time stamp: 0x5cd47aad
    Faulting module name: SRanipal.dll, version: 0.7.0.0, time stamp: 0x5c7e5077
    Exception code: 0xc0000409
    Fault offset: 0x000000000000442c
    Faulting process id: 0x12cc
    Faulting application start time: 0x01d5470714e44c97
    Faulting application path: C:\Program Files\Lockheed Martin\Prepar3D v4\Prepar3D.exe
    Faulting module path: C:\Program Files\Lockheed Martin\Prepar3D v4\SRanipal.dll
    Report Id: 184440f4-fc43-4044-b659-5ef0c9b4c7f3
    Faulting package full name:
    Faulting package-relative application ID:
  • Replacing the version 0.7.0.0 dll within the P3D folder with the updated version provided by HTC (version 1.0.3.0 in this case) fixes the CTD event, but appears to break the link between the Vive entry in the .cfg file and P3D, rendering the "fix" ineffective
So to sum up, P3D no longer CTD's when EnableViveProEyeTracking is set to = 1, but the "fix" breaks any code that connects Vive eye data to P3D.

Now, I realize that this simply means P3D just doesn't support eye tracking on the Vive any longer. Or that, in the very best case scenario, LM is mid-development for support of this feature. However, I'm getting the feeling that this capability has been dropped. And that it's looking like I'll have to build an add-on to brute force my way into eye tracking support by converting the Vive's data stream into a more generic format that can be slotted into the PDK's default eye tracking services.

I'm hoping for any indication that I won't have to do that, and that Lockheed Martin (or any of the fine folks in this forum) will have a solution for me. Or, at the very least help me avoid wrestling with the unruly beasts of SRanipal and the PDK simultaneously.
Post Reply