Skip to content

Gaze and Fixations

Gaze and Fixations are closely related. Gaze records the HMD position over time and the direction of the eyes at a set interval. Fixations use a dispersion technique to identify where the participant's eyes are steady and maintaining focus.

When using an HMD without Eye Tracking, Fixations will not be recorded and Gaze will assume the participant's focus is directly in front of the HMD.

Setup

We use 3rd party eye tracking plugins to record Fixations and Gaze using Eye Tracking. Import any required Unity Packages into your project. For example, if you are using the Vive Pro Eye, you will need to import the SRanipal SDK. Then, open the Scene Setup Window from the Cognitive3D menu and select the appropriate SDK. Press Next until the project re-compiles. Then you can close this window.

Fixation Recorder Component

When using an SDK with supported Eye Tracking the Fixation Recorder component will be added to the Cognitive3D_Manager Game Object on Start if it is not already present. If you wish to configure recording Fixations you can add this component and modify these values in the Editor. A high level summary is available on the Fixations page.

The default values are taken from several academic papers and should be suitable for most projects.

Note: all times are in milliseconds

  • MaxBlinkMS - The maximum amount of time that can be assigned as a single 'blink'. If eyes are closed for longer than this we assume that the user is consciously closing their eyes
  • PreBlinkDiscardMS - When a blink occurs ignore gaze preceding the blink up to this far back in time
  • BlinkEndWarmupMS - After a blink has ended ignore gaze up to this long afterwards as the participant re-focuses

Fixation

  • MinFixationMS - The time that gaze must be within the MaxFixationAngle before a Fixation begins
  • MaxConsecutiveDiscardMS - The amount of time gaze can be discarded before a fixation is ended. Gaze can be discarded if the eye tracker returns unexpected values
  • MaxFixationAngle - The angle that a number of gaze samples must fall within for a Fixation to begin
  • MaxConsecutiveOffDynamicMS - Amount of time gaze can be off the transform before fixation ends. Mostly useful when Fixation is right on the edge of a Dynamic Object
  • DynamicFixationSizeMultiplier - Increases the MaxFixationAngle on Dynamic Objects. Helps reduce incorrect Fixation ending, especially on Smooth Pursuit Fixations
  • FocusSizeFromCenter - This curve increases the size of the MaxFixationAngle as gaze gets toward the edge of the viewport. This is used to reduce the number of incorrectly ended fixations because of hardware limits at the edge of the eye tracking field of view

Saccade

  • SaccadeFixationEndMS - Amount of consecutive eye samples before a Fixation ends as the eye fixates elsewhere. This is the most common way of fixations ending

intercom If you have a question or any feedback about our documentation please use the Intercom button (purple circle) in the lower right corner of any web page.