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. [LC]235题 二叉搜索树的最近公共祖先 (树)(递归)

    ①题目 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p.q 的祖先 ...

  2. error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

    用Python打开图像始终提示错误 error: OpenCV(4.1.1) C:\projects\opencv-python\opencv\modules\highgui\src\window.c ...

  3. 20191017-6alpha week 2/2 Scrum立会报告+燃尽图 05

    此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9802 一.小组情况 队名:扛把子 组长:迟俊文 组员:宋晓丽 梁梦瑶 韩昊 ...

  4. Linux虚拟机扩容根分区CentOs6.9 VMware14

    1.首先关闭虚拟机点击编辑虚拟机设置 2.点击想要扩容的硬盘点击扩容 3.增加容量 输入想增加的容量,因为我本身是30G写到35G是加了5G不是增加30G.(此处为了演示只增加5G) 4.开启虚拟机 ...

  5. Stream系列(六)Match方法使用

    条件比配 视频讲解 https://www.bilibili.com/video/av77403655/ EmployeeTestCase.java package com.example.demo; ...

  6. day 12 函数名的应用 闭包 迭代器

    今日主要内容 1, 函数名的应用,第一类对象 函数名可以像变量一样进行使用   #再函数名后面添加() 才是对函数的调用, 否则打印的是函数的内存地址 1.赋值 2.作为list元素 3.作为参数 d ...

  7. Scala函数式编程(四)函数式的数据结构 上

    这次来说说函数式的数据结构是什么样子的,本章会先用一个list来举例子说明,最后给出一个Tree数据结构的练习,放在公众号里面,练习里面给出了基本的结构,但代码是空缺的需要补上,此外还有预留的test ...

  8. VS #region

    1.C# 预处理指令 #region使您得以在使用Visual Studio代码编辑器的大纲显示功能时指定可展开或折叠的代码块.    #region   name    其中:name      希 ...

  9. Oracle SQL command slash

    We know that there is "commit" in oracle to submit all data in the session and used very c ...

  10. ASI和AFN的区别

    ASI总结 发送请求的2个对象 1.发送GET请求 ASIHttpRequest 2.发送POST请求 ASIFormDataRequest 二发送请求 1.同步请求 startSynchronous ...