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

"Select" voice commands change gaze pointer behaviour #8449

Closed Merichbier closed 9 months ago

Merichbier commented 4 years ago

Describe the bug

Using the "Select" keyword to trigger an interaction (ex button), breaks the Gaze Pointer behaviour

In the provided project, we set the gaze pointer to be always active with PointerUtils.SetGazePointerBehavior(PointerBehavior.AlwaysOn). There is two toggles button which can be toggled with the "Select" keyword. After using the voice commands to toggle a button, bringing any hands in view hide the gaze pointer.

To reproduce

EyeGazePointer.zip Steps to reproduce the behaviour:

  1. Deploy the provided project
  2. Notice that bringing the hands in view doesn't hide the Gaze cursor (this is expected)
  3. Toggle a button using the "Select" keyword
  4. Bring any hand in view and notice that the gaze cursor is hidden

Expected behaviour

The gaze pointer should always been visible as set by the script

Screenshots

If applicable, add screenshots to help explain your problem.

Your setup (please complete the following information)

Target platform (please complete the following information)

Additional context

Add any other context about the problem here.

IvanMous commented 3 years ago

I've run in to the same problem. We wanted a simple game we originally made for HL1, where you could gaze at butterflies and they'd move to your hands. to be controlled similarly in HL2 with the new MRTK2. So for that game we overwrote the pointer behavior to keep the gaze pointer AlwaysOn and hand ray AlwaysOff. This works, until a select keyword is used at any point, even in another game. After that, even if the pointer behavior is explicitly set again, it keeps using default behavior until the app has been completely closed and restarted. EDIT: Correction: If explictly set again, the hand ray pointer will turn off. But the gaze pointer will not turn on. Is there any fix or workaround?

Merichbier commented 3 years ago

Unfortunately haven't got any news.. We decided to go with a different keyword to select things, which is hack because it makes the app less consistent with the OS..

IvanMous commented 3 years ago

That's unfortunate. We may have to make our own fake cursor for this game. Thanks for the reply.

keveleigh commented 3 years ago

One workaround could be, if you never want the hand rays to show up, is to remove them from the pointer profile:

image

Since those should be the only far rays, gaze should stay active

Merichbier commented 3 years ago

@keveleigh Thanks for the tips, unfortunately we use the hand rays too

stale[bot] commented 2 years ago

This issue has been marked as stale by an automated process because it has not had any recent activity. It will be automatically closed in 30 days if no further activity occurs. If this is still an issue please add a new comment with more recent details and repro steps.

Merichbier commented 2 years ago

Any update ?

IssueSyncBot commented 9 months ago

We appreciate your feedback and thank you for reporting this issue.

Microsoft Mixed Reality Toolkit version 2 (MRTK2) is currently in limited support. This means that Microsoft is only fixing high priority issues. Unfortunately, this issue does not meet the necessary priority and will be closed. If you strongly feel that this issue deserves more attention, please open a new issue and explain why it is important.

Microsoft recommends that all new HoloLens 2 Unity applications use MRTK3 instead of MRTK2.

Please note that MRTK3 was released in August 2023. It features an all-new architecture for developing rich mixed reality experiences and has a minimum requirement of Unity 2021.3 LTS. For more information about MRTK3, please visit https://www.mixedrealitytoolkit.org.

Thank you for your continued support of the Mixed Reality Toolkit!