本文主要是介绍基于Mediapipe的姿势识别并同步到Unity人体模型中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如题,由于是商业项目,无法公开源码,这里主要说一下实现此功能的思路。
人体关节点识别
基于Mediapipe Unity插件进行开发,性能比较低的CPU主机,无法流畅地运行Mediapipe,这个要注意一下。
Mediapipe33个人体关节点图如下:
Mediapipe关节点映射到Unity人体骨骼
这是开发此功能的一个难点,涉及到了关节点位置与骨骼位置的映射,还有骨骼反向运动。
1、使用unity IK插件比如:Animation Rigging、Final IK等
2、参考ThreeDPoseUnityBarracuda自行去映射关节点。
我这边使用的是第二种方法。主参照ThreeDPoseUnityBarracuda项目中的VNectModel.cs脚本,其中abdomenUpper这个关节点的位置要我们根据Mediapipe传过来的位置进行手动计算再赋值,其他位置可以直接从Mediapipe传过来的值中得到。
另外Build的时候记得将资源加载的方式改为StreamingAssets
最终效果如下:
MediaPipe Pose Tracking
这篇关于基于Mediapipe的姿势识别并同步到Unity人体模型中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!