Unity3d 在Unity Xbox中获取关节位置的正确高度时遇到问题

Unity3d 在Unity Xbox中获取关节位置的正确高度时遇到问题,unity3d,kinect,Unity3d,Kinect,我正在使用Xbox Unity并尝试制作Kinect游戏。我需要知道球员的脚什么时候在空中,什么时候回到地面。我认为这与跟踪关节位置一样简单,但脚的Y方向会根据与从Kinect获取脚关节位置的Kinect摄像机的距离而变化。如果我把左脚抬离摄像机很远的话,Y会很高,比如说10。如果它降落在摄像机附近,Y将是lowlet的-20。我所希望的是,我可以说0是地板,并且很容易知道脚什么时候在空中,什么时候在地上。有没有人知道我怎样才能正确判断脚什么时候落地?到目前为止,我所能想到的每件事都至少有一个例

我正在使用Xbox Unity并尝试制作Kinect游戏。我需要知道球员的脚什么时候在空中,什么时候回到地面。我认为这与跟踪关节位置一样简单,但脚的Y方向会根据与从Kinect获取脚关节位置的Kinect摄像机的距离而变化。如果我把左脚抬离摄像机很远的话,Y会很高,比如说10。如果它降落在摄像机附近,Y将是lowlet的-20。我所希望的是,我可以说0是地板,并且很容易知道脚什么时候在空中,什么时候在地上。有没有人知道我怎样才能正确判断脚什么时候落地?到目前为止,我所能想到的每件事都至少有一个例外,那就是会破坏游戏性


编辑:使用点到平面方程,但无论我做什么,到地板的距离总是不同的,这取决于我离相机的距离

一种可能性是将它与另一只脚进行比较。。如果一个比另一个高,那么他们很可能站在另一只脚上。如果你想检测跳跃,你应该能够发现双脚y位置的突然变化


还有地板裁剪平面,但这涉及到我所看到的一些更复杂的数学问题。检查一下,这是超旧的,但我认为应该仍然是相关的在这里。“截面地板”的确定是您所追求的。

如果一只脚比另一只脚高,则可能只是意味着它比另一只脚离摄像机更远,而不一定在摄像机的顶部。再次使用剪裁平面,它帮助我解决了问题,谢谢您的帮助