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

如何在unity 3d中引用kinect的类库,第1张

目前呢在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程序咯。

SDK 安装

kinect 是输入。类似鼠标 即时动态捕捉、影像辨识、麦克风输入、语音辨识

Kinect 是一组传感器的组合,包含一个彩色摄像头,一对深度摄像头(一个用以发射红

外,一个用以接收) ,一组麦克风阵列和底座马达。

彩色摄像头想必大家都已经很熟悉了。深度摄像头是由红外线提供的,返回画面上每个

点的深度值(离 Kinect 的距离,单位是 mm,标称精度约 5mm) 。麦克风阵列其实是数个水平放置的麦克风,因为彼此间有距离,所以可以识别说话人的方向,借此粗略估计是哪个玩家在说话,便于想象的话可以理解为类似声纳图(声音我们不涉及)。

读取彩色数据流,可以获得一张1080p的图片(1920*1080)

犹如拍照应用

看SDK自带示例

Color Depth D2D 彩色数据流

和许多输入设备不一样,Kinect 能够产生三维数据,它有红外发射器和摄像头。 Kinect SDK 从红外摄像头获取的红外数据后,对其进行计算处理,然后产生景深影像数据。

深度帧数据中,每个像素占 16 位,即每一个像素占 2 个字节。每一个像素的深度值只占用了 16 个位中的 13 个位。

获取每一个像素的距离很容易,但是要直接使用还需要做一些位 *** 作。如上图所示,深度值存储在第 3 至 15 位中,要获取能够直接使用的深度数据需要向右移位,将游戏者索引(Player Index)位移除

看SDK自带示例

Depth Basics-D2D 深度数据流

0.5-4.5米

25个关节点 每个关节点的 3D空间坐标和转向

看SDK自带示例

Body Basics D2D 骨骼数据流

示例:

Color Depth D2D 彩色数据流

Depth Basics-D2D 深度数据流

Coordinate Mapping Basics 扣出人物,置换背景

Body Basics D2D 骨骼数据流


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6797001.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存