Jump to content

VIVE Focus 3 Eye Tracking Module: Can't get proper eye tracking data using eyemanager.cs in unity


yaddat

Recommended Posts

I am developing a game in Unity and I am trying to transform a gameobject based on the EyeTracking data.
I am using a VIVE Focus 3 with the Eye Tracking Module and entering Unity Play Mode via VIVE Business Streaming and SteamVR. I am using the VIVE Wave XR Plugin. My problem is that I apparently don't get proper Eye Tracking data.

First of, my c# code looks like this:

 

if (leftEye != null) 
        {
            //get the position of the RaycastOrigin GameObject to determine where the Ray starts
            Vector3 raycastOrigin = RayCastOrigin.position;
            Vector3 gazeDirection;
            Debug.Log("Is EyeTrackingAvailable"+ eyeManager.IsEyeTrackingAvailable());
            //eyeManager GO gives gaze dir of left eye and stores it as Vector3 Format in gazeDirection var
            if (eyeManager.GetLeftEyeDirectionNormalized(out gazeDirection))
            {
                Debug.Log("Left Eye Direction: " + gazeDirection.ToString())
            ...;


Although Eye Tracking Status is AVAILABLE and I actually get Eye Tracking data, looking at my console reveals I only get 4 different values for the eyes direction.

Debug.Log("Left Eye Direction: " + gazeDirection.ToString()) prints:

Left Eye Direction: (-0.50, 0.00, -1.00) 
Left Eye Direction: (0.00, 0.00, 1.00)
Left Eye Direction: (0.50, 0.00, 1.00)
Left Eye Direction: (-0.50, 0.00, 1.00)

Weird thing is also that I get this data entering playmode even if my VR Headset is not turned on and the data i get looks rather simulated, which is odd as well.

Any guesses on what might be the problem?

I've also tried using Wave.OpenXR.InputDeviceEye.GetLeftEyeDirection (the general XR solution) without any success.

I cannot see anything off in the project setting as well. 

Link to comment
Share on other sites

Hi @yaddat,

For using VIVE Wave XR Plugin, Vive Business Streaming is not supported in Unity Play mode.

Case #1, the eye tracking data you saw in Play Mode is a fake data generated by WVR_EditorImpl.cs.

We use the fake data to verify if the data flow is ready.

If your target platform is Android, you need to build APK and see the "real" data on the Focus 3 headset.

Case #2, there is no fake data in InputDeviceEye.

  • Thanks 1
Link to comment
Share on other sites

Hi @VIVE_chengnay,
Thank you for your answer! That really helps me out. Is this information written anywhere official so I can use it as reference for my paper?

I will build the project as a apk, load it on the Focus 3 and check if it works then.
But as i want to build a demonstrator: is there a possible way to record the scene or the console log so I can show that it actually works?
I am quite new to VR developing, hence my question.

I am not quite sure what you mean by

7 hours ago, VIVE_chengnay said:

Case #2, there is no fake data in InputDeviceEye.

Does that mean I can use InputDeviceEye and it should at least give me proper data in Unity Play Mode?

And my next questions is: Instead of Wave does the VIVE OpenXR Plugin support Unity Play mode (+ VBS)?

Link to comment
Share on other sites

Hi @yaddat,

1 hour ago, yaddat said:

Is this information written anywhere official so I can use it as reference for my paper?

I will check and give you later if it is written somewhere.

1 hour ago, yaddat said:

But as i want to build a demonstrator: is there a possible way to record the scene or the console log so I can show that it actually works?

I am not sure what do you mean by demonstrator.

For console log, you can do "adb logcat > filename", for recording scene, there is video capture in VIVE MENU when you press RIGHT system button.

1 hour ago, yaddat said:

Does that mean I can use InputDeviceEye and it should at least give me proper data in Unity Play Mode?

I mean that you will get no data at all compare to eyemanager.

You can use VIVE OpenXR Plugin + SteamVR which support Unity Play mode (+VBS).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...