ブログ@kaorun55

HoloLensやKinectなどのDepthセンサーを中心に書いています。

ScratchとKinect2Scratchで遊んでみました

前々からやりたかったScratchをやっと触ってみました。

Scratch自体はMITメディアラボが開発している、ブロックを組み合わせることでプログラムできるツールのようです。AndroidのAppInventorのPC版という感じでしょうか(どっちが先かは知りません)。

 

このScratchにKinectからの入力を入れられるようなので、さっそく試してみました。

Scratchをインストールする

Scratchをインストールします。ダウンロードページから環境にあったインストーラーを取得します。今回はKinectを使うのでWindows版です。ログインしていない場合など、メールアドレスなどの情報入力することもあります。

インストーラーを取得したら、そのままインストールを行います。

f:id:kaorun55:20150610021206p:plain

Kinect2Scratchを使う

Kinect2Scratchを使ってみます。

Scratch側の準備

Scratchを起動したら「調べる|<スライダー>センサーの値」を右クリックし、「遠隔センサーを有効にする」を押します。遠隔センサーとはソケットで通信を行うので、Windowsのファイアーウォールの画面が出てきます。適切に選択してください。

f:id:kaorun55:20150610021324p:plain

接続の受け入れが整うと、有効になった旨のメッセージが表示されます。これでScratch側の準備はOKです。

f:id:kaorun55:20150610021339p:plain

Kinect2Scratch側の準備

Kinect2Scratchのサイトからダウンロードします。

 

f:id:kaorun55:20150610021404p:plain

解凍するとexeとDLLが出てきますので、Kinect2Scratch SDK 1.5.exeを実行します。

f:id:kaorun55:20150610021436p:plain

起動します。とりあえず、「CONFIGURE SKELETON」を押します。

f:id:kaorun55:20150610021449p:plain

 設定画面が出ます。2人のスケルトンをもらう場合には「Two player mode enabled」をチェックします。「3D mode (z axis) enabled」はZ座標の取得だと思いますが、今日やった限りでは取得できませんでした。

f:id:kaorun55:20150610021506p:plain

 

設定したら「LAUNCH KINECT」を押します。Kinectが起動します。

f:id:kaorun55:20150610021539p:plain

 

「CONNECT TO SCRATCH」を押すとScratchにデータを配信し始めます。ここでもWindowsのファイアーウォールの設定が出るかと思います。

 

Scratchでデータを取得する

ここまででKinectのスケルトンデータをScratchで取得できるようになりました。先ほどの「調べる|<スライダー>センサーの値」をスクリプトに設置します。コンボボックスを開くと、既定のセンサーのほかにKinectから取得されたスケルトンのジョイントデータが選択可能になります。

 

f:id:kaorun55:20150610021723p:plain

簡単なアプリを作ってみましょう。次のようにX座標およびY座標にKinectからデータを設定することで、プレイヤーの動きをスプライトに反映することができます。

f:id:kaorun55:20150610021747p:plain

簡単なゲームを作ってみた

キャラを移動させて、ボールを捕まえるゲームを作ってみました。

f:id:kaorun55:20150610021849p:plain

データはこちらにあります。

f:id:kaorun55:20150610021828p:plain

娘ちゃんに遊ばせてみたところ、楽しそうにしてましたw