Ch_1

Ch_2

Ch_3

Ch_4

Ch_5

Ch_6

Back

Unity_01

Unity_005

5-1 安裝驅動程式

S_01 在搜尋引擎(Google、Yahoo!奇摩等)輸入關鍵字「Kinect SDK for Windows Download」搜尋。

以Google搜尋為例,搜尋結果第一個就是微軟官方提供的下載點,點擊進去。(註:可能會因為每個人電腦或搜尋引擎不同,而順序或結果有所不同,此圖為參考用。)

S_02

S_02 點擊進去後,往下方捲動可以看到「Continue」按鈕,點擊後會出現一個視窗,點擊下方選項後再點擊「Next」按鈕。

S_02

S_03

S_03 看到此畫面後瀏覽器會彈出下載檔案的視窗,按下儲存檔案後開始下載。(註:如果過一陣子都沒出現下載檔案的視窗,可以點擊「Click here」連結下載。)

S_04

S_05

S_04 雙擊剛剛所下載的安裝程式「KinectSDK-v2.0_1409-Setup.exe」,點選「I agree to the license terms and conditions」再點擊「Install」,安裝程式就會進行安裝,稍待片刻。

S_06

S_07

S_05 安裝完成後,點擊「Close」,結束安裝程式。

S_08

S_06 點擊開始按鈕,往下方捲動找到「SDK Browser v2.0 (Kinect for Windows)」後點擊執行。

S_09

S_07 使這裡會列出官方提供的範例程式和程式原始碼,有需要時可以執行或安裝範例。

以「BodyBasics-D2D」為例,找到「Body Basics-D2D」後點擊右方「Run」按鈕執行範例程式。

S_10

S_08 人物站在Kinect前面,如果Kinect有檢測到人物,就會在畫面上顯示出人的骨架。

S_11


5-2 Unity資源導入及使用

S_08 開啟Unity新增一個3D專案,並匯入提供的資源包。

S_12

S_02 「KinectDemos」提供多個範例,包含腳色控制範例、手勢辨識範例、臉部辨識範例等,如果不知道如何使用時可以打開來參考。

「KinectScripts」提供多個程式碼,包含Kinect管理、腳色控制、手勢辨識等。

S_13

S_03 先以「AvatarsDemo / KinectAvatarsDemo1」示範。

S_14

S_04 點擊打開「KinectAvatarsDemo1」後並執行。

S_15

S_05 人物站在Kinect前面,抓到人物後右下會顯示人物剪影和骨架,場景中的人物模型也會跟著人物骨架動。

S_16

S_06 接下來要教如何將動作套用到自己的人物模型。

首先,在Asset Store下載人物模型並匯入。

S_17

S_07 建立一個新的場景,將剛匯入的人物模型拉進場景,並調整人物及攝影機的位置和角度。

S_18

S_08 找到「KinectScripts」內的「AvatarController」,按住拖拉到人物模型上,此時人物模型就被賦予「AvatarController」程式。

S_19

S_20

S_09 建立一個空物件,並賦予「KinectScripts」內的「KinectManager」程式。

S_21

S_22

S_10 執行並站到Kinect前測試。

S_23


5-3 手勢辨識

S_1 接續上一節的範例,建立一個「Text」物件,用來輸出手勢的結果。

S_24

S_2 調整Text位置、文字大小、文字顏色。(註:可以將視窗切換到「Game」,較方便調整。)

S_25

S_3 建立一個程式腳本,以「C# Script」為例。

S_26

S_4 雙擊打開剛建立的程式腳本,開始撰寫程式。

S_27

S_5 宣告一個變數,用來接收剛剛建立的Text,之後再用程式輸出文字。

S_28

S_6 會發現「Text」下面有紅色波浪,表示程式有錯誤,需要修正。

把滑鼠移到「Text」上會顯示出錯誤訊息,點擊燈泡會顯示出修正建議,選擇「using UnityEngine.UI;」。

S_29

S_30

S_7 接下來要監聽Kinect手勢,輸入「, KinectGestures.GestureListenerInterface」,發現有錯誤,點擊燈泡選擇「實作介面」。

S_31

S_32

 

S_33

S_8 在「UserDetected」裡面輸入下圖的程式碼,本範例以”左手向右揮”、”右手向左揮”、”雙手舉起”、”擺動”作為示範。

S_31

S_9 在「GestureCompleted」裡面輸入下圖的程式碼。

S_35

S_10 將「GestureCancelled」、「GestureInProgress」、「UserLost」內的程式碼刪除。

在「GestureCancelled」裡面輸入「return true;」後存檔。

S_35

S_11 將剛剛的程式腳本和「KinectScripts」內的「KinectGestures」賦予到「KinectController」。

S_35

S_35

S_12 將「Ui Text」選擇「Text」物件。

S_39

S_13 執行並站到Kinect前測試。

S_40


第五章 完。