Jump to content

Vive Pro Eye: Finding a single eye origin in world space


Recommended Posts

Howdy. I've just started playing with the SRanipal Unity SDK for the Vive Pro Eye and am trying to understand some of the data I'm getting back. 

 

When I look at the SingleEyeData for the left eye, there's a field for gaze_origin_mm. First off, the comments say that's in Meter Miles, which I don't think is a thing ;) Second, how would I go about converting that to a point in world space?

 

What is the origin which gaze_origin_mm is based around? The documentation for SingleEyeData makes it look like it's the center of the lens in front of that eye. If so, what is the relationship between the center of that lens and something like the main camera?

 

Thanks.

Link to comment
Share on other sites

  • 1 month later...

@eyetracker - This is also already included in the current SDK's .HTML. The .PDF is only part of the overall documentation, there is also HTML documentation included in each folder.

This is located at:

Unity: /SRanipal_SDK_1.0.1.0_Eye/Eye/02_Unity/Document/html/struct_vive_s_r_1_1anipal_1_1_eye_1_1_single_eye_data.html

Unreal: SRanipal_SDK_1.0.1.0_Eye/Eye/03_Unreal/Document/html/struct_vive_s_r_1_1anipal_1_1_eye_1_1_single_eye_data.html

Link to comment
Share on other sites

  • 3 weeks later...

Could you specify please, is the origin parameter of the SRanipal_Eye.GetGazeRay() equal to the Combined Gaze Origin on the picture? And does "local coordinates" in its description mean that its coordinates are with respect to the System Origin?

Link to comment
Share on other sites

30 minutes ago, Tatiana_K said:

Could you specify please, is the origin parameter of the SRanipal_Eye.GetGazeRay() equal to the Combined Gaze Origin on the picture? And does "local coordinates" in its description mean that its coordinates are with respect to the System Origin?

Ok, found an answer in the code, and it depends on the requested GazeIndex, so can be Combined Gaze Origin or the Gaze Origin of one of the eyes.

Edited by Tatiana_K
Link to comment
Share on other sites

  • 8 months later...
  • 2 weeks later...

Ok, I thought I would be able to edit my previous post, but I can't seem to find that option. I did some more testing using VIU's ViveCameraRig and here's what I found.

I am using the Combined ray and I use a LineRenderer to draw a line from the origin in the direction gazeDirectionLocal.
gazeOriginLocal is fairly constant at (0.001, 0.007, -0.05). When I add that to camera.transform.position, it looks like the origin of the line is behind my eyes. If I look up or down the ray moves a lot more than when it would come from between my eyes. So I discarded the z-component of gazeOriginLocal. Then the ray was more natural, but still its origin seemed to be slightly too high. So I also discarded the y-component and now it looks quite ok.

Since the x-component of gazeOriginLocal is very small I am inclined to say that camera.transform.position is in fact the position right between my eyes. That would mean that gazeOriginLocal has no added value, which sounds strange. Am I correct?

I am now struggling with the rotation, since the direction is local. I notice that when I keep my head straight the line follows my eyes pretty ok. But when I tilt my head up or down, the line goes crazy, it seems to point in the vertically opposite direction (so the line goes up when I tilt my head down and look straight). I expect that it is relative to the hedaset, in other words relative the camera.transform.forward. Is that correct?

It would really help if someone could give me some feedback or support on this. It is very hard to figure this out by myself, with the headset on. Whenever I try to look at what is happening I influence the gazedata of course.

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...