Unity Kinect添加自定义姿势识别
Unity Kinect添加自定义姿势识别
- 前言
- 自定义姿势识别
- 添加自定义姿势枚举
- 添加自定义姿势的逻辑
- 创建监听脚本并挂载
- 添加动作监听
前言
文中使用插件为KinectForUnity
百度云 https://pan.baidu.com/s/1dAEhJgXbXL0_ZtQdWd-ATA
提取码 3nsv
如要支持Unity2019或更高需自行升级插件请相关参考 https://blog.csdn.net/a71468293a/article/details/117084439
自定义姿势识别
添加自定义姿势枚举
打开KinectGestures
脚本,找到Gestures
枚举。
添加自己的动作,本文为MoveLeft
。
添加自定义姿势的逻辑
找到CheckForGesture
方法,在switch
中增加以下代码
case Gestures.MoveLeft:switch (gestureData.state){case 0: // gesture detection - phase 1//判断保持直立if (jointsTracked[shoulderCenterIndex] && jointsTracked[hipCenterIndex] &&Mathf.Abs(jointsPos[shoulderCenterIndex].x - jointsPos[hipCenterIndex].x) < 0.1f ){SetGestureJoint(ref gestureData, timestamp, shoulderCenterIndex, jointsPos[shoulderCenterIndex]);gestureData.progress = 0.5f;}break;case 1:// gesture phase 2 = complete 手势阶段2=完成 //timestamp 当前时间 gestureData 为记录参数//gestureData.timestamp 记录时间//当前时间-记录时间 < 1.5s 进行判断,如果超出时间则动作失败if ((timestamp - gestureData.timestamp) < 1.5f){//jointsPos[shoulderCenterIndex].x 是最新数据//gestureData.jointPos.x 是1.5s之前的数据bool isInPose = jointsTracked[shoulderCenterIndex] &&//(jointsPos[shoulderCenterIndex].x - gestureData.jointPos.x) > 0.2f &&(gestureData.jointPos.x - jointsPos[shoulderCenterIndex].x) > 0.2f &&Mathf.Abs(jointsPos[shoulderCenterIndex].y - gestureData.jointPos.y) < 0.1f;if (isInPose){Vector3 jointPos = jointsPos[gestureData.joint];CheckPoseComplete(ref gestureData, timestamp, jointPos, isInPose, 0f);}}else{// cancel the gesture 取消手势SetGestureCancelled(ref gestureData);}break;}break;
创建监听脚本并挂载
创建GestureController
脚本,使其继承自GestureListenerInterface
。
在KinectManager预制体上挂载KinectGestures
脚本与GestureController
脚本。
添加动作监听
在GestureController
中的GestureCompleted
方法内判断动作是否完成。
参考链接: https://lgxtvt.blog.csdn.net/article/details/79952033
Unity Kinect添加自定义姿势识别相关推荐
- Unity + Kinect基本上所有的手势二次封装(一)
下载链接: Unity3D 最新版Kinect v2 Examples with MS-SDK 2.21 体感识别 https://item.taobao.com/item.htm?spm=a21dv ...
- unity接入百度人体识别
unity接入百度人体识别 1.去百度下载SDK 复制AipSdk.dll到工程 复制Newtonsoft.Json.dll到工程 自己按照unity版本,选择2.0,3.5,还是4.0的dll 2. ...
- Unity实现OCR文字识别功能
文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 表格制作excel教程h ...
- 基于openpose的用户姿势识别
基于openpose数据的用户姿势识别 继续上一篇的github项目,继续将他修改成基于openpose数据集的网络结构. 1. 神经网络复习 为了方便读懂神经网络的框架代码和后续的网络按需修改,在这 ...
- Windows 入门 AI 视觉处理 --- 搭建姿势识别应用 之 利用NVIDIA Maxine识别人体姿势
随着AI技术的发展, 数字内容创建业务也变得越来越火热.人脸美化,身材修图,虚拟姿势和背景等功能也让我们的照片视频等数字内容越来越丰富.而在这些功能背后,离不开姿势识别,人脸特征点识别,虚拟背景,现实 ...
- Unity Vuforia 之 AR 识别物体抖动的简单解决思路参考
Unity Vuforia 之 AR 识别物体抖动的简单解决思路参考 目录 一.简单介绍 二.问题 三.简单解决思路 附录:Vuforia SDK 的功能如下 一.简单介绍 目前世界上主流的AR ...
- 在成人影片里做17种姿势识别?大佬在线求助:训练集不够用!
点击上方"迈微AI研习社",选择"星标★"公众号 重磅干货,第一时间送达 转载自:新智元 后台回复"加群"进入-> CV 微信技术交流 ...
- 【计算机视觉40例】案例26:姿势识别
[导读]本文是专栏<计算机视觉40例简介>的第26个案例<姿势识别>.该专栏简要介绍李立宗主编<计算机视觉40例--从入门到深度学习(OpenCV-Python)> ...
- Unity AzureKinect 初识(二) 姿势识别
2021/02/04 插眼更新: 每次需要多识别一个姿势,需要加好多代码,公开bool值给外部调用,这是很不方便的,直接用委托的方式即可,委托绑定的时候最好放在Start()里,不要放在Awake() ...
- kinect dk人体识别与姿势对比
最近在做动作对比的研究 参考了两篇论文<基于 OpenPose 的人体动作识别对比研究> <基于Kinect的康复训练辅助系统设计> 最终初步实现利用角度粗糙的进行动作对比 下 ...
最新文章
- GNN教程:Weisfeiler-Leman算法!
- node exprass安装运行实例
- Java 应用中的日志
- 发票管理软件_财务人员都在用的这款发票管理软件,真的值得购买么?
- spring 标注 详解
- mysq 没有mysql数据库_mysq 没有mysql数据库
- Redis数据库入门基础知识
- 顶级论文创新点怎么找?中国高校首次获CVPR最佳学生论文奖有感
- 深度学习——汉字识别
- Python库——Faker
- 如何开发微信第三方小程序组件
- 使用阿里云创建个人云盘
- element表格左对齐方法
- ASM+LINUX+ORACLE_11G安装
- 原腾讯副总裁,Google资深研究员吴军:ChatGPT不算新技术革命,带不来什么新机会...
- ldpc译码讲解_LDPC码译码方法和编码方法与流程
- 套接字I/O模型-WSAEventSelect
- 全体自然数的和是负十二分之一?
- VC驿站黑客编程(关机,重启,注销)
- 计算机学院毕业生祝福,暖心的毕业祝愿赠言