0

我正在使用 Xbox-Unity 并尝试制作 Kinect 游戏。我需要能够知道球员的脚何时在空中,何时又回到地面。我认为这就像跟踪关节位置一样简单,但是脚的 Y 值会根据与 Kinect 相机的接近程度而变化(从 Kinect 获取脚关节位置)。如果我将左脚抬离相机很远,那么 Y 会很高(比如说 10)。如果它靠近相机着陆,Y 会很低(比如说 -20)。我所希望的是我可以说 0 是地板,并且很容易知道什么时候脚在空中,什么时候在地面上。有人对我如何正确判断脚何时接地有任何想法吗?(到目前为止,我能想到的所有事情都至少有一个例外情况会破坏游戏玩法)

编辑:使用点到平面方程,但无论我做什么,到地板的距离总是根据我与相机的接近程度而不同。

4

1 回答 1

0

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

还有Floor Clipping Plane,但这涉及到我所看到的一些更复杂的数学。查看Kinect 编程指南,它非常古老,但我认为在这里仍然应该是相关的。“地板确定”部分是您所追求的。

于 2012-06-26T18:18:30.127 回答