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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在unity 3d中引用kinect的类库相关的知识,希望对你有一定的参考价值。

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

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

第二种只用OpenNi官方的插件

第三种自己写中间件。

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

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

    链接Kinect电源

    安装驱动

    下载Kinect的 SDk   地址:https://www.microsoft.com/en-us/download/details.aspx?id=44561

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

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

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

参考技术A 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++中去完成好了。

unity游戏启动如何调出

1.首先,在Windows电脑上打开Unity5.0编辑器,Unity启动界面,如下图所示。
2.在Unity编辑器上打开游戏场景或创建一个新的游戏场景,在这里为了简单演示如何运行游戏,所以只创建一个地形与一个人物,如下图所示。
3.可以看到与Scene视图在一起的Game视图,我们可以将鼠标选中Game视图,此时可以看到一个静态的游戏出事界面,如下图所示。
4.可以看到在Game视图的上侧有三个按钮,分别是“运行”按钮、“暂停”按钮,和“逐帧”按钮。
5.当我们点击“运行”按钮时,游戏便开始运行,在如图所示的游戏中,你便可以控制人物的行走及方向。当点击“暂停”按钮,则游戏暂停了,当点击“逐帧”按钮游戏一帧一帧的运行。
6.当点击Game视图上的“Stats”按钮,则弹出一个透明窗口,显示游戏的状态信息,如下图所示。
7.当点击Game视图最右侧的三条横杠,在弹出来的下拉框中点击“Maximize”按钮,将以最大化的形式展示游戏界面。
参考技术A Unity游戏的启动可以通过在Unity编辑器中点击“播放”按钮来实现,也可以通过在Unity编辑器中点击“Build and Run”按钮来实现,这样就可以将游戏打包并启动。

以上是关于如何在unity 3d中引用kinect的类库的主要内容,如果未能解决你的问题,请参考以下文章

kinect 连接unity3d自制小demo篮球VS热狗

Kinect for Unity3D开发 之 手势/姿势(Gesture)识别基础知识

UNITY如何使用自制DLL?

Unity使用DLL库

unity3d脚本语言中的引用类型

如何在MVC 5的类库项目中使用Entity Framework 6 Code First