K2-asset提供的脚本组件

K2-asset在KinectScripts文件夹中提供通用脚本组件,并在KinectDemos / 文件夹的相应脚本子文件夹中提供特定于演示的组件。可以在自己的Unity项目中重用所有提供的脚本组件。要重用通用组件,需要将KinectScripts文件夹复制到项目中。为此,请按照下列步骤操作:

  1. 将文件夹“KinectScripts”从包的资产文件夹复制到项目的资产文件夹。该文件夹包含通用组件,过滤器和接口。
  2. 将文件夹“资源”从包的资产文件夹复制到项目的资产文件夹。此文件夹包含所有需要的库和资源。可跳过复制不想使用的库(例如32位库或KinectV1库)。
  3. 将文件夹“标准资产”从包的资产文件夹复制到项目的资产文件夹。它包含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(译文二)的更多相关文章

  1. 【计算机视觉】深度相机(五)--Kinect v2.0

    原文:http://blog.csdn.NET/qq1175421841/article/details/50412994 ----微软Build2012大会:Kinect for Windows P ...

  2. 【翻译】Kinect v1和Kinect v2的彻底比较

      本连载主要是比较Kinect for Windows的现行版(v1)和次世代型的开发者预览版(v2),以C++开发者为背景介绍进化的硬件和软件.本文主要是对传感的配置和运行条件进行彻底的比较.   ...

  3. Kinect v2.0 for windows开发环境说明

    官方文档里是这些: Supported Operating Systems and Architectures The following operating systems and architec ...

  4. 【翻译】Kinect v2程序设计(C++-) AudioBeam篇

    Kinect v2,Microphone Array可以用来对于水平面音源方向的推测(AudioBeam)和语音识别(Speech Recognition).这一节是介绍如何取得AudioBeam. ...

  5. 【翻译】Kinect Studio是? 三月 SDK Update的新机能

      Kinect应用软件开发支援工具「Kinect Studio」的功能和用法的说明.由于可以记录/再生数据,让开发和调试变得更加简单.   Kinect SDK v2预览版的RTM版的预定在发布之前 ...

  6. 【翻译】Kinect v2程序设计(C++) Body 篇

    Kinect SDK v2预览版的主要功能的使用介绍,基本上完成了.这次,是关于取得Body(人体姿势)方法的说明.   上一节,是使用Kinect SDK v2预览版从Kinect v2预览版取得B ...

  7. 【翻译】Kinect v2程序设计(C++) BodyIndex篇

    通过Kinect SDK v2预览版,取得BodyIndex(人体区域)的方法和示例代码. 上一节,介绍了从Kinect v2预览版用Kinect SDK v2预览版获取Depth数据的方法.   这 ...

  8. 【翻译】Kinect v2程序设计(C++) Depth编

    Kinect SDK v2预览版,取得Depth数据的方法说明. 上一节,介绍了通过使用Kinect for Windows SDK v2预览版(以下简称为,Kinect SDK v2预览版)从Kin ...

  9. 【翻译】Kinect v2程序设计(C++) Color篇

    Kinect SDK v2预览版,获取数据的基本流程的说明.以及取得Color图像的示例程序的介绍. 上一节,是关于当前型号Kinect for Windows(后面称作Kinect v1)和次世代型 ...

随机推荐

  1. Python字符串类型判断错误

    Python里面常用的字符串类型有str和unicode,如果要判断一个对象的类型,最好用basestring,否则可能会判断错误: str1 = "hello" str2 = u ...

  2. (二)初识NumPy库(数组的操作和运算)

    本章主要介绍的是ndarray数组的操作和运算! 一. ndarray数组的操作: 操作是指对数组的索引和切片.索引是指获取数组中特定位置元素的过程:切片是指获取数组中元素子集的过程. 1.一维数组的 ...

  3. nyoj 39-水仙花数

    39-水仙花数 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:35 submit:70 题目描述: 请判断一个数是不是水仙花数. 其中水仙花数定义各 ...

  4. 微服务架构 - Jimu(积木) 升级 1.0.0 支持 .Net Core 3.0

    如果不知道 Jimu(积木) 是啥,请移步 .Net Core 分布式微服务框架介绍 - Jimu 这次升级除了支持 .Net Core 3.0 还新增部分功能,如 REST, 链路跟踪等,以下为详细 ...

  5. js对象的sessionStorage,判断对象相等,判断是否包含某属性

    一,storage storage只能存储字符串的数据,对于JS中常用的数组或对象却不能直接存储 因此需要借JSON进行类型转化来存储: let obj = { name:'Jim' } sessio ...

  6. Ubuntu网络network eth0配置 | ubuntu network configuration

    本文首发于个人博客https://kezunlin.me/post/5076bc45/,欢迎阅读! ubuntu network configuration Guide network proxy S ...

  7. react create-react-app使用less 及关闭eslint

    使用less和关闭eslint都需要先运行命令 npm run  eject 来暴露配置文件,(不可逆的) 一.less使用 运行命令安装less npm install less less-load ...

  8. PHP+Redis实现延迟任务,实现自动取消与完成订单

    简单定时任务解决方案:使用redis的keyspace notifications(键失效后通知事件) : (A)业务场景: 1.当一个业务触发以后需要启动一个定时任务,在指定时间内再去执行一个任务( ...

  9. NLP 语义相似度计算 整理总结

    更新中 最近更新时间: 2019-12-02 16:11:11 写在前面: 本人是喜欢这个方向的学生一枚,写文的目的意在记录自己所学,梳理自己的思路,同时share给在这个方向上一起努力的同学.写得不 ...

  10. 在 Kubernetes 集群快速部署 KubeSphere 容器平台

    KubeSphere 不仅支持部署在 Linux 之上,还支持在已有 Kubernetes 集群之上部署 KubeSphere,自动纳管 Kubernetes 集群的已有资源与容器. 前提条件 Kub ...