Kinect+Unity实现虚拟人物动作同步
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kinect+Unity实现虚拟人物动作同步相关的知识,希望对你有一定的参考价值。
Kinect+Unity实现虚拟人物动作同步
声明:此文乃本人原创,未经本人允许不得转载。
联系本人:网易邮箱[email protected]。
0 简述
任务:将人的动作实时同步到自建的虚拟人物上。
实现原理简介:用Kinect实时捕捉人的动作,将捕捉到的信息实时传给Unity,Unity将获得的数据处理加工赋给Unity demo中建好的虚拟人物上,从而实现将人的动作实时同步到虚拟人物上。
1 准备
所需硬件:
- PC
- Kinect for windows(传感器+适配器)
所需软件:
- Kinect for Windows SDK 2.0
- Unity
所需文件:
- 一个Unity Package Demo文件
2 资源获取
- Kinect for Windows SDK 2.0
https://pan.baidu.com/s/1skMIPrf
- Unity
https://store.unity.com/cn
(个人版足矣) - 一个Unity Package Demo文件
https://www.assetstore.unity3d.com/cn/#!/content/18708
(尊重版权,实在不舍得花$25购买正版的学生党可以私聊我,我可以帮你)
3 安装Kinect for Windows SDK 2.0和Unity
下载好后,直接setup就可以了,没有任何难度。
- Kinect for Windows SDK 2.0安装好后是看不到任何快捷方式或者启动项的,因为SDK是一种开发工具包,类似于一种环境,故安装好则使用Kinect所需软件环境搭建好了。
- Unity安装好后可以启动,界面如下:
4 START!
现在让我们开始吧!
4.1 连接硬件及Kinect测试
- 连接Kinect,注意USB必须是3.0的,因为2代Kinect传输数据量超过USB2.0的容限。
- 启动Kinect Studio v2.0,如图红框内:
- 启动后的界面:
- 点击红框内的图标开始测试:
- 出现下图则测试成功,Kinect可以实时传感:
4.2 正式开始
Kinect测试好没有问题,那么我们可以正式开始我们的任务啦!将人的动作同步到虚拟人物上。
- 打开Unity,新建一个Project。
- 点击Asserts-Import Package-Custom Package,准备导入Package文件:
- 还记得我们在准备阶段中的所需文件吗?就是之前下载的Unity Package的demo文件,现在找到它的位置,导入这个Package。博主下载的Demo Package名为“Kinect+v2+Examples+with+MS-SDK”,所以现在找到它的位置,导入它:
导入后,Unity读取可能需要一点时间,不会太长。 - 导入完毕后,会出现以下窗口,点击import:
这时,Unity开始读取导入的Package文件,需要一点时间,请耐心等待。 - 此时的界面如下:
- 然后在Projects窗口中展开KinectDemos文件夹,单击此文件夹下的AvatarsDemo,双击红框内的demo,如图:
- 此时scene窗口和game窗口都已出现demo中建立虚拟人物,点击红框内的开始按钮,则开始将人的动作同步到此虚拟人物上,在game窗口呈现:
- 注意:需要人站在Kinect的视角内,否则demo会一直等待人的到来才开始同步。我们将game窗口最大化以便观察,博主抬起一只手,则虚拟人物也会做相同的动作,如图:
- 到此,已经完全完成任务了。大吉大利,今晚吃鸡!
以上是关于Kinect+Unity实现虚拟人物动作同步的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV+Mediapipe人物动作捕捉与Unity引擎的结合