-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Hand Constrained Solver (useful for Hand UI) #4532
Hand Constrained Solver (useful for Hand UI) #4532
Conversation
I think that this step used to build nuget packages as well, until we did the later NuGet work (of packing it up at the end of CI). However, this text appears to have stuck around. Note that the command it runs actually says "NoNuget"
…RealityToolkit-Unity into mrtk_development_hand_menu
…RealityToolkit-Unity into mrtk_development_hand_menu
…RealityToolkit-Unity into mrtk_development_hand_menu
@Cameron-Micka lets chat :) |
Sounds good! I'll add an attribute and tag the class as experimental. |
/azp run mrtk_pr |
Azure Pipelines failed to run 1 pipeline(s). |
@julenka I added an [Experimental] tag decorator drawer so that developers in the futre can easily tag implmentation as experimental without writing custom inspectors. You can see how it looks below: |
We would love to get this in for RC2, so please let me know if anything else should be addressed. |
/azp run mrtk_pr |
Azure Pipelines successfully started running 1 pipeline(s). |
Thanks Cameron! I've completed this into the rc2 stabilization branch based on your request that you wanted to get this into stabilization. We have mostly been trying to only take in critical fixes to allow us time to stabilize. However you made this PR quite early in the week and I think the impact on the rest of MRTK is minimal, so it should be fine. |
Thank you Julia! |
## Overview This pull request moves the HandConstraint (and HandConstraintPalmUp) solver from Experimental to Release by adding tests, documentation, and a handful of bug fixes and improvements. Functionality remains pretty much the same from the previous pull request (#4532) and utilizes solver fixes from @Troy-Ferrell's (#5416) The solver has also be genericized to work with motion controllers. Thank you @julenka for guidance on how to write unit tests that utilize hands! ## Changes - Fixes: #5312, #5304, #5257, #5413 ## Commits * Removing global input handler warning. * Wip check-in, new rotation behavior. * Disable hand tracking on hands which are currently focus locked. * Adding additional hand menu features and documentation improvements. * Hand constraint example improvements. * Hacks to get solver to not throw null pointers when instantiated. Should be reverted * Skeleton test for ensuring hand menu follows hand * Comment and example improvements. * autoTransitionBetweenHands is now set via the tracked handness of the solver handler * Adding support for motion controllers. * Updating example to support new solver changes. * Moving hand based menus out of the experimental namespace. * Adding hand constraint documentation. * Addressing pr feedback. * Updating example scene to use "new" toggle buttons. * Improving documentation, especially around IMixedRealityControllers usage. * Fixing broken documentation. * Update Documentation/README_Solver.md
…Constraint (and HandConstraintPalmUp) solver from Experimental to Release by adding tests, documentation, and a handful of bug fixes and improvements. Functionality remains pretty much the same from the previous pull request (#4532) and utilizes solver fixes from @Troy-Ferrell's (#5416) The solver has also be genericized to work with motion controllers. Thank you @julenka for guidance on how to write unit tests that utilize hands! ## Changes - Fixes: #5312, #5304, #5257, #5413 ## Commits * Removing global input handler warning. * Wip check-in, new rotation behavior. * Disable hand tracking on hands which are currently focus locked. * Adding additional hand menu features and documentation improvements. * Hand constraint example improvements. * Hacks to get solver to not throw null pointers when instantiated. Should be reverted * Skeleton test for ensuring hand menu follows hand * Comment and example improvements. * autoTransitionBetweenHands is now set via the tracked handness of the solver handler * Adding support for motion controllers. * Updating example to support new solver changes. * Moving hand based menus out of the experimental namespace. * Adding hand constraint documentation. * Addressing pr feedback. * Updating example scene to use new toggle buttons. * Improving documentation, especially around IMixedRealityControllers usage. * Fixing broken documentation. * Update Documentation/README_Solver.md )
…oft#5500) ## Overview This pull request moves the HandConstraint (and HandConstraintPalmUp) solver from Experimental to Release by adding tests, documentation, and a handful of bug fixes and improvements. Functionality remains pretty much the same from the previous pull request (microsoft#4532) and utilizes solver fixes from @Troy-Ferrell's (microsoft#5416) The solver has also be genericized to work with motion controllers. Thank you @julenka for guidance on how to write unit tests that utilize hands! ## Changes - Fixes: microsoft#5312, microsoft#5304, microsoft#5257, microsoft#5413 ## Commits * Removing global input handler warning. * Wip check-in, new rotation behavior. * Disable hand tracking on hands which are currently focus locked. * Adding additional hand menu features and documentation improvements. * Hand constraint example improvements. * Hacks to get solver to not throw null pointers when instantiated. Should be reverted * Skeleton test for ensuring hand menu follows hand * Comment and example improvements. * autoTransitionBetweenHands is now set via the tracked handness of the solver handler * Adding support for motion controllers. * Updating example to support new solver changes. * Moving hand based menus out of the experimental namespace. * Adding hand constraint documentation. * Addressing pr feedback. * Updating example scene to use "new" toggle buttons. * Improving documentation, especially around IMixedRealityControllers usage. * Fixing broken documentation. * Update Documentation/README_Solver.md
…#5560) * Moving the HandConstraint Solver from Experimental to Release (#5500) ## Overview This pull request moves the HandConstraint (and HandConstraintPalmUp) solver from Experimental to Release by adding tests, documentation, and a handful of bug fixes and improvements. Functionality remains pretty much the same from the previous pull request (#4532) and utilizes solver fixes from @Troy-Ferrell's (#5416) The solver has also be genericized to work with motion controllers. Thank you @julenka for guidance on how to write unit tests that utilize hands! ## Changes - Fixes: #5312, #5304, #5257, #5413 ## Commits * Removing global input handler warning. * Wip check-in, new rotation behavior. * Disable hand tracking on hands which are currently focus locked. * Adding additional hand menu features and documentation improvements. * Hand constraint example improvements. * Hacks to get solver to not throw null pointers when instantiated. Should be reverted * Skeleton test for ensuring hand menu follows hand * Comment and example improvements. * autoTransitionBetweenHands is now set via the tracked handness of the solver handler * Adding support for motion controllers. * Updating example to support new solver changes. * Moving hand based menus out of the experimental namespace. * Adding hand constraint documentation. * Addressing pr feedback. * Updating example scene to use "new" toggle buttons. * Improving documentation, especially around IMixedRealityControllers usage. * Fixing broken documentation. * Update Documentation/README_Solver.md * Update Documentation/README_Solver.md Co-Authored-By: David Kline <davidkl@microsoft.com>
…rimental to Release (#5500) ## Overview This pull request moves the HandConstraint (and HandConstraintPalmUp) solver from Experimental to Release by adding tests, documentation, and a handful of bug fixes and improvements. Functionality remains pretty much the same from the previous pull request (#4532) and utilizes solver fixes from @Troy-Ferrell's (#5416) The solver has also be genericized to work with motion controllers. Thank you @julenka for guidance on how to write unit tests that utilize hands! ## Changes - Fixes: #5312, #5304, #5257, #5413 ## Commits * Removing global input handler warning. * Wip check-in, new rotation behavior. * Disable hand tracking on hands which are currently focus locked. * Adding additional hand menu features and documentation improvements. * Hand constraint example improvements. * Hacks to get solver to not throw null pointers when instantiated. Should be reverted * Skeleton test for ensuring hand menu follows hand * Comment and example improvements. * autoTransitionBetweenHands is now set via the tracked handness of the solver handler * Adding support for motion controllers. * Updating example to support new solver changes. * Moving hand based menus out of the experimental namespace. * Adding hand constraint documentation. * Addressing pr feedback. * Updating example scene to use new toggle buttons. * Improving documentation, especially around IMixedRealityControllers usage. * Fixing broken documentation. * Update Documentation/README_Solver.md * Update Documentation/README_Solver.md Co-Authored-By: David Kline <davidkl@microsoft.com> )
Overview
These changes introduce a new type of solver called "HandConstraint." The HandConstraint provides a solver that constrains the tracked object to a region safe for hand constrained content. (Such as hand UI/menus.) Safe regions are considered areas that don't intersect with the hand.
HandUIExample Scene:
A derived class of HandConstraint called "HandConstraintPalmUp" is also included to demonstrate a common behavior of activating the solver tracked object when the palm is facing the user. For example use of this behavior please see the HandUIExample scene.
Finally, a new utility class called "HandBounds" has been added to help classes access the AABB bounds of the articulated hands.
Changes
Verification
Please check out the HandUIExample scene to verify example use of the solver.