Home Forums Unity SDK gaze displacement between two point

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #18256
    M
    Participant

    Hello,
    I am using HTC Vive PRO Eye with Tobii integrated eye trackers. I would like to measure the displacement of eye movements between two eye samples.

    I was using GazeDirection vector (in the SRanipal SDK) for that. However, since these values are normalized between [-1,1], the values and the plot I have is wrong.

    Can you please guide me about how these values have been normalized?
    and other ways I can calculate the value of the displacement between two consecutive eye samples.

    Looking at https://vr.tobii.com/sdk/develop/unity/documentation/api-reference/ , shows that TobiiXR_GazeRay ‘s Direction is also normalized.

    #18280
    Grant [Tobii]
    Keymaster

    Hi @aryam, thanks for your query. The GazeDirection is a direction vector telling us where the user is looking, which you can get both in World and Local space. For example, the value of (x=0, y=0, z=1) in local space tells us the user is looking straight ahead.

    If you wish to compare the difference between two samples, we suggest you to calculate the delta between two frames, for example:
    var deltaAngle = Vector3.Angle(previousGazeDirection, currentGazeDirection);

    Hopefully this makes sense to you, please let us know how you get on. Best Wishes.

    #18282
    M
    Participant

    Thank you @Grant.
    So by looking at this image on the link below:
    https://ibb.co/K0t1bSy

    Can you please guide me about how I can calculate the value R (the length of green line). I know by physics law that d = R*(alpha), and that alpha = arccos(v1.v2).
    But not sure how to calculate the value of R, which is the distance of gaze origin to a 3D point in the scene.

    I would like to see my changes in position of the eye in a plot similar to this one:
    https://www.researchgate.net/publication/235788020/figure/fig5/AS:667218010456066@1536088578181/Example-of-eye-movement-data-Vertical-eye-position-upper-panel-and-eye-velocity-lower.ppm

    #18285
    Grant [Tobii]
    Keymaster

    Hi @maryam, Assuming that you have stimuli points that the user is looking at, then you can calculate the distance between that and the gaze origin, which would get you the R value.

    float dist = Vector3.Distance(gazeOrigin, stimuliPosition)

    We also supply a ConvergenceDistance value in our API, but the accuracy of this signal might not be optimal for the type of study.

    Hopefully this clear things up, let us know how you get on.

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.