官方Kinect SDK和Unity3d

时间:2011-06-22 20:40:09

标签: unity3d kinect

有没有人知道如何使用官方SDK使用Unity3d的Kinect输入?我已经被分配了一个项目来尝试整合这两个,但我的超级不希望我使用开放的Kinect东西。 Unity网站上的最新消息是Kinect SDK需要4.0 .Net而Unity3D只需要3.5

变通方法?如果你对此有所了解,请指点我的资源。

2 个答案:

答案 0 :(得分:7)

Unity的OpenNI绑定可能是最好的方法。 NITE骨架比Microsoft Kinect SDK更稳定,但仍需要校准(PrimeSense提到它们很快就会有一个无校准的骨架)。

Kinect SDK与OpenNI绑定,使Kinect SDK像SensorKinect一样工作,该模块还将KinectSDK无校准骨架公开为OpenNI模块:

https://www.assembla.com/code/kinect-mssdk-openni-bridge/git/nodes/

因为KinectSDK还提供了脚踝和手腕,而且OpenNI已经支持它(即使NITE不支持它)所有OpenNI的东西,包括包括脚踝和手腕的Unity角色钻机,都可以正常工作而无需校准。 OpenNI的KinectSDK绑定也支持使用NITE的骨架和手动跟踪器,但有一点需要注意,似乎NITE手势检测尚未与Kinect SDK一起使用。将KinectSDK与NITE的handGenerator一起使用时的解决方法是使用无骨架跟踪为您提供手点。不幸的是,当您的身体对传感器不可见时,您将无法跟踪手。

尽管如此,NITE的骨架似乎比KinectSDK更稳定,响应更快。

答案 1 :(得分:4)

您需要多少原始Kinect数据?对于一个受约束的问题,比如刚刚进行肢体清晰度,您是否考虑过使用像TcpClient这样的不可知通信模式。只需在.net 4.0中创建一个简单的TCP服务器,该服务器链接到Kinect SDK并使用每30ms或更长时间所需的信息抽出数据包。然后在Unity中编写一个接收客户端。我在使用不同的SDK时遇到了类似的问题。我没有尝试过Kinect,所以也许我的建议太过分了。

如果你想要实时深度/颜色数据,你可能需要更快一些东西,也许使用Pipes