Kinect 2 controller tracking of hands buggy


hey folks
been trying out your Ni Mate program and got some things working on the Kinect 360.

as for the kinect 2 not so much the hand tracking in controller tracking is very buggy. as i did not find anything about it on the forums i think it might be me and i got a setting wrong or something.

i uploaded a movie to show the glitchy response.

Running on i7 2400 16GB gforce 635m (asus k95v) win 10 latest drivers and updates.
The kinect360 is very fluid and keeps good track of the hands.

Anyone got any ideas on what i’m doing wrong?



I’m finding similar, getting a lot of hand flipping and 180 degree rotation with all the settings at default. Haven’t tried anything outside of default settings though.


i’ve been fiddling around with the Y hands setting. nothing really made it better,
Strange thing is that the skeleton is following fine.


Considering the size of hands compared to the rest of the body, I’m guessing they’re probably too small to track accurately…


There definitely seems to be some issues with the hands being lost. The controller tracker data is computed from the depth feed independently from the skeleton tracking, so it would be interesting to see what the depth feed looks like when this happens.


Hi Jesse,

Thnx for replying.

here is a Depth cam test

as you can see the R and L are all over the place. Do you have any solutions to this?
Also if this doesn’t work is there a way to use the OSC or does it run in the same way? I’m trying to controll Resolume with the midi channel. But would love to use OSC is there a way to range map the values, to 1-127 and 0/1, send through OSC in NiMate?

Thnx for your help.


This looks like there is a bug somewhere in handling the hands for controller tracker. We’ll have to look into this in more detail ourselves and see what the issue is. Thank you for the tests.

I can’t think of any easy way to output values in that range outside the controller tracker. It could be possible by using the OSC scripting system by writing some kind of scaling expression in some of the fields in the skeleton tracker, such as /Left_hand [Y/16*127] which would take the Y coordinate (height) of the left hand skeleton joint, divide it by 16 (which I tested to be about the max value my body outputs) to get a value between 0 and 1, then multiply it by 127 to get the value scaled to the range 0-127.


Thnx for the reply Jesse. Hopefully you guys will goet the kinec 2 up and running soon