0 votes
by (160 points)
recategorized by

It seems that PXR_EyeTracking doesn't seem to respond the correct data using the Unity XR Platform SDK. When calling any of the eye functions, they return True but the referenced passed out seems to anyways to return zero. Even with simple functions like GetLeftEyeGazeOpenness, it returns zero whether my eyes are opened or closed. I presume this is because this is reference is set in the beginning of the function but hits none of the return False cases.

I'm not sure if this SDK is limited for the Pico Neo 2 Eye to but to eliminate any confusion, the steps I have taken to prepare the SDK is:

  • Attached PXR_Manger to the same game object as XR Rig with eye-tracking enabled
  • Tried updating to the latest versions of v_1.2.3

The code I have used can be seen below:

code used

With the returning the values of
returned values

This method was chosen over the PicoVR Unity SDK to be able to interface with the Tobii XR SDK

1 Answer

+1 vote
by (55.5k points)
selected by
Best answer

Regarding your question, we can provide you with a project, you can refer to it here:
enter link description here

The Unity version of this project is 2019.4.10, Unity XR Platform SDK version is v_1.2.3;

You may not see obvious changes in the GetCombineEyeGazePoint function, and the other three functions will have obvious changes as your eye state changes.

by (160 points)

I'm running unity 2019.4.17f1 for the project and it seems to produce the issues that I have discussed. The eye-tracking does come on in both applications, as I see the red IR lights and it works if I switch to other applications too. It doesn't doesn't change these values, even going cross-eyed.

I'll have to try your specific version of 2019.4.10 to see if it fixes the issue.
In the built app

by (160 points)

After testing 2019.4.10, I can confirm that the project given doesn't appear to work as intended. I'm experiencing the same issues as above. The only change I made was replacing the directory of the Unity XR Platform SDK in both the manifest.json and packages-lock.json files as they had used a local version of the SDK.

by (55.5k points)

You can try the apk in the project to see if it works enter image description here

by (160 points)
edited by

After running the app it didn't initially work, so I figured it was an issue on my end. I was able to deduce that it was recline mode preventing from the eye-tracking from reporting data. I rebuilt and re-tested all previous versions and can confirm with recline off that it does work. Sorry about that, and thanks for the help! Is there anyway to interface with the API to account for recline mode?