AdaRoseCannon / handy-work

Framework Agnostic Hand tracking for WebXR
https://aframe-xr-starterkit.glitch.me/
MIT License
94 stars 11 forks source link

AFrame: Left hand mismatching poses #16

Open thedart76 opened 1 year ago

thedart76 commented 1 year ago

In the A-Frame handy-controls component, the left hand's poses don't correspond to those detected by the right hand.

Added below:

@AdaRoseCannon, I haven't found out what is causing this problem, but I'll be more than happy to help QA test any changes you might make if/when you work on this issue. So just ping me 🙂

PS: apparently, both hands cannot detect other standard WebXR API events such as squeeze, squeezestart, and squeezeend. (IDK if you are going to fix this part in another dedicated issue, or still here).

Demo Video

https://github.com/AdaRoseCannon/handy-work/assets/30973948/1008fb99-fe22-4ce1-b7a0-c629538a9aba

Poses Comparison

handy-controls-poses

Glitch Link

https://glitch.com/edit/#!/handy-controls-poses-events?path=index.html%3A1%3A0

AdaRoseCannon commented 1 year ago

The middle set of poses are not defined in handy-work so just get mapped to the closest

The main difference between flat and relax is the thumb so that is probably the difference with the last pose.

The best way to get better behaviour is to record and add more poses.

AdaRoseCannon commented 1 year ago

Regarding squeeze start and end you should listen for those on the XRInput itself as theye are supplied by the system.

AdaRoseCannon commented 1 year ago

Due to personal circumstances I am unable to continue working on this for the foreseeable future sorry.

thedart76 commented 1 year ago

Thank you for your quick response! Could you share any info on how to record new poses?

AdaRoseCannon commented 1 year ago

The dumpHands() method in handy-work.js

thedart76 commented 1 year ago

Thanks, Ada!