<div overflow:hidden;"="" style="word-wrap: break-word; margin: 0px; padding: 0px; position: relative;">
最近需要学习Unity3D和Kinect交互进行开发。查阅网上的资料,一直没有找到详尽而又简单的方案。今天终于摸索出来在Unity3D中使用Kinect的方法,特此做个笔记。 一、Unity和Kinect交互的环境配置我所使用的Unity3D的版本是Unity3.5,使用的Kinect SDK版本是SDK1.6,令Kinect和Unity交互的方法是使用CMU的封装,但是这个方法支持的Kinect SDK版本是SDK1.0,要想使用1.5或1.6版本的kinect SDK,就要做一些相应的修改。完整的方案如下: 1、安装Uinty3D我使用的Unity3D版本是3.5,也可以在Unity3D官网上下载free版本的Unity。 2、安装Kinect SDK我使用的SDK版本是1.6,可以在Kinect for Windows官方网站上下载。 3、安装Kinect Wrapper Package for Unity3D这个就是CMU封装的用于Kinect开发的Unity3D导入包了。以后在Unity3D工程中,如果需要使用和kinect交互,那么就需要在这个工程中导入这个包。点击这里下载KinectWrapperPackage。 4、运行示例工程在CMU提供的KinectWrapperPackage包中,已经包含了一个叫做KinectExample.untiy的Unity示例工程。在工程中导入KinectWrapperPackage包之后,在Unity的project面板上找到Scences->KinectExample,双击就可以打开这个示例工程。 或者是单独下载CMU提供的示例工程:newKinect,这个示例工程和导入的包中包含的示例工程是一样的。 打开示例工程后,在Hierarchy面板中,可以看到这些内容: 5、修改导入包中的相关文件CMU提供的unity导入包支持的kinect SDK版本是1.0,如果想使用其他版本的SDK,就要下载并替换导入包中的一些文件。具体来说就是KinectInterop.cs和KinectSensor.cs这两个文件。 点击这里下载适用于Kinect SDK1.6版本的替换文件。 下载完成之后,将下载之后的文件替换掉上面面板中所标识的这两个文件就可以了。然后就可以运行示例工程,体验在unity创建的场景中使用kinect控制人物模型及小球的运动。 使用修改后的导入包如果你觉得每次导入资源包,然后再修改两个文件实在麻烦,我已经将修改后的资源包导出。以后在每次开发工程时,只需要导入这个修改之后的资源包就行了。 点击这里下载适用于Kinect SDK1.6的资源包。 二、用于kinect开发的包中包含的资源用于kinect开发的包中(Kinect Wrapper Package for Unity3D)包含了所有我们开发unity+kinect需要用到的脚本。 导入包之后,所有我们需要的资源都会出现在project面板中,具体来说是以下的一些资源: Scenes
Prefabs
Kinect
Models and Materials
三、在自己的工程中使用KinectWrapperPackage包要想在自己的工程中,使用KinectWrapperPackage包来达到unity3d和kinect交互。首先需要导入这个包到unity中,然后经过下面的步骤完成交互。 1、设置Kinect_Prefab前面提到过了,如果在Unity中和Kinect交互,Kinect_Prefab这个游戏物体是必不可少的。 这个物体需要存在于你的场景中的某处。并且在KinectWrapper 脚本中调用了DontDestroyOnLoad这个函数,所以当你切换场景时,它仍旧存在着,因此你不必在每个场景中都实例一个Kinect_Prefab。 在Unity中,将project面板中的Kinect_Prefab直接拖拽到Hierarchy面板就可以了。 2、控制游戏中的角色为了控制场景中的角色的移动,你需要将KinectModelControllerV2这个脚本拖拽到场景中的模型上,并绑定骨骼;或者你为了控制一系列的游戏物体,你需要将KinectPointController拖拽这些物体上。下面分别说明这个脚本的使用。 模型控制器:KinectModelControllerV2为使用模型控制器,请按照以下步骤:
例如示例程序中骨骼和变量的对应关系如下:
一系列点的控制器:
KinectPointController
为了使用该控制器控制一系列的点,请遵从下面几步:
示例程序中,不同的物体和变量的对应关系如下: 仔细研究包中自带的例子,很容易就明白如何在Unity中结合Kinect开发了。 原文链接:guzhou.me |
Unity3D学习:结合Kinect进行游戏开发
最新推荐文章于 2022-07-23 17:31:40 发布