文档章节

Kinect结合Unity3D引擎开发体感游戏(二)

地瓜儿
 地瓜儿
发布于 2013/12/14 23:47
字数 999
阅读 13317
收藏 86
点赞 20
评论 53

       这篇接着《Kinect结合Unity3D引擎开发体感游戏(一)》,时隔3个月才出这篇,在此期间还有不少机油们,要求出续集,期间在公司那边事情太多,一直帮公司前人做的项目擦屁股,到目前为止,完成了差不多,累啊,相信大家都有体会,做前人留项目,基本上坑爹情况多。费了这么多话,给干货了!

       接着上一篇写一个3D人物模型,随着身体指示,产生转身和前进与跑步。

      就像我上一篇所说的,目前做体感交互中间件有3中方法:

      1.卡耐基梅隆kinectWrapper.unitypackage;

      2.OpenNI官方提供的OpenNI_Unity_Toolkit-0.9.7.4.unitypackage(现在官方不提供更新与支持了,支持的版本unity3.4,在往上版本会出现很多问题,需要修改很多地方,比较麻烦);

      3.自己写的交互的中间件,我在网上看见高手自己的写的中间件,封装为DLL,现在通过这段时间动手实现,发现自己写一个这样的中间件其实也不难,后期也自己准备写一个。

      第一篇,我是基于卡耐基梅隆kinectWrapper.unitypackage中间件,利用上面的自带例子,经过自己的摸索终于成功了,可以看Kinect结合Unity3D引擎开发体感游戏(一),现在大部分用卡耐基梅隆和OpenNI来作为unity与kinect交互,还一种就是自己封装交互组件,经过这段时间研究后,自己封装了一个dll,大概实现的功能:kinect摄像头角度设置,RGB流,Depth流,玩家位数绑定,骨骼数据获取等!后期计划把鼠标加进去,骨骼绑定功能进一步优化,想利用这个dll组件实现3D试衣镜这样的虚拟场景,不仅包括体感游戏!最终可以满足绝大部分的开发情况!

     卡耐基梅隆和OpenNI现在基本上对于高于Kinect1.7和Unity3D4.0支持不是很好,特别是openni官网都没有支持更新了,对于高版本支持更是不好,卡耐基梅隆还是稍微好点,不缺配置也比较麻烦,还需要修改里面的代码!对于不太熟悉kinect同学们更是不好上手!自己封装组件,不断傻瓜化了,更是知根知底!当然不是说自己是什么高手,只要把原理清楚了,大家写一个也不是什么问题!

     好了,简单交代一下我开发环境:win8 + KinectSDK1.7 + Unity4.3.1(最新版本)哥熬了一个通宵破解了,想了解我这个例子的前提同学们必须对Unity3D比较熟悉,可以建立场景以及人物!对c#也要有了解。

上图为利用unity3D建立简单的人物场景!上述的场景都是基于unity自带的素材建立的。

      接下来该写人物事件驱动,大概的功能就是向前、向左、向右、向后走动。代码如下

然后将上面的setHeroState添加到Updata函数后,然后将脚本绑定到人物模型即可。

这篇就不讲解自己封装的组件dll,也不是这一篇就能讲清楚的,后续的文章中会慢慢剖析讲解!

下面就上图给大家看看体感控制效果截图:

上图中包含RBG流 、Depth流以及手势控制人物正在前行行走!也欢迎大家期待第三篇,会给大家展示一款较为成熟的体感作品!  再次感谢OSC各位基友的鼓励!谢谢大家!


声明:这篇代码量也不大,主要目前我也是在摸索阶段,unity工程量也大,不好把整个贴上来!后期代码量会逐步加大干货,并且包括视频链接地址!

© 著作权归作者所有

共有 人打赏支持
地瓜儿
粉丝 243
博文 7
码字总数 7837
作品 0
武汉
项目经理
加载中

评论(53)

蹦豆儿
GetJointPos这个方法是怎么引用的,state这个参数从哪来的啊。求完整代码。图片看不清,有点理解不了还有这个为啥我打出来的代码多处错误,跪谢了
小豆子一年级
小豆子一年级

引用来自“小豆子一年级”的评论

请问RGB流和深度流是怎么显示出来的呀54

引用来自“地瓜儿”的评论

unity 不是有相关的texture2d这样的控件类。都是可以显示的
还在摸索中,人物骨骼绑定已经实现,以后有什么问题还要向大神请教呀
地瓜儿
地瓜儿

引用来自“小豆子一年级”的评论

请问RGB流和深度流是怎么显示出来的呀54
unity 不是有相关的texture2d这样的控件类。都是可以显示的
小豆子一年级
小豆子一年级
请问RGB流和深度流是怎么显示出来的呀54
小豆子一年级
小豆子一年级
最近才学习kinect和unity交互的体感游戏,大神能不能给我分享下代码给我54qq:407424525
zhaoyue112233
zhaoyue112233
大神,能不能共享一下您的代码,让我也学习一下,谢谢,不胜感激。qq330808410。
l
liusu111
我的邮箱是365206763@qq.com
l
liusu111
地瓜儿老师能把你写的dll给我吗?不胜感激地瓜老师!!!
kingsduo
kingsduo
请问我出现了“The name `GetJointPos' does not exist in the current context”这个问题怎么办。包里没找到这个函数
地瓜儿
地瓜儿

引用来自“赵逸君”的评论

o(╯□╰)o代码盲问大神一个问题···这段代码是另写一个脚本绑定还是加在哪个脚本里面?“setHeroState添加到Updata函数”是什么意思,是要写一个调用么?
这段代码放到updata函数,然后将其脚本 拖拽到人物模型即可
体感Kinect结合Unity3D引擎开发虚拟现实AR

2015年的第一场源创会,由 @爱吃鱼的猫大哥 做了一篇虚拟现实—我们能做的其实很多的猪蹄,主要介绍了增强现实框架-MetaioSDK开发包,我想大家对于这个主题肯定吃的还不够过瘾,那么今天就在...

地瓜儿
2015/03/06
0
45
Kinect结合Unity3D引擎开发体感游戏(一)

1.卡耐基梅隆的kinectWrapper.unitypackage; 2.OpenNI官方提供的OpenNIUnityToolkit-0.9.7.4.unitypackage(现在官方不提供更新与支持了,支持的版本unity3.4,在往上版本会出现很多问题,需...

地瓜儿
2013/09/16
0
34
有關Kinect结合Unity3D引擎开发体感游戏(二)

@地瓜儿 你好,想跟你请教个问题: 依照您定義的我建立kinectMoving.cs Kinect结合Unity3D引擎开发体感游戏(二) 我建立一個terrain的scene, 拉入一個Hierarchy組件(如cubes, 內包含階層cub...

Treesun
2014/08/22
292
1
Kinect结合Unity3D引擎开发体感游戏(一)如果我想换个人物模型我该怎么做。

@地瓜儿 你好,想跟你请教个问题: Kinect结合Unity3D引擎开发体感游戏(一)如果我想换个人物模型我该怎么做。谢谢您!希望您看到了能回复下。

liusu111
2015/06/27
647
1
我不是九爷 带了解 Unity3D与VR虚拟现实

  对于大多数人来说,可能不知道Unity3D是什么,但是却知道VR虚拟现实是什么,更不会把VR虚拟现实和Unity3D联系在一起,外行的人根本不知道这两者之间有什么关系。那么,今天来给你讲解一下...

李伟铭k
07/09
0
0
关于Kinect结合Unity3D引擎开发体感游戏(一)的问题

@地瓜儿 你好,想跟你请教个问题:我按照你写的 Kinect结合Unity3D引擎开发体感游戏(一) 的作法之后运行的时候左下角出现了个这DllNotFoundException: C:Program Files (x86)Microsoft Re...

追忆小郭
2014/03/05
969
1
引领前沿科技-Unite Beijing 2018核心主题抢先知

5月11日-13日,Unite Beijing 2018大会将于北京国家会议中心举办!作为开发者的年度盛会,我们将邀请来自全球的Unity技术达人和行业精英,为大家带来超过70场主题多元的技术课程,包括聚焦U...

weixin_41849687
04/20
0
0
Unite Beijing 2015大型活动

记得,上次在北京参加大型活动还是2008年前–传统电信行业的巅峰时期;那时移动互联网、Android、IOS还是萌芽状态。 七年过去了,IT行业翻天覆地的巨大变化,传统电信行业在慢慢的陨落,与此...

润物互动技术团队博客
2015/04/22
0
1
3D 引擎 Unity 2018.1 正式发布,增添 330 余项改进

流行的游戏开发引擎 Unity 近期获得了重大更新,带来了一系列很酷且惊人的新功能。新版 Unity 2018.1 于 2018 年 5 月 2 日发布,旨在让游戏开发者的生活变得更加轻松,并帮助他们快速制作出...

局长
05/07
0
6
8个最受欢迎的移动跨平台开发引擎

针对不同平台以及跨平台工具的特性,结合对国内外开发者的调查结果,笔者综合评选了8个最受欢迎的引擎或框架,以协助跨平台开发者提高编程效率。 1. Cocos2d-x Cocos2d是一个开源框架,用于构...

冯京宝
2012/07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JAVA知识点随心记

1.Switch case具体的支持类型? Q:支持byte、short、char、int基本类型,枚举类型和String类型(JDK7以上支持),四种基本类型的包装类型也支持,但是原因在于触发了自动拆箱,将包装类型拆成了基本...

勤奋的蚂蚁
13分钟前
0
0
NoSQL

一、NoSQL介绍 NoSQL属于非关系型数据,mysql属于关系型数据库。 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当数据量非常大的时候...

人在艹木中
18分钟前
0
0
第17章MySQL主从配置

mysql安装总结 mysql主从准备工作: 准备两台机器,每台机器安装msyql服务,并启动mysql服务 mysql详细安装 1.首先下载二进制免编译的包,下载到/usr/local/src/目录下 2.解压压缩包 3.解压完...

Linux学习笔记
21分钟前
0
0
Redis高可用及分片集群

一、主从复制 使用异步复制 一个服务器可以有多个从服务器 从服务器也可以有自己的从服务器 复制功能不会阻塞主服务器 可以通过服务功能来上主服务器免于持久化操作,由从服务器去执行持久化...

Java大蜗牛
25分钟前
0
0
前端面试题汇总

最近在复习,准备找工作了,特此总结一下前端的相关知识。 1.获取浏览器URL中查询字符的参数: function getQuery(name){    var reg = new RegExp("(^|&)"+name+"=([^&]*)"(&|$));...

凛冬来袭
59分钟前
0
0
可持续发展的学习道路

与其要求别人,不如提升自己 内心渴望进步 经常做出改变现有模式,不断学习 寻找资源,整合资源,不断熟练这种模式 渠道很重要 先打开新世界的航路

狮子狗
今天
0
0
apollox-lua开源项目 示例codepen2

今天在示例上增加了几个功能, 首先添加js array的标准库。 所有js array的方法目前都支持了。 添加查看code模式。 点击查看code可以看到生成的lua代码。默认web模式需要把标准库连接进来, ...

钟元OSS
今天
0
0
javascript性能优化之避免重复工作

javascript最重要也最根本的性能优化标准之一是避免工作,避免工作又包括两点,第一,不做不必要的工作,第二,不做重复的已经完成的工作。第一部分可以通过代码重构完成,第二部分不做重复的...

老韭菜
今天
0
0
缓存穿透、并发和雪崩那些事

0 题记 缓存穿透、缓存并发和缓存雪崩是常见的由于并发量大而导致的缓存问题,本文讲解其产生原因和解决方案。 缓存穿透通常是由恶意攻击或者无意造成的;缓存并发是由设计不足造成的;缓存雪...

Java填坑之路
今天
1
0
项目jar包管理构建工具---Maven

一、what is Maven? 我们来寻找一下官网,里面介绍了maven到底是什么?下面一句话就有讲解到:Apache Maven is a software project management and comprehension tool. Based on the conc...

一看就喷亏的小猿
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部