leap motion bone reconstruction for hand tracking

Dear all:

In order to real time tracking the hand, I’m reconstructing bone by bone from leap motion CHOP.
For those options with translation and rotation info output such as hand0/tx,ty,tz,rx,ry,rz and hand0/thumb:tx,ty,tz,rx,ry,rz, the result in general “seems to” works fine with those channels directly set as the input of translate and rotate parameters. The rest joints, moves only follow those key joints instead of being able to move by itself.
Since usually, the rotational data, rather than the translational should be provided, regarding the fact that all data about bones contains only the translational info. I’m thus thinking about whether there should be some transformation for the bone data. The leap motion API says these bone data are the normalized vectors of each bone. How should I set them in TouchDesigner?
I have two version of setting. One is by set the translate and rotate parameter in Geometry and bone components. Another is by using the Inverse Kin CHOP to calculate the angle. But for the latter one, the fingers bend in an abnormal way, it comes to normal only when the solver type parameter set to None. For the former one, the translational and rotational parameters seems to be messy since each bone is connection together and it seems it is self-corrected by some way.

Anyone who knows how to correctly set each joint/bone will be with full-heart appreciation.
Bone Direct Draw.2.toe (7.24 KB)
3D hand test.4.toe (5.89 KB)

1 Like

Dear all:

After two days of intensive try. I finally work it out.
Here is the result.

Enjoy!! :wink:

adenovirux
3D hand new test.toe (8.77 KB)

for better maintaining, I put the file in github. You can download or update here.
github.com/adenovirux/Leap-Motion-hand-skeleton

Best!

Hi adenovirux,

when i download the TOE from github,
TD opens empty and i get the error message “Bad Header in CPIO packet (”")

Is there something wrong with the file,
or am i doing it wrong?

Best
Stefan