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)和次世代型 ...
随机推荐
- 力扣(LeetCode)Excel表列名称 个人题解
给定一个正整数,返回它在 Excel 表中相对应的列名称. 例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> ...
- [学习笔记] 在Eclipse中使用Hibernate,并创建第一个工程
在Eclipse中使用Hibernate 安装 Hibernate Tools 插件 https://tools.jboss.org/downloads/ Add the following URL ...
- Centos上通过shell脚本备份数据库
#!/bin/bash ds=`` list=`date +%Y`/`date +%m` dname="callme" eval "mkdir -p $list" ...
- href=”javascript:void(0);
href=”javascript:void(0);”这个的含义是,让超链接去执行一个js函数,而不是去跳转到一个地址,而void(0)表示一个空的方法,也就是不执行js函数. 为什么要使用href=” ...
- 达梦"记录超长"警告
出现"记录超长"背景介绍: 导入数据库时,出现数据库记录超长警告,导致数据无法正常导入! 1.重新建库,把页大小改大 这种方式是在建立数据库实例的时候进行的 修改[页大小] 2.把 ...
- go modules 学习
go modules 学习 tags:golang 安装 只需要golang的版本是1.11及之后的,这个模块就内置好了 环境变量 (1) 配置GoLang的GOROOT (2) 可以不配置GoLan ...
- IDEA用Maven连接MySQL的jdbc驱动,并操作数据库
1.在IDEA里创建Maven项目 1.1.点击Create New Project 1.2.选择Maven,JDK这里用的是1.8,点击Next 1.3.填入“组织名”.“项目名”,版本是默认 ...
- Redis 数据结构
一.Redis简介 Redis是一款基于key-value的高性能NoSQL数据库,开源免费,遵守BSD协议.支持string(字符串) . hash(哈希) .list(列表) . set(集合) ...
- css优先级之important
css优先级之important
- python的Requests库的使用
Requests模块: Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量 ...