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
6.01k stars 2.12k forks source link

Eye tracking gaze hidding #8140

Closed nicolaslcalvi closed 4 years ago

nicolaslcalvi commented 4 years ago

Describe the bug

The eye tracking gaze cursor is hidden if I create a PokePointer in Input Setttings of MRTK. In the MRTK 2.3, I can show both, but un 2.4 is not possible. I follow the migration instrunction for eye tracking, and when I delete the PokePointer, the eyetracking pointer is showing

To reproduce

The eye tracking works until a PokePointer or DefaultControllerPointer enter in the field of view. After that, the system is not restore the eyetracking cursor even if my hands are not in the field of view. In the MRTK 2.3, all system can be exist, now it would seem that no.

Expected behavior

Both cursors showed

Screenshots

Your setup (please complete the following information)

Target platform (please complete the following information)

Additional context

sostel commented 4 years ago

Maybe @vaoliva can help with this one.

vaoliva commented 4 years ago

@nicolaslcalvi We have updated the state machine for eye gaze on 2.4 to match the behavior found in the Hololens Shell. By default, the gaze cursor will only be visible if no near interaction cursor is visible. Once the poke cursor is not visible, you can enable the gaze cursor back by using voice command "select".

In case you would like to have both cursors visible, you can call PointerUtils.SetGazePointerBehavior(PointerBehavior.AlwaysOn) on the start of your application and have them always on. This configuration worked when trying to replicate your issue. Please let us know if this works for your project.

sostel commented 4 years ago

@vaoliva Thanks for looking into this! TIs there any additional documentation about that change? Is there also an option to only have one cursor active at a time, but automatically go back to eye gaze if the hands are not in view (without needing to say "select")?