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)和次世代型 ...
随机推荐
- Python字符串类型判断错误
Python里面常用的字符串类型有str和unicode,如果要判断一个对象的类型,最好用basestring,否则可能会判断错误: str1 = "hello" str2 = u ...
- (二)初识NumPy库(数组的操作和运算)
本章主要介绍的是ndarray数组的操作和运算! 一. ndarray数组的操作: 操作是指对数组的索引和切片.索引是指获取数组中特定位置元素的过程:切片是指获取数组中元素子集的过程. 1.一维数组的 ...
- nyoj 39-水仙花数
39-水仙花数 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:35 submit:70 题目描述: 请判断一个数是不是水仙花数. 其中水仙花数定义各 ...
- 微服务架构 - Jimu(积木) 升级 1.0.0 支持 .Net Core 3.0
如果不知道 Jimu(积木) 是啥,请移步 .Net Core 分布式微服务框架介绍 - Jimu 这次升级除了支持 .Net Core 3.0 还新增部分功能,如 REST, 链路跟踪等,以下为详细 ...
- js对象的sessionStorage,判断对象相等,判断是否包含某属性
一,storage storage只能存储字符串的数据,对于JS中常用的数组或对象却不能直接存储 因此需要借JSON进行类型转化来存储: let obj = { name:'Jim' } sessio ...
- Ubuntu网络network eth0配置 | ubuntu network configuration
本文首发于个人博客https://kezunlin.me/post/5076bc45/,欢迎阅读! ubuntu network configuration Guide network proxy S ...
- react create-react-app使用less 及关闭eslint
使用less和关闭eslint都需要先运行命令 npm run eject 来暴露配置文件,(不可逆的) 一.less使用 运行命令安装less npm install less less-load ...
- PHP+Redis实现延迟任务,实现自动取消与完成订单
简单定时任务解决方案:使用redis的keyspace notifications(键失效后通知事件) : (A)业务场景: 1.当一个业务触发以后需要启动一个定时任务,在指定时间内再去执行一个任务( ...
- NLP 语义相似度计算 整理总结
更新中 最近更新时间: 2019-12-02 16:11:11 写在前面: 本人是喜欢这个方向的学生一枚,写文的目的意在记录自己所学,梳理自己的思路,同时share给在这个方向上一起努力的同学.写得不 ...
- 在 Kubernetes 集群快速部署 KubeSphere 容器平台
KubeSphere 不仅支持部署在 Linux 之上,还支持在已有 Kubernetes 集群之上部署 KubeSphere,自动纳管 Kubernetes 集群的已有资源与容器. 前提条件 Kub ...