We are a team working on a Hololens/Leap motion integration and we chose Leap motion's websocket server to transfer data to our Hololens.
Alas, we happened upon a very specific bug with Orion (if Orion is what sends out the JSON frames by websockets): when two hands are present on a given frame, if the first hand to have been introduced forms a fist, the data for many bones becomes invalid.
Some bones are mismatched from one hand to another, while others appear at random positions.
Here is a short clip portraying the situation:
When the first added hand forms a fist, everything blows up. If it's the second added hand, things are alright.
We analysed the position data of the pinky's carpal joint's position in matlab:
(x,y,z positions over time)
The moment we create a fist is clearly visible at frame 110.
We've tested the data that comes through the websocket in 3 different ways:
- Through our programs JSON deserialization
- Through a JSON query isolating the pinky's carpal joint from multiple frames obtained through the websocket
- Through your page "Leap WebSocket JSON Viewer" where me clearly see a jump in the positions when we form a fist.
Thanks in advance