Home Forums Unity SDK gaze displacement between two point

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

    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.

    Grant [Tobii]

    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.


    Thank you @Grant.
    So by looking at this image on the link below:

    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:[email protected]/Example-of-eye-movement-data-Vertical-eye-position-upper-panel-and-eye-velocity-lower.ppm

    Grant [Tobii]

    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.