Ya .. that looked painful ... and I must have burned about 20 virtual servos ! 
I implemented Animation ... I feel pretty good about the way its implemented, but as you can tell the mappings of ranges are very whacked. You can see a couple fingers moove too.. I have plans on how to implement 3 joints controlled by a single finger, but the names of the finger joints are inconsistent, and only two aligned.

"Speed" is enabled too - so that setting the speed of the servo affect the speed of the movement (at a "correct" proportion I hope)   You can see a few flashes of movement, which are probably caused by mapping ranges mismatched in such a way something flips over some 360 or 180 or 0 boundry .. not positive.

There is a lot of work still to do, but I've made some progress.

 

GroG

5 years 10 months ago

@Gael

There is no node for i01.torso.lowStom, i01.torso.midStom nor i01.torso.topStom

Computers are dumb and only like exact matches ...

Additional renamings I had to do follow :

      jme.rename("i01.leftHand.thumb1", "i01.leftHand.thumb");
      jme.rename("i01.leftHand.ringFinger1", "i01.leftHand.ringFinger");
      jme.rename("i01.leftHand.index1", "i01.leftHand.index");
      jme.rename("i01.rightHand.majeure1", "i01.leftHand.majeure");
      jme.rename("i01.leftHand.pinky1", "i01.leftHand.thumb");
 
      jme.rename("i01.rightHand.thumb1", "i01.rightHand.thumb");
      jme.rename("i01.rightHand.ringFinger1", "i01.rightHand.ringFinger");
      jme.rename("i01.rightHand.index1", "i01.rightHand.index");
      jme.rename("i01.rightHand.majeure1", "i01.rightHand.majeure");
      jme.rename("i01.rightHand.pinky1", "i01.rightHand.thumb");
 
I thought you might be following a convention like this - but a couple things i notices, is the matching is case sensitive so i01.rightHand.ringFinger will not match
 
Also : 
Here are my current mappings
      jme.setMapper("i01.head.neck", 0, 180, -90, 90);
      jme.setMapper("i01.head.rollNeck", 0, 180, -90, 90);
      jme.setMapper("i01.head.rothead", 0, 180, -90, 90);
//       jme.setMapper("i01.head.jaw", 0, 180, -10, 5); // is this true ? clipping vs attenuation .. should "not" min/max
      jme.setMapper("i01.head.jaw", 0, 180, -10, 170); // is this true ? clipping vs attenuation .. should "not" min/max
      jme.setMapper("i01.head.rothead", 0, 180, -90, 90);
      jme.setMapper("i01.rightArm.bicep", 0, 180, 0, -180);
      jme.setMapper("i01.leftArm.bicep", 0, 180, 0, -180);
      jme.setMapper("i01.rightArm.shoulder", 0, 180, -30, 150);
      jme.setMapper("i01.leftArm.shoulder", 0, 180, -30, 150);
      jme.setMapper("i01.rightArm.rotate", 0, 180, 90, 270);      
      jme.setMapper("i01.leftArm.rotate", 0, 180, -90, 90);
 
Which obviously are not right ... but they were worse ... if you can believe it ..
It would be really nice if we had a process or system where I could somehow align these correctly...
 
Let me know if you have any ideas .