从哪儿找kinectWrapperkinect.unityros package kinect

503 Service Temporarily Unavailable
503 Service Temporarily Unavailable
openresty/1.11.2.4KinectSDK + Unity3D学习总结 - CSDN博客
KinectSDK + Unity3D学习总结
Kinect结合Unity3D引擎开发体感游戏(一)
http://my.oschina.net/klttl/blog/161694
& & 最近公司项目需要做科技馆的体感游戏,以前也没接触过游戏,虽然以前自己也是想做游戏,我想大部分都是学编程出来来做游戏,哈哈(请允许我淫笑一下,终于可以做这方面)。虽
然以前没接触过体感游戏,看到的体验也是大部分看到的视频,幸好现在网络还是比较发达,上网大概了体感游戏开发,目前比较好的是Unity3D和Kinect结合交互进行开发。现在心里的感觉
用句话说:哥现在也走在世界技术最前言,TMD碉堡了!
& 9月7号开始查阅网上的资料,一直没有找到详尽而又简单的方案。网上目前我看到就三种方法,说是三种方法说白了就一种:中间件。形散而神不散--散文的最高境界(其实我语文不好,
对不起祖国气我的期望,呜呜、、、)三种方法如下:
1.卡耐基梅隆的kinectWrapper.unitypackage;
2.OpenNI官方提供的OpenNI_Unity_Toolkit-0.9.7.4.unitypackage(现在官方不提供更新与支持了,支持的版本unity3.4,在往上版本会出现很多问题,需要修改很多地方,比较麻烦);
3.自己写的交互的中间件,我在网上看见高手自己的写的中间件,封装为DLL,现在通过这段时间动手实现,发现自己写一个这样的中间件其实也不难,后期也自己准备写一个。 我在采用的
第一种方法,原因上面三点大概说来了,第二点以后考虑支持的版本和官方的态度,所以暂时不考虑;第三种目前自己还没写,目前来说也不太现实,也暂时不考虑考虑。所以目前情况就暂
时考虑第一种;
&废话说了那么多,相信各位机油们早就寂寞难耐了,现在就切入正题:
一、Unity和Kinect交互的环境配置 我目前所使用的Unity3D的版本是Unity3.5; 使用的Kinect SDK版本是SDK1.6; Kinect和Unity交互的卡耐基梅隆的kinectWrapper.unitypackage方法是
使用CMU的封装,这个方法支持的Kinect SDK版本是SDK1.0,要想使用1.6版本以上的kinect SDK,就要做一些相应的修改。完整的方案如下(这个也为什么上面说后期打算自己封装一个类似这
样组件DLL):
1、安装Uinty3D我使用的Unity3D版本是3.5,上官网下载(需要注册,才能用,我推荐大家去付点钱,我是自己找的破解码,声明不支持这样的行为,大家懂就好)。
2、安装Kinect SDK我使用的SDK版本是1.6,可以在Kinect for Windows官方网站上下载。
3、在Unity3D工程中,如果需要使用和kinect交互,那么就需要在这个工程中导入卡耐基梅隆的kinectWrapper.unitypackage。百度怎么用大家都懂吧(需要用kinect SDK版本是1.6以上版本
(1,7以上版本还没试过替换是否可以,理论上应该也可以),就要下载KinectWrapperPackage替换文件并替换导入包中的KinectInterop.cs和KinectSensor.cs这两个文件即可) 好啦!目前
准备工作都ok了!
二、简单Kinect Wrapper Package for Unity3D包含了所有我们开发unity+kinect需要用到的脚本。
1.导入包之后,所有我们需要的资源都会出现在project面板中,具体来说是以下的一些资源: 在此输入图片描述
2.Scenes KinectExample - 示例场景,这个例子向你展示了如何通过在每一个kinect 可以追踪的骨骼点上放置小球来产生骨骼运动。
Prefabs Kinect_Prefab- 包含了我们开发unity+kinect程序所必需的所有脚本。但是它并没有包含你需要的用于控制模型的控制器(controller)。 KinectPointMan -&
KinectPointController这个控制器(controller)是怎样使用的。
Kinect KinectModelControllerV2 - 需要将这个脚本拖放到你想要应用kinect控制的模型上。为了让模型能够跟上人的节奏,你需要将模型上控制模型动作的关键骨骼拖放到这个脚本暴漏的
合适的变量中 ,也就是将模型中的骨骼与kincet识别到的人的骨骼绑定起来。另外这个脚本暴漏的变量中,还有一个变量时标识模型是受哪个玩家控制。 KinectPointController - 需要将
这个脚本拖放到场景中的游戏物体上。但是这个游戏物体不是模型,而是由一系列分别代表头部、肩部、手等人体部位的点组成。你需要将游戏物体中的这些关键点都拖放到这个脚本暴漏的
外部变量中。这样就可以使用kinect控制游戏物体了
DisplayDepth - 得到深度图像。
DisplayColor - 得到RGB图像。
KinectRecorder - 用于记录你的动作,并为kinect模拟器(emulator)产生回放文件。
KinectEmulator - 模拟kinect设备.和KinectRecorder产生的回放文件一起工作。
KinectSensor - 从Kinect设备中取得数据。需要替换这个文件使用特用版本的SDK.
DeviceOrEmulator - 设置使用kinect物理设备还是kinect模拟设备.
SkeletonWrapper - 脚本抓取骨骼数据.
DepthWrapper - 脚本抓取深度图像数据.
KinectInterop - 从Microsoft Kinect SDK中抓取数据.
三、使用KinectWrapperPackage包要想在自己的工程中 首先需要用unity3D创建一个空工程,然后将kinectWrapper.unitypackage导入这个包到unity中,然后经过下面的步骤完成交互。
1、设置Kinect_Prefab前面提到过了,如果在Unity中和Kinect交互,Kinect_Prefab这个游戏物体是必不可少的。 这个物体需要存在于你的场景中的某处。所以当你切换场景时,它仍旧存在
着,因此你不必在每个场景中都实例一个Kinect_Prefab。 在Unity3D中,找到project面板中的Kinect_Prefab直接拖拽到Hierarchy面板就可以了。
2、控制游戏中的角色为了控制场景中的角色的移动,你需要将KinectModelControllerV2这个脚本拖拽到场景中的模型上,并绑定骨骼; 当然你为了控制一系列的游戏物体,你需要将
KinectPointController拖拽这些物体上。 下面分别说明这个脚本的使用(这两个脚本需要自己更具情况去定制)。
控制器:KinectPointController: 在场景中创建一个空物体对象,作为你想要控制的容器。 将其他的物体拖拽到刚刚创建的空物体中,并放置到相同的位置。使刚才创建的空物体成为这些
物体的父节点。 拖拽KinectPointController脚本到这些物体的父节点上。 选中父节点,在Inspector面板中暴漏的变量中,找到Sw变量 (该变量表示Skeleton Wrapper).拖拽当前场景中
Kinect_Prefab赋给这个变量。 拖拽你想利用Kinect控制的每一个物体到Inspector面板对应的合适的变量中。 设置Player变量(代表玩家)和Mask变量(代表哪些骨骼收到监控). 在此输入图
控制器:KinectModelControllerV2: 拖拽脚本资源KinectModelControllerV2到场景中的模型中。 选择场景中的模型。找到模型中的暴漏变量Sw(它代表Skeleton Wrapper). 并将当前场景
中的Kinect_Prefab拖拽给Sw这个变量。 详细展开你的模型,让模型的每一块骨骼在hierarchy面板中可见。 一个接一个地把模型中的骨骼拖拽到脚本中暴漏的对应的变量中.确保每一个骨骼
都对应到了正确的变量上。 当模型中所有的骨骼都放置好了之后,改变暴漏的Player变量的值,这个变量表明该模型是受哪个玩家控制, 0代表第一个玩家,1 代表第二个玩家。 接下来要
设置暴漏的Mask变量的值。设置合适的值,以决定是所有的骨骼都受Kinect控制,还是仅仅一部分骨骼受Kinect控制.如果这些受Kinect控制的骨骼都不是你想要的,你可以自己写一个控制模
型的脚本来代替KinectModelControllerV2。 当游戏玩家在控制模型时,如果你想要该模型同时播放自带的动画,那么你需要在暴漏的变量中选中animated选项,并设置BlendWeight变量的值
,来决定模型受自带模型动画和Kinect驱动动作的最终混合效果。该变量取值范围为0到1之间。 在此输入图片描述
四、运行KinectWrapperPackage包中事例 保证Kinect设备连接成功指示灯为绿色,上面安装包安装配置好,最后运行事例 在此输入图片描述 注意图片的左下角的数字,证明连接成功 ,连
接成功的时候Kinect设备还会自己调整角度(最左边的指示灯会有红色)并且模型会随着你动而动
欢迎大家期待第二篇,将写一个3D人物模型,随着身体指示,产生转身和前进与跑步 先上一张图(第二篇会上相关的脚本代码,由于unity脚本主要是c#和js,所以我采用c#写的脚本,9月7
号才接触到unity和kinect,原来工作一直用c/c++,c#都是现学现买所以有不当之处,还请大家使劲拍砖):&
KinectSDK 1.6 + Unity3D体感应用
http://blog.csdn.net/yuanchunfa/article/details/8107628
& & 最近买了个Kinect中国版,加上新出的KinectSDK 1.6,于是开始尝试起来,先是给同事的一个朋友帮忙,为Flash提供骨骼数据,之前早就给了这个朋友网上一套KinectHtml5源码,这个
代码很早我编译过的,能够在支持Html5上浏览器使用,这个朋友说编译失败,当时还是很疑惑为什么, 只是当时没条件编译, 现在条件具备,就自己再用起这套源码,发现是KinectSDK&
1.0的版本的Demo,怪不得我以前能直接编译通过,而这位朋友编译通不过,因为他采用的是KinectSDK 1.5。这次我采用Kinect SDK 1.6,看看ToolkitBrowser上示例,没多久就把这份代码
修改并编译通过了。后面就尝试在Unity3D上使用,网上查找了些方案,其中这篇文章不错,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++中去完成好
/labe/plus796.html
体感相关资源,unity3d 体感插件等;
/s/1hs8t0US
motion-sdk-latest.zip
本文已收录于以下专栏:
相关文章推荐
实现效果:
Unity版本:5.3.5
项目包下载地址:待传
关键原理:
1.利用得到的Kinect的Body信息
2.利用Body信息来检测面部的创建和移除,面部追踪ID和...
本文原作者未知,转载自:http://blog.csdn.net/ycl295644/article/details
unity-与Android交互(unity5、android studio)使用的是工具是 unity5.4,Android Studio 2.0(后面简称 AS)
网上找到的教程大部分都是导出j...
总结一下常见的排序算法。 
排序分内排序和外排序。
内排序:指在排序期间数据对象全部存放在内存的排序。
外排序:指在排序期间全部对象个数太多,不能同时存放在内存,必须根据排序过程的要求,不断在内、外...
*&---------------------------------------------------------------------*
*&      Form  frm_change_q...
因为对Unity比较熟悉,所以一开始想着就是用Unity结合Kinect来进行游戏开发,而不是用Kinect的SDK强行撸一个出来,再说我也不会啊。
然后就是上网各种找资料咯,开始想用的是OpenN...
本文是Unity Store里的官方Demo包中的ReadMe翻译(别人翻的)
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)工具类服务
编辑部专用服务
作者专用服务
Kinect在Unity平台上的开发实例
文章介绍了Kinect结合Unity的交互方法,以及利用手势移动场景、控制人物动作以及控制模型的开发实例,为Kinect与Unity的程序开发提供一个参考。
作者单位:
大连理工大学创新实验学院,辽宁大连,116023
年,卷(期):
机标分类号:
在线出版日期:
本文读者也读过
相关检索词
万方数据知识服务平台--国家科技支撑计划资助项目(编号:2006BAH03B01)(C)北京万方数据股份有限公司
万方数据电子出版社

我要回帖

更多关于 走那儿 的文章

 

随机推荐