位置: 编程技术 - 正文
推荐整理分享Kinect结合Unity开发(一)(unity soket),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:kbengine unity,unity kinect2,kinect unity开发,unity kinematica,kbengine unity,unity kinematic,unity kinematic,unity kinematica,内容如对您有帮助,希望把文章链接给更多的朋友!
因为对Unity比较熟悉,所以一开始想着就是用Unity结合Kinect来进行游戏开发,而不是用Kinect的SDK强行撸一个出来,再说我也不会啊。
然后就是上网各种找资料咯,开始想用的是OpenNI的那款插件,但是我用的Unity版本是4.5的,出了很多问题,要改的地方太多了,所以果断放弃了。
但是经过不懈地寻找,终于还是发现了两款比较好用的Unity插件啊哈
先来说说第一个: CMU封装的KinectWrapper.unitypackage
但是这个插件支持的Kinect SDK版本为1.0,要是想使用更高版本的SDK还得做相应的修改才行。插件可以点击这里下载
好了,现在我使用的是Unity4.5.2, Kinect SDKv1.8,首先我先将KinectWrapper.unitypackage导入新建的工程中,然后打开Kinect文件夹
标注的部分即为需要替换的两个文件,这样才能支持更高版本的SDK。替换文件在这里
当然也可以直接下载我替换后导出的资源包,点这里下载
修改好了之后正式开工,首先运行一下Scenes里面的场景
你会发现场景中的模型会跟随着你的动作变化而变化,刚开始真是被震撼到了- -
然后看下Hierarchy面板
发现相对于我们正常的Unity项目来说,多了三个东西:
Kinect_Prefab
KinectAvatar
rainbowMan_v6
首先Kinect_Prefab这个物体在场景中是必不可少的,你会发现这个物体添加了我们用来开发的各种脚本
所以只要将它静静地放在场景中的某个角落就行。
然后是KinectAvatar,这个就是我们刚刚场景里面的由小球组成的人,这也是为我们展示了如何通过Kinect来控制游戏中的物体
先创建一个空物体,将你想控制的游戏物体作为子物体给拖进来
然后在父节点上添加KinectPointController这个脚本
再将场景中的Kinect_prefab物体赋给脚本中暴露的sw变量
然后将想要控制的子物体赋给脚本中对应的变量,比如我想用左手控制_Hand_Left这个子物体,就将它赋给脚本中的Hand_Left这个变量,依次下去即可
最后脚本下方还有这样几个变量:
Player:0代表第一个玩家,1代表第二个玩家
Mask:选择是否所有的骨骼都受控制,还是仅仅某部分
这样就能成功控制游戏中的物体了~
最后是rainbowMan_v6,这是展示了如何控制人物模型,方法和上面一样,只要把对应的骨骼放在对应的位置上就OK了
不同的是,它需要添加的是KinectModelControllerV2这个脚本,而且这个脚本对比之前多了两个变量:
animated:是否能播放模型自带的动画
BlendWeight:模型动画与Kinect动作的混合效果
最后还有几个Kinect常用的脚本:
DisplayDepth:得到深度图像
DisplayColor:得到RGB图像
SkeletonWrapper:获取骨骼数据
DepthWrapper:获得深度图像数据
怎么使用可以查看脚本内部的代码,其他就不一一列举了~
使用BMFont+NGUI利用图片制作自定义字体 在游戏开发过程中,我们大多数时候都需要显示游戏计时和分数等,而这些数字如果用普通的字体来显示又会显得不太好看,于是我们产生了用图片来
【猫猫的Unity Shader之旅】之扭曲模型 之前我们介绍的一些Shader效果都是在surf函数中做文章,也就是对渲染过程中的片段进行操作,实现的是模型表面的一些显示效果。然而,UnityShader还提
Unity工程特殊名字文件夹小结 HiddenFoldersFoldersthatstartwithadot(e.g..UnitTests/,.svn/)areignoredbyUnity.Anyassetsintherearenotimported,andanyscriptsintherearenotcompiled.TheywillnotshowupintheProjectview.以.开头(例如:.U
标签: unity soket
本文链接地址:https://www.jiuchutong.com/biancheng/380153.html 转载请保留说明!友情链接: 武汉网站建设