两个参考地址:
我使用的是unity3D 4.X,kinect SDK为1.7,Kinect1.7UnityPackage.unitypackage(插件包)
- KinectModelControllerV2 - 你需要将这个脚本拖放到你想要应用kinect控制的模型上。为了让模型能够跟上人的节奏,你需要将模型上控制模型动作的关键骨骼拖放到这个脚本暴漏的合 适的变量中 ,也就是将模型中的骨骼与kincet识别到的人的骨骼绑定起来。另外这个脚本暴漏的变量中,还有一个变量时标识模型是受哪个玩家控制。
模型控制器:KinectModelControllerV2
为使用模型控制器,请按照以下步骤:
- 拖拽脚本资源KinectModelControllerV2到场景中的模型中。
- 选择场景中的模型。找到模型中的暴漏变量Sw(它代表Skeleton Wrapper). 并将当前场景中的Kinect_Prefab拖拽给Sw这个变量。
- 详细展开你的模型,让模型的每一块骨骼在hierarchy面板中可见。
- 一个接一个地把模型中的骨骼拖拽到脚本中暴漏的对应的变量中.确保每一个骨骼都对应到了正确的变量上。
- 当模型中所有的骨骼都放置好了之后,改变暴漏的Player变量的值,这个变量表明该模型是受哪个玩家控制, 0代表第一个玩家,1 代表第二个玩家。
- 接下来要设置暴漏的Mask变量的值。设置合适的值,以决定是所有的骨骼都受Kinect控制,还是仅仅一部分骨骼受Kinect控制.如果这些 受Kinect控制的骨骼都不是你想要的,你可以自己写一个控制模型的脚本来代替KinectModelControllerV2。
- 当游戏玩家在控制模型时,如果你想要该模型同时播放自带的动画,那么你需要在暴漏的变量中选中animated选项,并设置BlendWeight变量的值,来决定模型受自带模型动画和Kinect驱动动作的最终混合效果。该变量取值范围为0到1之间。
关于工作内容介绍
主要两大块:1.人物模型骨架的控制;2.图像数据流的显示
在这之前需要完成准备工作,安装好kinectSDK,导入插件到unity。在整个项目运行之前,会运行kinect,检测安装信息,未安装或未连接都有提示
1.先介绍人物骨架控制
1)导入预制体,它包含了所有的你的世界所需要的脚本开始使用Kinect的空节点-这还不包括控制器,那需要使用实际控制