Skip to content
This repository has been archived by the owner on May 13, 2022. It is now read-only.

Feature - Hand Controllers + Simulation - LUMIN #49

Merged
merged 69 commits into from
Apr 7, 2020

Conversation

FejZa
Copy link
Contributor

@FejZa FejZa commented Feb 25, 2020

Overview

This PR adds the Lumin implenentations for hand tracking. It provides a data provider to convert Lumin hand data to platform agnostic hand data usable by the MixedRealityHandController.

  • Profile and Inspector
  • Hand Controller Data Data Provider and Converter
    Converter is still missing some joint mapping. For joints Lumin does not provide a way needs to be found to estimate their position using known joint poses.
  • Hand Meshing

How to use

  • The default profile was updated to include the LuminHandControllerDataProvider. Build and deploy to a Magic Leap device and hands will appear once tracked.

FejZa added 30 commits August 15, 2019 20:27
"unity": "2019.1",
"license": "MIT",
"src": "Assets/XRTK.Lumin",
"author": "XRTK Team (https://github.com/XRTK)",
"dependencies": {
"com.unity.xr.magicleap": "2.0.0-preview.19",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We might need this dependency, no?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well yeah, as long as we are on 2019.1 yes. That change originates back to when I was working on hands using 2019.2 and that dependencies kept causing me issues. It's on my "TODO before finishing the PR" list to readd that. But you can go ahead and bring it back since I am now on 2019.1 solely again.

FejZa and others added 2 commits April 5, 2020 00:33
* updated references

* updated references and cleaned up a bit
Copy link
Contributor

@StephenHodgson StephenHodgson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comments

@StephenHodgson StephenHodgson self-requested a review April 5, 2020 18:03
@StephenHodgson StephenHodgson merged commit 2414774 into development Apr 7, 2020
@StephenHodgson StephenHodgson deleted the feature/hand-tracking branch April 7, 2020 15:59
XRTK-Build-Bot pushed a commit that referenced this pull request Dec 25, 2020
* Add Lumin hand controller data provider

* Fix base class

* Implement hand data provider interface

* Remove obsolete lumin platform hand controller data provider

* Create controller stub

* Remove need for hand controller data provider profile

* Revert Lumin speciifc hand controller

* Implement Lumin data provider profile

* Implement Lumin data provider profile inspector

* Add XRTK assembly reference to fix inspector missing assembly issue

* Fix deprecated Lumin controller API

* Implement Lumin hands init / deinit

* Implement hand data conversion

* Implement is tracking enabled flag for Lumin

* Add comment for missing rotation

* Fix Lumin dependent compilation

* Use LateUpdate for hand update instead of Update

* Fix Unity serialization error when selecting Lumin profile asset when not targeting Lumin

* Implement Lumin profile lock using new Utility

* Update profile platform utility usage

* Resolve merge issue

* Fix platform flag for Lumin inspector

* Set file icons

* Create Lumin hand controller and mapping profile + inspector

* Add required RefreshActiveControllers override to build

* Removed base hand data provider

* Move hand controller detection into existin lcdp

* Adjust Lumin to recent changes

* Bring back lumin hand controller data provider profile

* Move LuminControllerDataProvider constructor to top

* Reset Lumin data provider controller

* Update hand controller data provider to fit recent changes

* Remove hand tracking enabled setting (disable by removing data provider)

* Update convert to set all missing joints zero fo rnow

* Introduce shared hand profile configuraiton

* Introduce base hand controller data provide to consume shared profile

* Add label to Lumin specific in inspector

* Introduce HandMeshingEnabled profile setting

* Introduce "Hand Tracking System Profile"

* Remove package dependency to legacy magic leap package

* update lumin hand controller data provider (#51)

* update lumin hand controller data provider

* updated base controller data provider profile namespace

* fixed compiler errors from platform changes

* Fusion Lumin controller dp profiles

* updated inspector

* bumped minor version

* Remove hand ray type setting

* Change requests/hand tracking (#54)

* updated references

* updated references and cleaned up a bit

* moved LuminHandDataConverter to Lumin.Utilities

* sorted usings

* fixed hand data provider inspector

* Restore LuminHandControllerDataProvider

* Restore lumin package dependency

* fixed compiler errors

* updated lumin hand controller provider profile

* added a check if configuration was applied

misc formatting

* fix compiler errors

* remove hand calls from controller data provider

* Fixed lumin hand controller support (#55)

* Fixed lumin hand controller support

updated palm pose

* only remove from registry if flag set

Co-authored-by: Stephen Hodgson <hodgson.designs@gmail.com>
Co-authored-by: Stephen Hodgson <StephenHodgson@users.noreply.github.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants