2012-06-26 148 views
3

我正在编写一个统一的3d游戏,在这里我将一个3d模型上的kinect骨架映射。编程一个“向左倾斜和向右倾斜” - Kinect中的手势

现在我必须检查,如果玩家向左或向右倾斜......这是我的问题。

我已经按照这个网站:http://blogs.msdn.com/b/mcsuksoldev/archive/2011/08/08/writing-a-gesture-service-with-the-kinect-for-windows-sdk.aspx

而现在,我正在寻找一个正确实施精益geasture的。

有没有人有想法,我该如何解决这个问题?我必须在某些地方做出这种姿态,所以我可以认出一个倾斜。我已经试过类似:if left shoulder.x < hips_left.x or left.shoulder.x > hips_left.x,但不工作那么好......

我真的需要你的帮助:)

回答

6

我会用像成才,也许你的想法结合

if(left.shoulder.y == right.shoulder.y){ 
    //No Direction 
}else if(left.shoulder.y < right.shoulder.y){ 
    //leaning left 
}else{ 
    //leaning right 
} 

也许你可以使用head.x POS太

编辑:

我不知道,如果这个工程完美,但在我的测试中,它确实工作

if((left.shoulder.y + tollerance) >= right.shoulder.y && (left.shoulder.y - tollerance) <= right.shoulder.y){ 
    //No Direction 
}else if(left.shoulder.y < right.shoulder.y){ 
    //leaning left 
}else{ 
    //leaning right 
} 
+0

嘿,我想这可以与我的想法一起工作!我会试试看。谢谢! – Frame91

+1

为了减少误报,您还应该使用阈值。条件可能如下所示:然后:left.shoulder.y

+2

我会在开始时添加thresholdValue,您在两个方向都有阈值 – nidomiro