Kinect和U3d结合开发基础之基本的动作识别

本文总结了作者使用Unity3D和Kinect进行姿势识别开发的经验。通过KinectWrapper获取骨骼数据,基于KinectModelControllerV2脚本进行开发,实现简单动作的检测,如右臂水平抬起,主要通过判断关节位置和角度关系来识别。在Unity3D中,通过调整GUI显示,实现了根据玩家动作显示相应菜单的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

回顾一个月来所学,感觉并没有掌握很多新知识,U3d也只是会简单的搭建场景,地形,天空盒,灯光,然后放个人物模型进去,Kinect也只是把CMU的KinectWrapper导入场景,然后在原本获得的骨骼数据上进行开发,对KinectWrapper的脚本也并非很了解,大致知道什么功能,具体的实现也没细看,KinectModelControllerV2和KinectPointerController的具体实现也一知半解,数据的流向,处理也没有一个整体的概念,总言之,就是用也不怎么会,更别提懂得原理。

总该写点什么,总结一下一周的学习,这一周,大概就是在KinectModelControllerV2脚本的基础上进行开发了吧。由于不太了解获取的骨骼数据到底怎么和场景里人物模型数据匹配的,所以只能在KinectModelControllerV2脚本里,利用里面的各个骨骼变量进行开发。

姿势识别,一开始以为很复杂,但是上网搜了一下基本的动作识别用一两个if条件判断一下就可以。

以右臂水平抬起为例,如果想检测玩家的右臂是否水平抬起,个人用的方法是,检测肩部节点和肘节点以及手腕节点是否在一条直线上(我用的是肩肘矢量与肘腕矢量的夹角是否等于180度或者和180度的差值不大于某一特定值),如果是在一条直线上

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值