HMD Specific Information

Exit Poll

The gaze buttons used by Exit Poll use the Vive HMD's forward direction to activate, NOT the eye tracking position. This will change in future releases of our SDK.

Tobii Pro VR 2.13.3

Setup

The Tobii Pro SDK Unity Package includes an example scene TobiiPro/Examples/PrefabDemo/VRPrefabDemo. This scene includes prefabs from the SteamVR Plugin Unity Package available for free on the Unity Asset Store.

These SteamVR prefabs are recommended, but not required.

Fove 0.14

Setup

To capture the player's gaze correctly, you must set the Fove Interface game object with the Camera Component to be tagged as MainCamera.

fove main camera

Exit Poll

As the Fove does not have a microphone built in, the Exit Poll microphone popup will not detect audio input unless there is a separate microphone connected and enabled.

Pupil Labs 1.4 Vive Add-on

Setup

  1. Install the Vive Add-On
  2. Download the Pupil Software and run Pupil Services.exe
  3. Download and import the 0.5.1 Pupil Labs unity package
  4. Drag the pupil_plugin/Prefabs/Pupil Manager prefab into your scene
  5. On the Pupil Manager component on the Pupil Manager game object, remove all entries in Game Objects To Enable
  6. In the prefab, delete the EventSystem gameobject
  7. In the prefab, set the Camera depth to 100
  8. Open the Cognitive Scene Setup. Select Pupil Labs SDK

pupil labs sdk

The ServerIP on the PupilGazeTracker component should default as 127.0.0.1. This should be fine for testing

Play and press C to begin calibrating the Pupil Labs cameras. You may want to add a Gaze Reticle prefab from the CognitiveVR/Resources folder to display the user's current gaze position.

Leap Motion Controller 4.0.0

The implementation below for Leap Motion Controller does not record the full articulation of each finger, just the transform of each palm.

Leap Motion Interaction Module requires Unity 2017.2 or newer.

Setup

  1. Add a Leap Rig prefab into your scene
  2. Add a LoPoly Rigged Hand Left and Right parented to the Leap Rig/Hand Models gameobject
  3. On the Hand Models gameobject, in the Hand Model Manager component, replace the Left Model and Right Model fields with the LoPoly Rigged Hand gameobjects
  4. Delete the Capsule Hand gameobjects
  5. Add Dynamic Object components to the LoPoly Rigged Hand Left/L_Wrist/L_Palm. Make sure to select deselect Custom Mesh and choose Leap Motion Hand Left from the dropdown. Repeat this for the right hand.

Common Hand Events

Using the Detector components (such as FingerDirectionDetector, PalmDirectionDetector, etc) from the Leap Motion Interaction module, you can easily add Dynamic Object Engagements to a Hand Dynamic Object. Here is an example setup:

leapmotion point event

The script used in this example is:

using UnityEngine;
public class EngagementEvent : MonoBehaviour
{
    public CognitiveVR.DynamicObject TargetDynamic;
    public string EngagementName = "point";

    public void BeginEngagement()
    {
        if (TargetDynamic != null)
            TargetDynamic.BeginEngagement(EngagementName);
    }

    public void EndEngagement()
    {
        if (TargetDynamic != null)
            TargetDynamic.EndEngagement(EngagementName);
    }
}

Troubleshooting

Camera Focus

If the Pupil Labs cameras are not correctly focused, they may not correctly record eye position

Multiple SDKs

Since the Pupil Labs and Tobii Pro cameras are installed onto the HTC Vive, you can use the SteamVR SDK at the same time. When selecting your SDK, use Shift + Click to select multiple SDKs you wish to use.

multiple sdks

If you are only using either the Pupil Labs or Tobii Pro SDK, you do not need to select Unity Default as well.