【发布时间】:2015-11-17 02:07:47
【问题描述】:
我们对使用 Microsoft Kinect 非常陌生,并且正在尝试将其连接到我们的 Unity 2D 游戏以用于课堂项目。我们课程项目的一部分要求我们将游戏投影到一个织物上,并让用户按下该织物以与游戏交互。玩家将轻敲织物以收集掉落的物体。我们正在尝试将深度图与 Kinect 一起使用,以查看用户在屏幕上点击的位置,然后我们可以看到他们正在与哪些对象进行交互。
我们无法找到将 Kinect 深度坐标转换为适用于我们游戏的坐标的方法。由于我们的设置,我们无法使用骨骼跟踪。有没有人在不使用骨架函数的情况下将 Kinect 深度坐标数据转换为 2D Unity 游戏的经验?下面是我们的设置图,以供澄清。
【问题讨论】:
-
你看过深度帧数据吗? msdn.microsoft.com/en-us/library/…
DepthImageFrame似乎为它接收到的每个像素包含一个.Depth成员。您应该将用户未触摸织物的一帧作为“零深度”,然后您可以计算每个像素(或 X x Y 像素集)的差异以检测“触摸”。 -
您好罗恩,感谢您的回复。我们已经尝试过了,但它仍然在随机位置读取“幻影触摸”。我们的主要目标也是尝试将深度函数提供给我们的 Kinect 坐标转换为我们可以在 Unity 中使用的屏幕坐标。任何帮助将不胜感激!
-
您是否对某些帧数取平均值?
-
我们正在对它们进行平均 - unity 游戏仍然无法正确映射坐标。我们需要一种将 Kinect 坐标导入 Unity 的方法。
标签: c# unity3d kinect kinect-sdk unity5