Layers - DFKI-Interactive-Machine-Learning/ARETT GitHub Wiki

ARETT makes use of multiple Unity layers to separate different functionalities of the toolkit. For each project these layers need to be configured once which can be done using the configuration script included in the eye tracking prefab.

Layer Types

The following layer types are used in ARETT:

Default collision layers

The default collision layers for gaze point identification are the default Unity collision layers (Physics.DefaultRaycastLayers) without the AOI, visualization and highlighting layers added by ARETT. The accuracy grid layer however is included so that the gaze point can be identified when the grid is displayed.

If spatial awareness is enabled for the project, the environment mapped by the device is transferred to a Spatial Awareness layer by the Mixed Reality Toolkit. As this layer is part of the default collision layers we natively include the map in our gaze point identification.

Eye Tracking (AOI) Layer

This layer contains all colliders which are checked when determining wether an AOI was hit and populates the gazePointAOI columns in the data log.

The content of the layer is not visible on the main camera so that content besides the colliders needed for AOI identification are not rendered. However, renderers on this layer are displayed on a mixed reality capture of the scene which offers another option to visualize AOIs in a demonstration besides the highlighting layer.

Default name: EyeTracking

Eye Tracking Visualization Layer

This layer is used to visualize the current eye tracking data and per default contains the sphere visualizing the current gaze point. It is hidden in the main camera but visible for a mixed reality capture.

Default name: EyeTrackingVis

Highlighting Layer

This layer can be shown/hidden from the control interface and is free to be used by the implementing project. One use case could be highlighting the current placement and size of AOIs, either during development or while conducting a study to verify correct placement.

Default name: EyeTrackingCheck

Accuracy Grid

This layer contains the accuracy grid which can be displayed at different distances using the control interface.

Whenever the accuracy grid is triggered to be displayed, the culling mask of the main camera is modified so that only the accuracy grid layer is visible. When the grid is hidden again, the old culling mask of the main camera is restored.

Default name: EyeTrackingAccuracy

Layer Names

The layer names are defined in the data provider and the accuracy grid. They can be changed to another name and in case of the layers in the data provider it is also possible to define multiple layers for each functionality.

Important: If the layer names are changed it is also necessary to update the corresponding elements in the prefab to the new layer. Most importantly the accuracy grid might need to be updated.