Kinect+Unity實現虛擬人物動作同步
阿新 • • 發佈:2017-08-05
問題 font 實時同步 ftw 知識庫 avi 實時 虛擬 tor
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實現虛擬人物動作同步