1. 程式人生 > >Kinect+Unity實現虛擬人物動作同步

Kinect+Unity實現虛擬人物動作同步

問題 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測試

  1. 連接Kinect,註意USB必須是3.0的,因為2代Kinect傳輸數據量超過USB2.0的容限。
  2. 啟動Kinect Studio v2.0,如圖紅框內:
    技術分享
  3. 啟動後的界面:
    技術分享
  4. 點擊紅框內的圖標開始測試:
    技術分享
  5. 出現下圖則測試成功,Kinect可以實時傳感:
    技術分享

4.2 正式開始

Kinect測試好沒有問題,那麽我們可以正式開始我們的任務啦!將人的動作同步到虛擬人物上。

    1. 打開Unity,新建一個Project。
      技術分享
    2. 點擊Asserts-Import Package-Custom Package,準備導入Package文件:
      技術分享
    3. 還記得我們在準備階段中的所需文件嗎?就是之前下載的Unity Package的demo文件,現在找到它的位置,導入這個Package。博主下載的Demo Package名為“Kinect+v2+Examples+with+MS-SDK”,所以現在找到它的位置,導入它:
      技術分享

      導入後,Unity讀取可能需要一點時間,不會太長。
    4. 導入完畢後,會出現以下窗口,點擊import:
      技術分享
      這時,Unity開始讀取導入的Package文件,需要一點時間,請耐心等待。
    5. 此時的界面如下:
      技術分享
    6. 然後在Projects窗口中展開KinectDemos文件夾,單擊此文件夾下的AvatarsDemo,雙擊紅框內的demo,如圖:
      技術分享
    7. 此時scene窗口和game窗口都已出現demo中建立虛擬人物,點擊紅框內的開始按鈕,則開始將人的動作同步到此虛擬人物上,在game窗口呈現:
      技術分享
    8. 註意:需要人站在Kinect的視角內,否則demo會一直等待人的到來才開始同步。我們將game窗口最大化以便觀察,博主擡起一只手,則虛擬人物也會做相同的動作,如圖:
      技術分享
    9. 到此,已經完全完成任務了。大吉大利,今晚吃雞!

Kinect+Unity實現虛擬人物動作同步