Skip to content
This repository has been archived by the owner on Aug 11, 2024. It is now read-only.

Hand Controllers + Simulation - CORE #45

Merged
merged 238 commits into from
Apr 7, 2020

Conversation

FejZa
Copy link
Contributor

@FejZa FejZa commented Jun 23, 2019

Overview

Companion PR for XRTK/com.xrtk.core#216 updating default profiles and providing some default prefabs / UX components.

@FejZa FejZa self-assigned this Jun 23, 2019
@FejZa FejZa added the Enhancement New feature or request label Jun 23, 2019
@StephenHodgson StephenHodgson self-requested a review June 24, 2019 13:12
Copy link
Contributor

@SimonDarksideJ SimonDarksideJ left a comment

Choose a reason for hiding this comment

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

Mostly architectural review, to ensure we are adhering to the XRTK standards.

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 comment

StephenHodgson
StephenHodgson previously approved these changes Apr 5, 2020
@StephenHodgson StephenHodgson merged commit d4d125e 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 standard UX prefabs for hand tracking

* Add and configure default hand tracking profile

* Assign default hand tracking profile to input system profile

* Create articulated hand mash prefab and assign material

* Add base hand visualizer component

* Add new default (empty) simulation data providers profile

* Assign default input simulations data providers profile to default input system profile

* Add camera simulation default profile and add it to default providers profile

* Add hand tracking default profile

* Fix hand tracking simulation provider not assigned

* Define hand toucable / grabbable

* Clean up using

* Add pointer definitions

* Fix SpherePointer issues

* Make pointer action accessible to implementations

* Make default profiles editable during development

* Remove GGVPointer definition

* Sort out hand prefabs for hand visulization

* Remove hand tracking specific pointers

Let's try withotu custom pointers first

* Add default simulated hand gestures definitions / assets

* Remove unused code in BaseHandVisualizer

* Lock input system profile

* Create default hand visualization profile

* Update base hand visualizer references to profile

* Assign default hand visualizatin profile to default controller visual. profile

* Add default hand controller mapping profile

* Enable simulation on more platforms

* Split hand visualization responsibilities and init in default controller visualizer

* Refactor / cleanup default hand visuailzers

* Replace hand simulation provider with actual hand provider

* Create and set default hand data provider profile

* Add Lumin, WMR, Leap Motion to default hand data providers profile

* Add editor hand controller data provider to defalult config

* Remove camera simulation profile

* Update joint and mesh handler registrations

* Lock default editor hand data provider profile

* Update default profiles

* Fix hand related profiles

* Remove obsolete platform hand controller data providers

* Update / cleanup profiles to new structure

* Adjust default asset naming and strucutre for editor hand poses

* Cleanup simulation

* Update visualizer implementations

* Implement base hand visualizer

* Fix editor hand profile after field rename

* Resolve merge

* Remove need for hand controller data provider profile

* Disable mouse controller in editor while working on hand simulation

* Fix simulation poses keycode mappings

* Create default Lumin hand controller data provider profile

* Remove WMR and leap motion data providers (will be completed in separate PR)

* Rebrand UnityEditor to Simulation

* Update default profile simulatedUpdateFrequency value

* Do not visualize NONE joint

* Lock profiles and remove dead settings

* Fix lost IDs in hand pose assets when renaming field

* Create deafult implementations for hands visulizations

* Make hand visualier type a configurable setting in profile

* Namespace cleanup

* Define hand controllers in visualization profile

* Implement new base hand visualizer

* Implement DefaultHandControllerVisualizer

* Fix missing doc comment

* Resolve merge issue

* Add quest provider to default profile

* Create and set default oculus hand profile

* Add confidence setting to profile

* Update default profiles

* Update controller pose synchronizher with new API

* Do not visualize joint pose if identity

* Fix hand joint gizmo prefab scale

* Update hand visualizer and prefabs

* Update default visualizer

* Fix handmesh prefab location

* Rename oculus controller data provider profile

* Separate simulation and hands

* Update default profiles

* Create new defeault oculus controller dp profile

* Use extension method for conversion

* Update profiles

* Create and assign all currently supported hand configuration

* Assign visualizations

* Tweak hand visualization a bit

* Create hand pointer

* Configure pointer for simulated hand

* Update hand palm prefab

* Fix DestroyImmediate being called in editor playmode causing Unity events to not fire

* Update default mapping profiles

* Register MixedRealityHandController with relevant profiles

* Update profiles for hands

* Update profile (namespace change)

* Update profile (namespace change)

* Use DestroyImmediate in editor for consistency with other implementations

* Update default profiles (removed old Lumin mapping profile)

* Update hand mesh prefab

* Lock lumin data provider default profile

* Add option to render gizmos to hand visualizer for bounds debugging

* Create colliders for each available TrackedHandsBounds type

* Configure rigidbody for hand if needed

* Remove BaseHandControllerVisualizer since most likely not needed

* Implement PhysicsProxy for pyhsics based interactions

* Make use of new physics settings in visualizer

* Update defaulta profiles

* Pool joint transforms instead of deleting them

* Sort serialized fields in visualizer

* Assign default cursor to hand pointer

* Introduce "Hand Tracking System Profile"

* Implement hand ray configuration

* Init configured IMixedRealityHandRay in HandPointer

* Delete obsolete profile assets

* Separate mesh and joint visualization

* Use DefaultControllerPointer prefab for sim hand and MR Hand

* User PointerPose for hand visualizers pose action

* Set alternate pose action to None for hand viszalization

* Change requests/hand tracking (#143)

* Removed hand pointer and added references to correct hand data provider profiles

* removed hand tracking profile from input system profile

* removed unused profile

* reserialized simulated hand data controller provider

* Fix type reference for Simulated Hand Controller Data Provider

* Added the default windows hand controller profile

* Update hand mappings

* Fix platform configuration for data providers

* Return of the global hand tracking profile

* Update controller data providers profile

* bumped minor version

* Re-register Oculus hand controller data providers and default profile

* Restore wmr hand data provider registration

* fixed typo

* Remove hand pointer

* updated references

* Remove pose action assignment

* Update default profile settings

* Update mappings

* Fix tracking state not updated in visualizer

* Change TrackingState from field to property

* updated service property accessor

* Register Lumin Hand Provider by default

* removed mouse controller data provider

* Recreate hand controller mappings

* Define spatial pointer mapping for hand controller

* Update global profile

* Update simulation profile

* updated base hand visualizer to use the controller data provider reference (#148)

* Fix positioning of hands

* Do not create pointers for hands

* Guids created for visuailzation profile

* Rename Oculus Touch OpenVR default profile asset

* Fix missing controller mapping for native Oculus Touch

* Enable editor for Oculus hands in editor playtime

* Revert "Rename Oculus Touch OpenVR default profile asset"

This reverts commit 9ea114b.

* Fix WMR missing editor platform, fix Oculus hands should not run on standalone

* Register native Oculus Touch mappings again

* bit or organization

* Fix controller gizmos issue

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

Successfully merging this pull request may close these issues.

3 participants