Unityforkinect的开发教程
安装Microsoft Kinect SDK
由于这套驱动程序是由Microsoft⽀持的,安装程序相对⽐较容易 - 您只需下载SDK安装程序包并按照屏幕上的提⽰操作即可。
下载并安装SDK
注意:安装前请确保Kinect未连接到本机。
1. 从下载SDK和Toolkit
2. 运⾏安装程序并按照屏幕提⽰进⾏操作。
3. 安装程序完成后,将Kinect连接到计算机。
4. 随意运⾏Sample Skeletal Viewer以确保Kinect功能正常。
Kinect与unity结合
请注意:即使您的机器没有连接Kinect,建议您将驱动程序安装在正在开发的机器上。
为了利⽤刚刚安装的驱动程序,您只需要在项⽬中使⽤提供的脚本。
幸运的是,在这个页⾯上提供的Unity包将为您安装所有必需的资产。检查下⼀节,了解如何安装和使⽤它!
将Kinect SDK载⼊Unity
安装Unity包
预先构建的Unity包()包括开始运⾏您的世界所需的所有脚本。
要安装,只需导⼊包,并且所有必需的资产将显⽰在您的项⽬中。
包装中包含以下项⽬:
场景
KinectSample - 此场景向您展⽰如何通过将Kinect放置在每个⾻骼上的⾻骼上以及如何使⽤kinect控制模型来⽣成/跟踪⾻架。使⽤它来了解Kinect的能⼒。它还显⽰如何准备您的GameObjects
预制体
Kinect_Prefab - 此预制具有⼀个空节点,其中包含您的世界开始使⽤Kinect的所有必需脚本 - 这不包括控制器,您需要⽤它来实际控制模型。见设置
KinectPointMan - 这个预制显⽰了KinectPointController如何⼯作。
Kinect
KinectModelControllerV2 - 这是您将要附加到您想要操作的模型的脚本 - 将要控制的每个⾻骼拖放到相应的插槽中,并确定哪个播放器控制哪个模型。
KinectPointController - 此脚本将将您定义的GameObjects放置在由Kinect跟踪的点上,⽣成⼀个⾻架。起始场景附有⼀个如何看待/应该做的例⼦。
DisplayDepth - 此脚本将获取深度图像。将其附加到具有渲染器的游戏对象。注意:统⼀,您需要在运⾏您的世界后每次重新启动统⼀,否则此脚本将⽆法正常⼯作(由于SDK问题)。
DisplayColor - 此脚本将获取RGB图像。将其附加到具有渲染器的游戏对象。注意:统⼀,您需要在运⾏您的世界后每次重新启动统⼀,否则此脚本将⽆法正常⼯作(由于SDK问题)。
KinectRecorder - 此脚本将记录您的运动和输出模拟器的播放⽂件。
KinectEmulator - 此脚本将作为虚拟Kinect。它适⽤于播放⽂件。现在,它只是模拟⾻架数据。
KinectSensor - 该脚本从Physect Kinect获取数据。
DeviceOrEmulator - 此脚本设置是否使⽤物理Kinect或仿真器。
SkeletonWrapper - 此脚本抓取⾻架数据。
DepthWrapper - 该脚本抓取深度图像数据。
KinectInterop - 该脚本从Microsoft Kinect SDK获取数据。
录⾳/播放默认 - 这是模拟器的默认播放⽂件。不要删除此⽂件。
模型和材料
rainbowMan
这是⼀个⽰例模型,可⽤于测试/学习如何使⽤包装器。您可以将KinectModelControllerV2脚本拖放到此模型上,并附加⾻
骼并⽴即开始测试。
使⽤脚本
导⼊资产包后,您可以使⽤KinectExample来测试并熟悉KinectPointController和KinectModelControllerV2。您可以使⽤此作为您的基础场景,或者您可以将适当的GameObjects拖动到⼀个新场景中。
设置Kinect_Prefab
如前所述,Kinect_Prefab GameObject需要与Unity进⾏通话/使⽤Kinect。这个空对象需要存在于你场景的某处。但是,如果您正在切换场景,则会因为KinectWrapper脚本中的DontDestroyOnLoad调⽤⽽持续存在,因此您不需要在每个场景中实例化⼀个新的
Kinect_Prefab。
为了从Kinect得到最好的使⽤,您可能需要调整Kinect_Prefab对象本⾝中的某些设置 - 以下是每个选项的细⽬。
设备或仿真器
使⽤模拟器 - 检查这个来使⽤仿真器。
Kinect传感器
注意:请勿⼿动启⽤此脚本,它由DeviceOrEmulator控制。
传感器⾼度 - 传感器离地⾯多⾼(以⽶为单位)。
Kinect中⼼ - 这告诉Kinect它应该在哪⾥寻它的0,0,0点(相对于传感器下⾯的地⾯)。默认值很好。
看看 - 告诉Kinect如何使⽤电机控制来定向相机。
注意:以下值允许您平滑⾻架数据。通常默认值⼯作正常。不要更改它们,除⾮您到项⽬的魔术数字。
平滑 - 默认值0.5。
校正 - 默认值0.5。
预测 - 默认值0.5。
抖动半径 - 默认值0.05。
最⼤偏差半径 - 默认值0.04。
Kinect仿真器
注意:
1. 请勿⼿动启⽤此脚本,它由DeviceOrEmulator控制。
2. 如果您处于模拟器模式,它将⾃动播放播放默认⽂件。
3. 按F12播放路径输⼊⽂件的⽂件。再次按F12切换回。
输⼊⽂件 - 为仿真器录制的⽂件。默认值为“Assets / Kinect / Recordings / playback0”。
传感器⾼度 - 传感器离地⾯多⾼(以⽶为单位)。
Kinect中⼼ - 这告诉Kinect它应该在哪⾥寻它的0,0,0点(相对于传感器下⾯的地⾯)。默认值很好。
看看 - 告诉Kinect如何使⽤电机控制来定向相机。
Kinect记录仪
注意:
1. 按F10开始录制,再次按F10停⽌。
2. 您可以在⼀次运⾏中记录多个⽂件。
3. 录制⽂件将按照输出⽂件确定的⽂件夹顺序创建。默认值为“Assets / Kinect / Recordings / playback”,所以⼀次运⾏中的录制
⽂件将被命名为“playback0”,“playback1”等。
unity 教程4. 录⾳机将覆盖现有⽂件。记得在再次运⾏你的世界并进⾏录⾳之前将你的⽂件保存到另⼀个⽂件夹; 或者您可以更改输出⽂件的值以将
新⽂件保存到另⼀个位置。
输出⽂件 - 录制⽂件将在哪⾥。默认值为“资产/ Kinect /录⾳/播放”。
控制你的⼈物
简单地说,为了让你的⾓⾊移动,您需要⾸先附加KinectModelControllerV2来控制模型的⾻骼,或者KinectPointController来控制⼀系列GameObjects。
NewModelController
要进⾏设置,请执⾏以下操作:
1. 将KinectModelControllerV2脚本拖动到您的模型。
2. 选择模型,并到Sw变量(代表Skeleton Wrapper)。将您的CURRENT SCENE的 Kinect_Prefab拖动到此变量中。这给我们指
向主更新脚本的指针。
3. 现在,充分展开您的模型,以便每个⾻骼在层次结构中可见。
4. ⼀个接⼀个地把你要控制的每个⾻骼拖到适当的变量上。确保双重检查⾻骼,因为它很容易放置不正确。
5. 放置所有⾻骼后,设置应该控制此模型的播放器。0是玩家,1是玩家2。
6. 接下来,确定是否要使整个⾻架受到Kinect(或只是某些部分)的影响,并设置相应的掩码。如果你没有看到你想要的,写⾃⼰的!
7. 如果您打算在播放器控制时对模型进⾏动画处理,请设置“动画”标志,并确定动画和Kinect之间应该发⽣多少混合 - 这是从0到1的
范围。
KinectPointController
要进⾏设置,请执⾏以下操作:
1. 创建⼀个空对象来存储要控制的每个对象。
2. 将每个对象都放⼊此空节点,并将它们全部放在同⼀位置。
3. 将KinectPointController连接到⽗节点。
4. 选择⽗节点,到Sw变量(代表Skeleton Wrapper)。将您的CURRENT SCENE的 Kinect_Prefab拖动到此变量中。这给我们指
向主更新脚本的指针。
5. 将要控制的每个对象拖到适当的变量中。
6. 设置播放器号码(0 =播放器⼀,1 =播放器⼆)和⾯具。
有关如何运⾏的⽰例,请查看包中提供的KinectExample。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。