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)和次世代型 ...
随机推荐
- 手把手教你用netty撸一个ZkClient
原文地址: https://juejin.im/post/5dd296c0e51d4508182449a6 前言 有这个想法的缘由是前一阵子突发奇想, 想尝试能不能直接利用js连接到zookeeper ...
- [springboot 开发单体web shop] 6. 商品分类和轮播广告展示
商品分类&轮播广告 因最近又被困在了OSGI技术POC,更新进度有点慢,希望大家不要怪罪哦. 上节 我们实现了登录之后前端的展示,如: 接着,我们来实现左侧分类栏目的功能. ## 商品分类|P ...
- 【SQL SERVER】2017 Developer 安装教程
官网下载地址:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 1.下载之后双击exe文件,选择基本 自定义都行 2.选择 ...
- 【Error】Maven Dependency 下载失败问题
原文 前言 在使用Maven私服Sonatype Nexus的时候,经常会出现依赖包找不到的问题. 此时通过浏览器去私服页面查看,发现依赖包坐标是存在的,对应的文件(比如jar文件). 或者私服上面也 ...
- nyoj 412 Same binary weight ()
Same binary weight 时间限制:300 ms | 内存限制:65535 KB 难度:3 描述 The binary weight of a positive integer ...
- suseoj 1209: 独立任务最优调度问题(动态规划)
1209: 独立任务最优调度问题 时间限制: 1 Sec 内存限制: 128 MB提交: 3 解决: 2[提交][状态][讨论版][命题人:liyuansong] 题目描述 用2台处理机A和B处理 ...
- python:正则0
Python3 正则表达式特殊符号及用法(详细列表) 正则表达式的强大之处在于特殊符号的应用,特殊符号定义了字符集合.子组匹配.模式重复次数.正是这些特殊符号使得一个正则表达式可以匹配字符串集合而不只 ...
- ES6的基础知识(一)
1.ECMAScript 6.0(以下简称ES6). 2.ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的其中一种实现. 3.对ES6支持的浏览器:超过 90% ...
- echarts绘制彩虹色背景
大致成品如图所示 关键的步骤: var dom = document.getElementById("myChart"); var myChart = echarts.init(d ...
- 什么是PHP Socket?
什么是 Socket? Socket 的中文翻译过来就是“套接字”.套接字是什么,我们先来看看它的英文含义:插座. Socket 就像一个电话插座,负责连通两端的电话,进行点对点通信,让电话可以进行通 ...