Kinect-v2 Examples with MS-SDK(译文二)
K2-asset提供的脚本组件
K2-asset在KinectScripts文件夹中提供通用脚本组件,并在KinectDemos / 文件夹的相应脚本子文件夹中提供特定于演示的组件。可以在自己的Unity项目中重用所有提供的脚本组件。要重用通用组件,需要将KinectScripts文件夹复制到项目中。为此,请按照下列步骤操作:
- 将文件夹“KinectScripts”从包的资产文件夹复制到项目的资产文件夹。该文件夹包含通用组件,过滤器和接口。
- 将文件夹“资源”从包的资产文件夹复制到项目的资产文件夹。此文件夹包含所有需要的库和资源。可跳过复制不想使用的库(例如32位库或KinectV1库)。
- 将文件夹“标准资产”从包的资产文件夹复制到项目的资产文件夹。它包含Kinect-v2的MS-wrapper类。
要使用演示专用的脚本组件,将相应的脚本复制到Unity项目的脚本子文件夹中。请注意,仍然需要将KinectScripts文件夹复制到项目中,因为始终需要KinectManager,它必须存在于场景中,以便所有其他与Kinect相关的组件正常工作,该文件中包含所有的通用文件,如果不完全确定使用了哪些,最好全部加进来。
资源使用建议
不要直接将unity package包直接导入项目中,包里面囊括了众多示例,个人项目能用上也只有少数,应先在空项目中导入研究,再将需要的导入。
KinectScripts文件夹中脚本最好全部导入进来,除非你确定自己需要的文件。
以下是通用组件的描述和具体说明,需要避免在多场景中使用KinectManager,如果需要使用可参考_Readme文件夹下的“Howto-Use-KinectManager-Across-Multiple-Scenes.pdf”文件。
以下脚本可以去这里查看更详细的描述
| 组件 | 描述 |
|---|---|
| AvatartController | AvatarController是将kinect捕获的用户动作应用到类人模型的组件。 |
| AvatarControllerClassic | AvatarControllerClassic继承自avatarcontroller组件,允许手动将模型的关节映射到身体关节,由传感器跟踪。 |
| AvatarScaler | AvatarScaler是根据被跟踪用户的身体尺寸缩放类人模型身体的组件。 |
| BackgroundColorImage | BackgroundColorImage是在GUI纹理上显示彩色摄像机输入的组件,通常用作场景背景。 |
| BackgroundDepthImage | BackgroundDepthImage是在GUI纹理上显示深度相机图像的组件,通常用作场景背景。 |
| BackgroundRemovalManager | BackgroundRemovalManager控制Kinect的背景移除功能,也就是在透明的背景上渲染选中的用户。 |
| FacetrackingManager | FaceTrackingManager是控制跟踪用户头部和面部的组件。 |
| InteractionInputModule | InteractionInputModule是可以作为组件添加到EventSystem 对象中的输入模块组件。与interactionmanager组件相结合,它提供了与Unity UI元素的类似鼠标的交互。 |
| InteractionManager | InteractionManager它控制手游标,并跟踪手交互,其方式是手的握和松。 |
| KinectGestures | kinectgesture用于管理和检测所有由被跟踪用户执行的程序化手势。如果场景中有一个或多个手势监听器,不要忘记添加KinectGestures以便检测用户手势。 |
| KinectManager | KinectManager是与Kinect相关的主要和最基本的组件。它控制传感器并轮询数据流。所有其他组件都依赖于KinectManager组件提供的数据。没有用到的属性建议保持默认,加快数据处理。 |
| KinectRecorderPlayer | KinectRecorderPlayer提供API来记录和回放以前记录的身体框架数据文件。 |
| PortraitBackground | PortraitBackground是组件,添加到彩色背景图像并启用后,将其设置为以纵向模式显示(9:16而不是16:9)。游戏视图的宽高比也应更改为Kinect-v2的9:16或Kinect-v1的3:4。 |
| SpeechManager | SpeechManager是控制Kinect语音识别的组件,提供所需的API以检查检测到的语音命令,并在语音命令被识别时调用场景中的可用语音监听器。 |
| VisualGestureManager | VisualGestureManager是控制视觉(VGB)手势检测的组件。当检测到视觉手势时,它将调用场景中的可用视觉手势侦听器。 |
下面是通用脚本的属性介绍
Avatar Controller (模型控制器)
AvatarController 是将kinect捕获的用户动作传输到类人模型的组件,它是类人模型的组件,需挂载到类人模型上.
| 属性 | 描述 |
|---|---|
| Player Index | 识别到的用户索引。0 就是第一个、1 就是第二个,依次递推 |
| Mirrored Movement | 模型是否背对屏幕(玩家) |
| Vertical Movement | 模型是否允许垂直运动(Y轴) |
| External Root Motion | 模型的根节点可以被其他组件或者脚本控制运动 |
| Finger Orientations | 是否允许应用手指位置。 |
| Move Rate | 模型在场景中移动的速率。 |
| Smooth Factor | 用于模型运动和关节旋转的平滑因子。 |
| Offset Node | 此转换相对于游戏对象(可选)。 |
| Pos Relative to Camera | 如果启用,则使模型相对于此摄像机的位置与玩家到传感器的位置相同。 |
| Pos Rel Overlay Color | 模型的位置是否应与彩色图像匹配(仅在相对于相机模式下)。 |
| Pos Rel Inverted Z | z轴移动是否需要反转(仅正相对模式)。 |
| Grounded Feet | 模型的脚是否必须在地面上。 |
| Apply Muscle Limits | 是否应用类人模型的肌肉限制。 |
| Flip Left Right | 模型是否相对于传感器左右翻转。 |
| Vertical Offset | 模型位置相对于用户脊柱基础位置的垂直偏移。 |
| Forward Offset | 模型位置相对于用户脊柱基础位置的Z轴偏移。 |
Face-Tracking Manager(面部追踪管理)
FaceTrackingManager是控制被跟踪用户头部和面部跟踪的组件。
| 属性 | 描述 |
|---|---|
| Player Index | 识别到的用户索引。0 就是第一个、1 就是第二个,依次递推 |
| Get Face Model Data | 是否轮询HD(高清)脸部模型数据。 |
| Display Face Rect | 是否在彩色照相机源上显示面部矩形。 |
| Face Tracking Tolerance | 等待时间(以秒为单位),这时可能跟踪不到脸部但不考虑脸部丢失的情况。 |
| Face Model Mesh | 用于在场景中显示HD脸部模型网格的游戏对象。 |
| Pause Model Mesh Updates | 是否暂停更新HD-face模型网格。 |
| Textured Model Mesh | HD-face模型网格应如何纹理化。 |
| Move Model Mesh | 是否根据用户的头部位置移动面部模型网格。 |
| Foreground Camera | 相机用于将面部网格覆盖在彩色背景上。 |
| Model Mesh Scale | 面网格的比例因子。 |
| Vertical Mesh Offset | 头部上方的网格的垂直偏移(以米为单位)。 |
| Debug Text | 用于显示FT管理器调试消息的GUI文本。 |
Kinect Gestures (手势姿势识别)
kinectgesture用于管理和检测所有由被跟踪用户执行的预定义(程序化)手势。如果场景中有一个或多个手势监听器,不要忘记添加KinectGestures以便检测用户手势。
Kinect Manager(基础组件)
KinectManager是与Kinect相关的主要和最基本的组件。它控制传感器并轮询数据流。所有其他组件都依赖于KinectManager组件提供的数据。**没有用到的属性建议保持默认,加快数据处理。

| 属性 | 描述 |
|---|---|
| Sensor Height | 传感器距离地面高度(单位:米) |
| Sensor Angle | Kinect仰角(角度),可正负。 |
| Auto Height Angle | 是否自动设置传感器高度和角度。用户必须站在传感器的前面,以便自动检测。 |
| Compute User Map | 是否使用以及设置用户和深度图像。 |
| Compute Color Map | 是否使用彩色摄像机图像。 |
| Compute Infrared Map | 是否使用红外摄像机图像。 |
| Display User Map | 是否在屏幕上显示用户图像。 |
| Display Color Map | 是否在屏幕上显示彩色摄像机图像。 |
| Display Skeleton Lines | 是否在用户图像上显示骨架线。 |
| Display Maps Width Percent | 屏幕上的深度和彩色图像宽度,以屏幕宽度的百分比表示。根据宽度计算图像高度。 |
| Use Multi Source Reader | 是否使用感应器(仅K2功能)。 |
| Min User Distance | 到用户的最小距离,处理骨架数据时会计算进去。 |
| Max User Distance | 到用户的最大距离,处理骨架数据时会计算进去。值为0表示没有最大距离限制。 |
| Max Left Right Distance | 到用户的最大左或右距离,处理骨架数据时会计算进去。值为0表示没有左右距离限制。 |
| Max Tracked Users | 可以同时跟踪最大用户数(最多6个)。 |
| Show Tracked Users Only | 仅显示允许的距离内的跟踪用户,还是显示所有用户(较高的fps)。 |
| User Detection Order | 根据用户出现的顺序,如何为用户分配玩家索引:距离或从左到右的顺序。 |
| Ignore Inferred Joints | 是否仅使用真正跟踪的关节(并忽略推断的关节) |
| Ignore Z-Coordinates | 是否忽略关节的Z坐标(即在2D场景中使用)。 |
| Late Update Avatars | 是否在LateUpdate()中而不是在Update()中更新AvatarControllers。适用于需要混合Mecanim动画的模型。 |
| Skip Remote Avatars | 在多人游戏中是否跳过远程的模型控制器? |
| Smoothing | 设置关节平滑参数。 |
| Use Bone Orientation Constraints | 是否应用骨骼方向约束。 |
| Estimate Joint Velocities | 是否估计人体关节的速度。 |
| Velocity Smoothing | 设置关节速度平滑参数。 |
| Allow Turn-Arounds | 是否允许检测身体的侧转。 |
| Allowed Hand Rotations | 允许的手腕和手部旋转:None-不允许手部旋转,Default-允许除扭曲以外的手部旋转,All-允许所有旋转。 |
| Wait-Time Before Remove | 丢失的用户被删除之前的等待时间(以秒为单位)。这是为了防止偶尔的用户切换。用户离开区域,会被删记录的ID |
| Avatar Controllers | 场景中的模型控制器列表。如果列表为空,则在场景启动时检测到可用的模型给控制器。 |
| Player Calibration Pose | 需要校准姿势,以打开相应播放器的跟踪。 |
| Player Common Gestures | 每个玩家检测的常见手势列表。 |
| Min-Time Between Gestures | 手势检测之间的最短时间(以秒为单位)。 |
| Gesture Manager | 手势管理器,用于检测设定好的Kinect手势。 |
| Gesture Listeners | 场景中手势侦听器列表。如果列表为空,则在场景启动时将检测到可用的手势侦听器。 |
| Calibration Text | 用于显示用户检测消息的GUI文本。 |
| Gestures Debug Text | 显示当前跟踪手势的调试消息的GUI文本。 |
Kinect-v2 Examples with MS-SDK(译文二)的更多相关文章
- 【计算机视觉】深度相机(五)--Kinect v2.0
原文:http://blog.csdn.NET/qq1175421841/article/details/50412994 ----微软Build2012大会:Kinect for Windows P ...
- 【翻译】Kinect v1和Kinect v2的彻底比较
本连载主要是比较Kinect for Windows的现行版(v1)和次世代型的开发者预览版(v2),以C++开发者为背景介绍进化的硬件和软件.本文主要是对传感的配置和运行条件进行彻底的比较. ...
- Kinect v2.0 for windows开发环境说明
官方文档里是这些: Supported Operating Systems and Architectures The following operating systems and architec ...
- 【翻译】Kinect v2程序设计(C++-) AudioBeam篇
Kinect v2,Microphone Array可以用来对于水平面音源方向的推测(AudioBeam)和语音识别(Speech Recognition).这一节是介绍如何取得AudioBeam. ...
- 【翻译】Kinect Studio是? 三月 SDK Update的新机能
Kinect应用软件开发支援工具「Kinect Studio」的功能和用法的说明.由于可以记录/再生数据,让开发和调试变得更加简单. Kinect SDK v2预览版的RTM版的预定在发布之前 ...
- 【翻译】Kinect v2程序设计(C++) Body 篇
Kinect SDK v2预览版的主要功能的使用介绍,基本上完成了.这次,是关于取得Body(人体姿势)方法的说明. 上一节,是使用Kinect SDK v2预览版从Kinect v2预览版取得B ...
- 【翻译】Kinect v2程序设计(C++) BodyIndex篇
通过Kinect SDK v2预览版,取得BodyIndex(人体区域)的方法和示例代码. 上一节,介绍了从Kinect v2预览版用Kinect SDK v2预览版获取Depth数据的方法. 这 ...
- 【翻译】Kinect v2程序设计(C++) Depth编
Kinect SDK v2预览版,取得Depth数据的方法说明. 上一节,介绍了通过使用Kinect for Windows SDK v2预览版(以下简称为,Kinect SDK v2预览版)从Kin ...
- 【翻译】Kinect v2程序设计(C++) Color篇
Kinect SDK v2预览版,获取数据的基本流程的说明.以及取得Color图像的示例程序的介绍. 上一节,是关于当前型号Kinect for Windows(后面称作Kinect v1)和次世代型 ...
随机推荐
- DAGScheduler stage 划分算法
DAGScheduler stage 划分算法 stage划分算法很重要,对于spark开发人员来说,必须对stage划分算法很清晰,知道自己编写的spark Application被划分成了几个jo ...
- vue-cli从2升级到3报错error 404 Not Found: @wry/context@^0.4.0
vue3出来了,想尝尝鲜. 于是按官方的方法卸载2安装3. npm uninstall vue-cli -g npm install -g @vue/cli 但是报错了 error 404 Not F ...
- Markdown学习笔记(一)
解决Markdown文件插入图片无法只能本地查看的问题 原因:图片的显示与图片地址关联,写入Markdown时用的本机地址,一旦上传到网络,地址就发生了变化,也就显示不了图片. 寻找免费的图床网站. ...
- Dart Learn Notes 01
关于Dart的几点重要说明 在Dart中所有变量都是一个对象,所有对象都是一个类的实例.每个数字,方法,甚至是Null都是对象.所有的对吸纳更都是集成自Object这个类.(这个说法其实是很像Java ...
- 【Luogu P3834】可持久化线段树(主席树)
Luogu P3834 可持久化数据结构就是支持在历史版本上进行查询和修改操作的数据结构. 主席树就是对线段树的改进,使之可持久化. 前置知识:动态开点线段树 我们利用权值(值域)线段树统计区间内的数 ...
- 做为GPU服务器管理员,当其他用户需要执行某个要root权限的命令时,除了告诉他们root密码,还有没有别的办法?
通常一台GPU服务器(这里指linux系统)不可能只有一个帐号能用的,比如当其他用户想要在GPU服务器上安装一些软件的时候,会需要用到apt-get命令,但是apt-get命令需要root用户的操作权 ...
- 实现自定义的参数解析器——HandlerMethodArgumentResolver
1.为什么需要自己实现参数解析器 我们都知道在有注解的接口方法中加上@RequestBody等注解,springMVC会自动的将消息体等地方的里面参数解析映射到请求的方法参数中. 如果我们想要的信息不 ...
- 2019牛客暑期多校训练营(第九场) E All men are brothers
传送门 知识点:并查集+组合数学 并查集合并操作可以理解为使得两个集合的人互相成为朋友,也就是两个集合并在了一起,答案是要求从所有人中挑出四个互相不是朋友的四个人,比较基础的组合数学知识,但因为每个集 ...
- SpringBoot第一次案例
一.Spring Boot 入门 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 2014,m ...
- Scala函数式编程(四)函数式的数据结构 上
这次来说说函数式的数据结构是什么样子的,本章会先用一个list来举例子说明,最后给出一个Tree数据结构的练习,放在公众号里面,练习里面给出了基本的结构,但代码是空缺的需要补上,此外还有预留的test ...
