讓Scratch使用Kinect v2感應器來製作互動專題

幾年前看了下面的影片,是利用Kinect感測器來製作Scratch的專案,覺得好有趣。
後來我買了XBox One推出後,也同時推出第二代的Kinect,第一時間就給它入手了。
一開始只讓它充當簡易的3D掃描器。也一直等待著作者可以完成支援第二代Kinect的程式
果然作者有持續開發,終於推出了支援二代的「Kinect 2 Scratch」的中介程式。

Scratch and Kinect from Stephen Howell on Vimeo.

這個「Kinect 2 Scratch」的中介程式,目前是可以支援第一代和第二代的Kinect。
所需的安裝的相關元件有所不同,詳請參照以下的連結
官方網站:http://howell.azurewebsites.net/kinect2scratch/

我手邊有的是Kinect v2,所以就把過程記錄下來了。



硬體部份:

首先你所需具備的硬體是「Kinect v2」 (是配合XBox One那台的)
以及讓Kinect v2可以連接電腦的專屬連接組「Kinect Adapter for Windows



使用Kinect v2時,所連接電腦的配備需要比較好,另外Kinect v2會挑USB3.0的晶片組,這項出問題就無法使用

官網推薦的電腦配備是:
  • Windows 8 or 8.1, or Windows Embedded 8 
  • 64-bit (x64) processor
  • Physical dual-core 3.1 GHz (2 logical cores per physical) or faster processor 
  • USB 3.0 controller dedicated to the Kinect v2 sensor (一般推薦是Intel或Renesas的控制晶片,其它的合不合用需要實測) 
  • 4 GB of RAM
  • Graphics card that supports DirectX 11




軟體部份:

●Kinect for Windows SDK 2.0
這包括Kincet v2的驅動程式、相關的開發環境和附屬程式
下載網站:https://www.microsoft.com/en-ie/download/details.aspx?id=44561


● Scratch 1.4
目前只支援舊版的Scratch,將來可能會支援Scratch2 (是在 ScratchX上開發)
下載網站:https://scratch.mit.edu/scratch_1.4/


●Kinect2Scratch v2
這是主要的中介程式,下載後放到適當位置,是免安裝的執行檔 (我是放在桌面)
下載網站:http://1drv.ms/1EaeX9E



●另外作者所寫的Scratch草稿檔,和一些Scratch的DEMO遊戲檔 (我是放在Scratch專案位置)
草稿檔下載:Skeleton Scratch Project v2
DEMO遊戲檔下載: Example projects







關於電腦主機和Kinect匹配的測試:

●Kinect for Windows SDK 2.0安裝完成後,裝上Kinect v2的到電腦USB孔,會花一些時間,讓整個硬體掃描完成後才以開始。

可以執行一下「SDK Browser (Kinect for Windows) v2.0」
先測試一下Kinect的連線和感應狀況

程式開啟後,點選第一項「Kinect Configuration Verifier」右下角的Run來執行
這個主要是偵測電腦主機和Kinect匹配的狀況。


 ●目前我的電腦是偵測到2項可以不符標準,可以點進去每個項次的右側,進一步看看。


●目前USB雖然還是有些疑慮,但下方的影像和深度資訊後來是正常的,這樣連線還是OK
如果還是有問題,可以進一步連上檢測器所列的說明和連結論壇。

●關於Kinect v2和其SDK的使用,可以參考:
Kinect for Windows SDK v2 基本介紹 (Heresy's Space)
Kinect for Windows v2 C++ 程式開發 (Heresy's Space)





執行Kinect 2 Scratch,開始使用吧!

●已經預先將Kinect感應器以及Scratch安裝好了,我們直接執行「Kinect 2 Scratch



●如果連接成功的話,畫面下方會出現 「Kinect v2: Active」,
這時侯有人進入的話,可以看到它有即時偵測人的骨架動作
不要關閉這個畫面,要讓它在背景裡執行。


●接下來用Scratch直接開啟「Kinect2Scratch Skeleton v2」這個檔案





●按綠旗執行這個Scratch程式,如果偵測動作正常的話,就可以看到畫面上的人偶可以和你的骨架動作同步



●其它也可以試試DEMO的遊戲,體驗體感遊戲的魅力
接下來就可以使用它的草稿檔,去自製體感的專題。
(記得啟動Scratch後,一定要按綠旗執行「Kinect2Scratch Skeleton v2」這個檔案
讓它偵測一次人體的骨架動作)
之後在Scratch程式積木的偵測值,才有「人體骨架」的偵測值可以選擇,

共有25個點可以偵測 (每一個節點位罝,分為x, y, z ,三個在空間位置的值)
(圖片來源:msdn)

AnkleLeft 左腳踝
AnkleRight 右腳踝
ElbowLeft 左手肘
ElbowRight 右手肘
FootLeft 左腳
FootRight 右腳
HandLeft 左手
Hand Right 右手
HandTipLeft 左手尖端
HandTipRight 右手尖端
Head 頭
HipLeft 左髖關節
HipRight 右髖關節
KneeLeft左膝蓋
KneeRight右膝蓋
Neck 頸
ShoulderLeft 左肩
ShoulderRight 右肩
SpineBase 脊椎基底
SpineMid 脊椎中段
SpineSoulder 脊椎肩段
ThumbLeft 左手姆指
ThumbRight 右手姆指
WristLeft 左手腕
WristRight 右手腕


程式作者Stephen Howell所錄製的「Coding for Kinect with Scratch」教學課程

留言

張貼留言