These are chat archives for highfidelity/hifi

Sep 2014
David Rowe
Sep 11 2014 17:21
@AndrewMeadows I don't think I need a new API call for Leap Motion? Or maybe I'm missing something?
Sep 11 2014 19:40
Tony Parisi and Mark Pesce were instrumental for vrml and I was maddog studio the first virtual world web page and moderator for vworld-biz mailing list. I may have to look again at HiFi. it has been disappointing so far because I couldn't get in to run on win 8.1 and win 7.1 it was slightly better than before but I couldn't do anything. there was an update for a new version but I couldn't get it to work.
Andrew Meadows
Sep 11 2014 20:59
@ctrlaltdavid, yeah cozza said you've got it working. I'll be interested to see how you compute the correct final rotations. Have you tried it with different models?
Thijs Wenker
Sep 11 2014 21:00
nice, my leap motion oculus attachment is being printed atm :)
Philip Rosedale
Sep 11 2014 21:10
@thoys cool, cool. Yes @ctrlaltdavid It will be interesting to try using DK2+Leap to compare performance to hydra, and get the code working so that the two are functionally similar.
David Rowe
Sep 11 2014 21:15
@AndrewMeadows I have fingers and hands moving but am stuck on setting hand positions ... maybe this is the missing bit of JavaScript API you mentioned to Chris?
David Rowe
Sep 11 2014 21:34
@PhilipRosedale Yes, DK2 + Leap could be very cool. I think one of the HiFi engineers is working on this with the latest Leap SDK. More latency and less precision than Hydras, at least with SDK 2.0.4.
Andrew Meadows
Sep 11 2014 21:50
yes, could be. There is a bit of complexity in the Model joint rotations that will make it hard/impossible to correctly orient some joints via the MyAvatar.setJointData() call.
It has to do with the fact that MyAvatar.setJointData() actually sets the joint's rotation in what I call its "constrained frame" -- the frame where the joint constraints (if any) are defined
which is not necessarily the same as the "parent frame" (some people would call this the "local frame" of the joint)
The LeapMotion device provides (I think) parent-relative rotations, but there is no MyAvatar.setJointRotationInParentFrame() call yet (and if we make one we should try to come up with a better name).
Andrew Meadows
Sep 11 2014 21:56
If it so happens that the rotation between the "constrained frame" and the "parent frame" happens to be trivial (specifically the identity rotation) then MyAvatar.setJointData() will accept the "parent frame" data and everything will work fine.
Incidentally, we should maybe change the name of MyAvatar.setJointData() to be more correct.... but I don't think MyAvatar.setJointRotationInConstrainedFrame() is the best choice. I'm open to suggestions.
One way to go might be: MyAvatar.setJointRotation() for everything, but allow either a second argument that specifies the "frame", or maybe a modal system where you first call MyAvatar.setJointRotationMode(PARENT_FRAME) once, and then all subsequent calls to MyAvatar.setRotation() work in that mode. Dunno...
David Rowe
Sep 11 2014 22:06
I'm currently looking at adding MyAvatar.setLeftPalmPosition() and .setRightPalmPosition() as corollaries of .getLeftPalmPosition() and .getRightPalmPosition(). And making the .set*()s set the raw palm position akin to how the Hydra sets the positions, then letting inverse kinematics take care of the arms.
I'll then see how it affects the setting of rotations, and whether a setLeftPalmRotation() etc. also makes sense, as the Hydra code sets the palm rotations directly.
Andrew Meadows
Sep 11 2014 23:42
er... @ctrlaltdavid, I think I misunderstood your problem. You're having trouble setting the hand positions not the hand rotations.
But you're successfully getting the hands up from the default pose to be in front of the avatar, so you're doing something right.
But I can only guess what it is. Send me more info about what exactly the problem is and I'll try to help. Either by email, PM, or in this channel.
Hrm... I now realize that you've sent me a PM. I didn't see it until now.