KinectModelControllerV2为Kinect联合Unity3D开发的一个开源C#脚本程序,用于调用Kinect驱动提供的接口,在Kinect获取到人体骨架节点的三维坐标信息之后,可以控制Unity3D中的此彩虹骨架,做出与用户一致的肢体动作。可见,在Unity3D与Kinect进行联合开发的时候,可以很好的体现Kinect捕获、处理视频图像信息的空间性,与Visual Studio编写的C#窗口应用程序相比,Unity3D的环境能够很好的体现骨骼节点在三维空间内的运动,能够使开发者更好的理解Kinect的运行机理,同时也为Kinect的应用开发提供更加直观的骨骼节点观察界面。在使用KinectModelControllerV2。cs脚本时,我们需要将此脚本绑定在彩虹骨架上,然后将彩虹骨架中的每一个节点对象,以Unity3D中可视化界面拖拽的方式,赋予脚本中公共游戏对象(public GameObject),即将场景内的骨骼节点模型赋予脚本中的预设骨骼节点对象,从而让脚本实现控制数字骨架的效果。具体的操作如图4-12所示,箭头表示拖拽的过程。

在Unity3D的脚本中,所有的公共游戏对象,都可以在属性栏中看到,并且可以在可视化界面中进行赋值。其赋值的方法就是直接将场景环境中的物体,用鼠标左击拖拽到紧跟在变量名后面的输入框内。

如图4-13、图4-14所示为虚拟抛掷盛接系统的最终界面,当程序运行时,便会得到这样的全屏界面。我将地面设置为网格纹理,其目的是方便观察小球的落点位置。用户站在Kinect设备前,使用右手向前上方较快速地完成抛掷动作,便可以抛出一个小球,木箱模型会根据小球的落点数据,移动到小球的落点位置,将其接住。

目前,抛掷算法可以实现,当用户较为快速的完成右手向前上方抛出物体的动作之后,在虚拟场景中实例化小球,并让小球根据用户的抛掷动作,做抛物运动。盛接算法可以在小球被抛出的时刻计算出小球的落点,并控制木箱移动,使木箱在落点位置等待小球落进木箱。 来-自~优+尔=论.文,网www.youerw.com +QQ752018766-

下图4-13 为程序刚开始运行,用户还没有站在Kinect的摄像头前时的状态。

下图4-14 为程序开始运行,用户已经站在Kinect摄像头前,完成了右手的抛掷动作,并且木箱已经移动到落点位置接住小球的状态

上一篇:Java毕业生招聘及就业信息管理系统的设计+源代码
下一篇:安卓Guider公交查询系统的设计+源代码

于PCI9656设备驱动程序的...

asp.net+sqlserver仪器设备采购...

ASP.NET49.8米渔政船船舶设备考核系统开发

HTML5设备运行可视化仿真在网页中的发布

ASP.NET的49.8m渔政船辅机设...

49.8m渔政船主辅设备安装工...

桌面3D打印设备改造电路打印

麦秸秆还田和沼液灌溉对...

我国风险投资的发展现状问题及对策分析

老年2型糖尿病患者运动疗...

ASP.net+sqlserver企业设备管理系统设计与开发

LiMn1-xFexPO4正极材料合成及充放电性能研究

张洁小说《无字》中的女性意识

网络语言“XX体”研究

互联网教育”变革路径研究进展【7972字】

新課改下小學语文洧效阅...

安康汉江网讯