Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pre.14][solvers] SolverHandler IsHandTracked not working when handedness is set to Everything #11398

Closed
holomatt opened this issue Jan 27, 2023 · 9 comments

Comments

@holomatt
Copy link

holomatt commented Jan 27, 2023

This issue has been migrated a new MRTK repository, and the status of this issue will now be tracked at the following location:


Describe the bug

--When SolverHandler is set to Tracked Handedness Left+Right, HandConstraintPalm Up First Hand Detected and Last Hand lost Unity Event fields do not function.
--When there are two SolverHandler with Tracked Handedness set to Left and Right respectively, HandConstraintPalmUp Last Hand Detected field does not consider the opposing hand.

To reproduce

--Add SolverHandler, HandConstraintPalmUp, HandBounds to a GameObject

  1. Set a single instance of SolverHandler to Tracked Handedness to Everything (Both does not reproduce the issue)
  2. Hook feedback to HandConstraintPalmUp First Handed Detected and Last Hand Detected Fields

OR

  1. Add two instances the above component setup and set TrackedHandedness for one to Left and the other to Right
  2. Hook feedback to HandConstraintPalm Up First Hand Detected and Last Hand Detected Fields for each solver

Expected behavior

--A single SolverHandler set to Left+Right or Everything should fire events correctly
--Last Hand Detected field on HandConstraintPalmUp should consider the opposing hand

Your setup (please complete the following information)

  • Unity Version 2021.3
  • MRTK Version 3.pre-14
  • MR OpenXR Plugin 1.7.0 (also tried 1.4.4, etc)

Target platform (please complete the following information)

  • Editor UWP w/Sim Hand
  • HL2

Additional context

In pre.12 this scenario also generated an Assertion Failed:

Microsoft.MixedReality.Toolkit.HandednessExtensions:ToXRNode (Microsoft.MixedReality.Toolkit.Handedness) (at Library/PackageCache/[email protected]/Utilities/Extensions/HandednessExtensions.cs:93)

@holomatt holomatt added the Bug label Jan 27, 2023
@holomatt holomatt changed the title [solvers [pre.14][solvers] HandSolver and HandConstraintPalmUp HandednessExtension not working Jan 27, 2023
@holomatt
Copy link
Author

cc @Zee2 @RogPodge

@holomatt holomatt changed the title [pre.14][solvers] HandSolver and HandConstraintPalmUp HandednessExtension not working [pre.14][solvers] HandSolver and HandConstraintPalmUp - HandednessExtension not working as expected Jan 27, 2023
@holomatt holomatt changed the title [pre.14][solvers] HandSolver and HandConstraintPalmUp - HandednessExtension not working as expected [pre.14][solvers] SolverHandler and HandConstraintPalmUp - HandednessExtension not working as expected Jan 27, 2023
@holomatt holomatt changed the title [pre.14][solvers] SolverHandler and HandConstraintPalmUp - HandednessExtension not working as expected [pre.14][solvers] SolverHandler HandConstraintPalmUp - 'last hand detected' (HandednessExtension) not working as expected Jan 27, 2023
@holomatt holomatt changed the title [pre.14][solvers] SolverHandler HandConstraintPalmUp - 'last hand detected' (HandednessExtension) not working as expected [pre.14][solvers] SolverHandler Left+Right and HandConstraintPalmUp 'last hand detected' (HandednessExtension) not working as expected Jan 27, 2023
@holomatt holomatt changed the title [pre.14][solvers] SolverHandler Left+Right and HandConstraintPalmUp 'last hand detected' (HandednessExtension) not working as expected [pre.14][solvers] SolverHandler Left+Right and HandConstraintPalmUp 'last hand detected' (HandednessExtension) not working Jan 27, 2023
@holomatt holomatt changed the title [pre.14][solvers] SolverHandler Left+Right and HandConstraintPalmUp 'last hand detected' (HandednessExtension) not working [pre.14][solvers] SolverHandler Left+Right and HandConstraintPalmUp 'last hand detected' (HandednessExtensiona) not working Jan 27, 2023
@holomatt holomatt changed the title [pre.14][solvers] SolverHandler Left+Right and HandConstraintPalmUp 'last hand detected' (HandednessExtensiona) not working [pre.14][solvers] SolverHandler Left+Right and HandConstraintPalmUp 'last hand detected' (HandednessExtensions) not working Jan 27, 2023
@holomatt holomatt changed the title [pre.14][solvers] SolverHandler Left+Right and HandConstraintPalmUp 'last hand detected' (HandednessExtensions) not working [pre.14][solvers] SolverHandler IsHandTracked not working when set to Both Left+Right Jan 30, 2023
@holomatt
Copy link
Author

holomatt commented Jan 30, 2023

image

^^Looks like this is where the issue stems from when set to Both. XRI does not appear to work with the current implementation of HandnessExtensions.

@AMollis
Copy link
Member

AMollis commented Mar 3, 2023

@srinjoym is this something needed for GA?

@AMollis AMollis modified the milestones: MRTK v3.x future, MRTK v3.0 GA Mar 7, 2023
@AMollis
Copy link
Member

AMollis commented Mar 8, 2023

@srinjoym I chatted with @holomatt about this. There is an assumption that this issue stems from a limitation in XRI 2.2, and can be addressed by upgrading to XR1 2.3. Can you help determine if there is a solution that doesn't require upgrading to XR1 2.2. The issue for upgrading to XR1 2.3 is #11282

@shaynie
Copy link
Collaborator

shaynie commented Apr 10, 2023

No repro after upgrading XRI to 2.3. Please re-open if you encounter it again with XRI 2.3 installed.

@shaynie shaynie closed this as completed Apr 10, 2023
@holomatt
Copy link
Author

holomatt commented May 4, 2023

Just tested on 3.0.0-pre.15 - this still reproduces. Setting SolverHandler to Both or Everything does not function. Still need to use two instances of the SolverHandler set to Left and Right respectively in order to implement hand menus for both hands.

@AMollis
Copy link
Member

AMollis commented May 4, 2023

@holomatt was still able to reproduce this issue with XRI 2.3.1. I assume this still repros with XRI 2.3.0

Reopening bug.

@AMollis AMollis reopened this May 4, 2023
@holomatt
Copy link
Author

holomatt commented May 5, 2023

After more testing with @AMollis - we found that this issue is an inspector bug specific to selecting the "Everything" value. The "Both" value works great, but once the user changes the Enum away from the default (Both) it latches to "Everything" when selecting more than one hand, resulting in non-operation.

@AMollis AMollis changed the title [pre.14][solvers] SolverHandler IsHandTracked not working when set to Both Left+Right [pre.14][solvers] SolverHandler IsHandTracked not working when handedness is set to Everything May 5, 2023
@AMollis
Copy link
Member

AMollis commented May 5, 2023

Hopefully this is fixed now :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants