A virtual reality experiment to investigate the influence of tool knowledge on anticipatory eye fixations featuring eye tracking, LeapMotion hand tracking and SteamVR controller support.
SteamVR controllers | LeapMotion hand tracking |
---|---|
In order to run the experiment either from the build or from source the LeapMotion SDK as well as the ViveSR runtime need to be installed. They enable communication between the eyetracker/ LeapMotion hardware and the experiment. The code and build are tested with LeapMotion SDK version 4.0.0 and ViveSR runtime version 1.1.2.0. Additionally, SteamVR needs to be installed.
A build of the experiment is available in the Build
folder. In addition to the LeapMotion SDK and the ViveSR runtime, proper configuration files need to be present inside the Configuration
folder in order to run the experiment. Default configuration files are provided.
The source Unity project can be found in the Source
folder. For maximum compatibility, the same software revisions should be used, that were also used during development.
- The project is realized with Unity version 2019.2.14f1
- Additional APIs
- Present in this repository
- LeapMotion Unity modules, version 4.4.0
- SteamVR plugin, version 2.5
- Need to be installed manually (the target locations are marked in the
Assets
folder)- TextMesh Pro, version 2.0.1 (can be installed from the Unity Package Manager)
- ViveSR plugin from the Vive Eye Tracking SDK (SRanipal), version 1.1.0.1
- Present in this repository
Inside the Configuration
folder, there are multiple files that control the experiment setup. Default files are provided.
- ExperimentUtcons.csv holds the trial progression during the experiment. 'Utcon' is an acronym for 'unique tool cue orientation number' and thus precisely describes a trial's configuration. Custom trial progressions can be generated from within the experiment, specifying a seed and the number of trial blocks. The default ExperimentUtcons.csv is generated from seed 4 with 3 blocks.
- PracticeUtcons.csv holds the trial progression during the practice section at the beginning of the experiment.
- OrientationCueNamesIds.csv holds a mapping from the positions of the tools' handles and the presented cues to unique numbers that are used in Utcons.
- ToolNamesIds.csv holds a mapping from the tools' names to unique number that are also used in Utcons.
- ToolLeapConfig.ini is the main configuration file of the experiment and holds diverse settings.
In order to start a measurement, first, the room and the table the participant will sit at need to be calibrated in virtual space. The calibration can be started via the Calibrate Floor & Table
option in the main menu of the experiment. The calibration files will be stored in the Calibration
folder that is located in the root of the experiment's file hierarchy and can be reloaded at a later time. Second, the participant's information needs to be provided using the Set Subject Data
option in the main menu.
The measurement can then be started using Start Experiment
from the main menu.
Some of the used 3D models were obtained from online ressources. They are all licenced under a creative commons attribution 4.0.
- Adjustable Spannerwrench by CGWorker
- Emergency Stop Button by Miljan Bojovic
- Gardening Trowel by Matthew Meyers
- Hammer by FlukierJupiter
- Old Work Bench by Oliver Triplett
- Screw Driver by KleenStudio
- Tableware by Anthony Yanez
- The texture Planks Brown 10 by Rob Tuytel is licensed under the CC0 license.
Distribution of the plugins in object code form is permitted via the SDK license agreement. Running the build or the code as provided here will collect facial feature data of the user for the purpose of eye tracking and the eye tracking data will be stored on the user's local machine.
Use of Leap Motion's UnityModules is subject to the Apache V2 License Agreement. The SteamVR Unity plugin is licensed under the BSD 3-Clause "New" or "Revised" License.