-
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
Leap Motion Data Provider #7639
Leap Motion Data Provider #7639
Conversation
Marking at this as ready for review, so that we can run the CI checks (linters, etc). |
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
…rence to the Leap asmdef in provider asmdef
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
Assets/MRTK/Providers/LeapMotion/Definitions/LeapControllerOrientation.cs
Outdated
Show resolved
Hide resolved
Assets/MRTK/Providers/LeapMotion/Editor/ConfigurationChecker/LeapMotionConfigurationChecker.cs
Outdated
Show resolved
Hide resolved
Assets/MRTK/Providers/LeapMotion/Editor/ConfigurationChecker/LeapMotionConfigurationChecker.cs
Outdated
Show resolved
Hide resolved
Assets/MRTK/Providers/LeapMotion/Editor/ConfigurationChecker/LeapMotionConfigurationChecker.cs
Outdated
Show resolved
Hide resolved
Azure Pipelines successfully started running 2 pipeline(s). |
- Navigate to **File > Build Settings** | ||
- Only Standalone builds are supported if using the Leap Motion Data Provider. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Step by step documentation for unity mrtk users #7685 will be linked here after it is complete.
I tested importing leap motion and using my VR headset and it worked! Was really cool to see my hands working. I was even able to teleport using the motion controller, and interact with things using my hands. I found a few issues which @CDiaz-MS has filed follow-ups for, to be checked in as part of stabilization:
|
Here is the issue tracking the changes for issues Julia found: #7689 |
Assets/MRTK/Providers/LeapMotion/Definitions/LeapControllerOrientation.cs
Outdated
Show resolved
Hide resolved
Assets/MRTK/Providers/LeapMotion/Editor/ConfigurationChecker/LeapMotionConfigurationChecker.cs
Show resolved
Hide resolved
Assets/MRTK/Providers/LeapMotion/Editor/ConfigurationChecker/LeapMotionConfigurationChecker.cs
Outdated
Show resolved
Hide resolved
Assets/MRTK/Providers/LeapMotion/Editor/ConfigurationChecker/LeapMotionConfigurationChecker.cs
Outdated
Show resolved
Hide resolved
Assets/MRTK/Providers/LeapMotion/Editor/ConfigurationChecker/LeapMotionConfigurationChecker.cs
Outdated
Show resolved
Hide resolved
Assets/MRTK/Providers/LeapMotion/Editor/ConfigurationChecker/LeapMotionConfigurationChecker.cs
Outdated
Show resolved
Hide resolved
Assets/MRTK/Providers/LeapMotion/Editor/ConfigurationChecker/LeapMotionConfigurationChecker.cs
Outdated
Show resolved
Hide resolved
{ | ||
using (UpdatePerfMarker.Auto()) | ||
{ | ||
base.Update(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@davidkline-ms for perf markers in subclasses, do we recommend having the base function be invoked OUTSIDE of the subclass's marker?
i.e. should base.Update() be moved outside of this using clause? Otherwise this marker ends up capturing the work of the base class (which I believe has its own instrumentation).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd vote for leaving it as-is. When it's in scope like this and the base class has its own marker, the Unity profiler shows these nested in the call hierarchy and it becomes more obvious which class' base is being called.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool stuff, definitely get a thumbs up from @julenka / @keveleigh before going in!
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
Assets/MRTK/Providers/LeapMotion/Editor/LeapMotionDeviceManagerProfileInspector.cs
Show resolved
Hide resolved
…ender location, updated DeviceInputType comment
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
Overview
A Leap Motion Controller is required to use this data provider.
The Leap Motion Data Provider enables articulated hand tracking for VR and could be useful for rapid prototyping in the editor. The data provider can be configured to use the leap motion controller mounted on a headset or placed on a desk face up.
LeapControllerOrientation
: Headset (Default)LeapControllerOrientation
: DeskTesting
Changes
TODO
- Add menu item to force Leap and MRTK integration for Unity 2018- Unity 2018 and 2019 behave differently on Leap Motion Core Asset importVerification
Read the documentation on how to test this branch. There are different steps required to test the data provider if the MRTK source is from the repo instead of a unity package. The MRTK repo treats warnings as errors but the unity packages do not. The Leap Motion Core Assets were last released in June 2018 and they contains obsolete warnings. Our repo then converts the obsolete warnings to errors and halts configuration, this will not be the case once the unity packages are generated.
BEFORE importing the Leap Core assets into the project, Mixed Reality Toolkit > Utilities > Leap Motion > Configure CSC File for Leap Motion. Updating the csc file filters out the obsolete warnings produced by the Leap Motion Core Assets. Unity 2019.3 is recommended for testing.