如何在unity 3d中引用kinect的类库

大神们,请讲解下,如何在unity 3d中引用kinect的类库
最新回答
夏七言〃

2024-05-03 17:56:25

目前呢在Unity中使用Kinect有3种办法。

第一种使用卡耐基梅隆的插件

第二种只用OpenNi官方的插件

第三种自己写中间件。

向比较来说使用第一种方案的人数较多。第二种因为官方后继支持和官方现在模糊的态度,使用的人也有,但不是很多。第三种其实也不难,也有一定的人数。

这里大概说一下第一种使用方法。

  1. 链接Kinect电源

  2. 安装驱动

  3. 下载Kinect的 SDk   地址:

    https://www.microsoft.com/en-us/download/details.aspx?id=44561

  4. 安装SDK,并打开Kinect Studio v2.0,同时链接设备。

  5. 在Kinect官网下载Unity_Pro插件,然后导入到Unity中。

  6. 最后嘛就是开始写你的Kinect程序咯。

眉眼藏欢

2024-05-03 05:16:30

Kinect+Unity3D 体感游戏开发 — Kinect SDK v1.5,给出几种方案,我做了相应尝试,现在也进行一下总结:

1、Zigfu的ZDK
以前用OpenNI的时候用过,没想到能够支持Kinect,于是很高兴的下好了trial版本,果然能用,不过发现一下子能打开Kinect设备,一下子不能打开Kinect设备,很是困惑,后面发现360安全卫士及360杀毒把Kinect服务当木马的提示,果断设置为信任,也把360安全卫士和360杀毒退出,在测试打开Kinect设备成功率高的多,但依然会有失败的。
2、CMU的封装
这套在看这篇文章是先下到,只支持Kinect SDK 1.0,本想修改一下用起来,但是懒的基因没有马上动手,而是再Google下,找到了这边文章,下载替换文件,看了一下,Kinect SDK 1.5跟Kinect SDK 1.6还是有区别,用了一下果然也是用不起来。

3、adevine1618开发的插件
缺点有说不在维护,所以就没有去试了。

4、根据Zigfu自己写一套C#类库
前面说到Zigfu的打开不稳定,于是想自己写一套能够同时支持Kinect和OpenNI的封装。没花多长时间,总结了一下需要各抽象层就动手写了骨骼数据方面,于是放到Unity进行测试。发现MonoDevelop编译没有问题,在Editor下确提示编译出错。这篇文章有提到:Unity3.5 只支持到.Net 3.5, 而Kinect SDK v1.5 最低要求是.Net 4.0. 所以直接在Unity中使用v1.5的assembly是不行的。不过我尝试才真正体会到真的是不行,在VS2012中改成.Net 3.5的话,编译又通不过,改成.Net 4.0编译通过,在Unity中又通不过,默认是.Net 4.5。很好奇Zigfu是如何做到的,ZDK下有Kinect10.dll及OpenNI.Net的引用,也是用C#写的一套类库啊,难道是Kinect SDK 1.5,而且用的是.Net 3.5?用Kinect SDK 1.5的话,为何CMU的封装(替换文件了)有如何跑不起来?
5、Unity Plugin方式,用C++写DLL
这个动手写以前就肯定是可行的,但还是动手写了一下做了测试,发现Kinect 红外灯能够点亮了。这样比CMU封装更有好处,按更自然的C++方式来实现,仅导出需要的接口就好了。

这么多方案下,最希望是能够把Zigfu实现能够把Kinect面部识别等更多功能放进去,当然是需要Unity能够支持.Net 4.5了,目前方案是Unity Plugin方式了,把需求放到C++中去完成好了。