使用Scratch輕鬆製作Kinect體感互動遊戲

文∕趙英傑

Scratch是麻省理工學院的終身幼兒園團隊(Lifelong Kindergarten)所開發的一套程式語言,讓8歲以上小朋友透過積木組合式的視覺化程式語言創造互動式故事、動畫、遊戲、音樂和藝術,並經由Scratch的雲端平台,和世界各地的小朋友交流、分享作品。

Scratch結合Kinect輕鬆設計體感互動多媒體

位於愛爾蘭的電腦講師Stephen Howell開發了的Kinect2Scratch軟體(僅支援Windows 7和8系統),能讓使用者透過微軟的Kinect體感偵測器來操縱Scratch程式。

附帶一提,Kinect主要是為了微軟的Xbox 360遊戲機而設計,但陸續有程式設計師替它開發了用於Windows, Mac OS X和Linux等系統的驅動程式和開發工具。微軟後來也提供了免費的Kinect SDK開發工具,讓玩家把Kinect接到電腦上,透過肢體動作來操控電腦。

底下是Stephen Howell講師提供的示範影片:

Scratch+Kinect的遊戲示範影片:

這是互動樂器的例子:

在電腦上連接Kinect體感遊戲設備必備的電源供應器

要在電腦上玩Scratch+Kinect,除了微軟Xbox 360的Kinect裝置之外,你還需要專用的電源供應器,因為電腦上的USB 2.0插座僅能供應5W的電力,而Kinect需要12W(參閱iFix的Microsoft Kinect拆解文章)。

微軟Xbox 360的Kinect體感偵測器

坊間的電視遊樂器專賣店有販售這種電源供應器:

Kinect專用的電源供應器

Kinect採用微軟自訂的特殊USB接頭(上圖的橘色接頭),如果要自己DIY Kinect電源線,可以參考這個老外的做法,拆開兩個USB公頭,併攏黏起來:

自製Kinect的電源線

Kinect的接頭腳位定義如下:

Kinect的接頭腳位定義

使用Kinect2Scratch軟體捕捉Kinect傳回的體感動作

將Kinect連接到電腦之前,請先下載、安裝微軟提供的免費Kinect開發工具(Kinect SDK),以及Stephen Howell講師所開發的Kinect2Scratch軟體(僅支援Windows 7和8系統當然,你的電腦上也要安裝Scratch程式開發工具(註:目前的最新版為1.4,2.0版本改用Adobe Flash Player技術,現在仍處於Beta測試階段)。

Kinect SDK安裝完畢後,先接上Kinect的專屬電源再將它插入電腦的USB埠,Windows系統將自動安裝必要的驅動程式並提示你重新開機。

重新開機之後,再執行Kinect2Scratch軟體。按下Kinect2Scratch畫面左上方的"Launch Kinect(啟動Kinect)"按鈕,即可看見下圖的兩個畫面,分別顯示Kinect內部兩個攝影機傳入的彩色影像和3D深度影像。當Kinect感測到人體時,3D深度影像裡的人物會呈現紅色。

使用Kinect2Scratch軟體捕捉Kinect傳回的體感動作

準備工作完成之後,即可透過Scratch開始製作體感互動程式,以製作一個讓Scratch小貓咪圖像跟著使用者的右手位置移動為例,大致步驟如下:

  1. Kinect2Scratch軟體維持執行狀態,開啟Scratch軟體,然後按下Kinect2Scratch視窗上方中間的"Connect to Scratch(連到Scratch)"按鈕。
  2. 回到Scratch軟體,點選左上方的「偵測」分類指令。
  3. 在「偵測器」指令上按滑鼠右鍵,選擇「啟動遠端感應器」指令(Scratch將提示「遠端感應器連接已啟動」的訊息)。

    Scratch的啟動遠端感應器指令

  4. 從「動作」分類中,拖放 "移動 x:0 y:0" 指令以及 "x座標" 和 "y座標" 屬性。
  5. x座標和y座標屬性可以改成Kinect偵測到的人體參數,例如,右手的x, y座標屬性指令分別叫做"HandRight_x"及"HandRight_y"。

完成的範例程式畫面如下:

偵測右手動作的Scratch程式

Stephen Howell講師也提供了一些範例程式下載,裡面包含小蜜蜂(Space Invaders)、彈球、互動音樂、打磚塊(Pong)…等例子。

延伸閱讀

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *