microsoft / MixedRealityToolkit-Unity

This repository is for the legacy Mixed Reality Toolkit (MRTK) v2. For the latest version of the MRTK please visit https://github.com/MixedRealityToolkit/MixedRealityToolkit-Unity
https://aka.ms/mrtkdocs
MIT License
6k stars 2.12k forks source link

Eye tracking enables only after "Select" voice command #8262

Closed rfurmaniak closed 4 years ago

rfurmaniak commented 4 years ago

Describe the bug

When using example scene with ScrollableObjectCollections, EyeTracking is not visible at first. Only after using "Select" voice command, eye tracking cursor appears and is usable. After the hand comes into HoloLens's field of view, it disappears again and cannot be used, until next "Select" VC.

Additionally, after choosing anything on the scrollable list with "Select" voice command, scroll functionality is pernamently disabled.

To reproduce

Steps to reproduce the behavior:

  1. Open ScrollingObjectCollection scene on HL2
  2. Try to use eye tracking (make sure it's calibrated)
  3. Eye tracking does not work
  4. Say "Select" voice command
  5. Eye tracking is enabled and works
  6. Put your hand up so that it is detected by HL2
  7. Eye tracking is disabled again

Expected behavior

Eye tracking should be enabled at all times or should be enabled again when hands go out of HL2 detection zone. User should not be forced to use "Select" voice command to use Eye Tracking.

Screenshots

Eye tracking setup in editor:

MicrosoftTeams-image (4)

Your setup

Target platform

Additional context

In our application, that is utilizing the ScrollingObjectCollection, this bug appeared only after upgrading to 2.4.0. On earlier versions eye tracking was working perfectly.

rfurmaniak commented 4 years ago

After using the line from linked documentation PointerUtils.SetGazePointerBehavior(PointerBehavior.AlwaysOn); Eye tracking is, in fact, enabled from the start and does not disappear when using hands. However, after using "Select" voice command, eye tracking falls back to previous behavior, ie. only visible after saying "Select" and disappears when hands are visible. After disappearing, VC must be used again for eye tracking to work