高校の模擬講義

センサーと制御とプログラム

システム構成: 写真

準備1:

Scratch の起動

USBメモリ から → Scratch → Scratch.exe

Scratchフォルダの Scratch-bridge-tuio.sb を Scratchにドラッグ&ドロップ

遠隔センサーを有効にする

準備2:

Scratch_OSC_Bridgeの起動

USBメモリ から → Scratch → application.windows(32or64) → Scratch_OSC_Bridge.exe

※起動と接続の確認: Scratch と Scratch_OSC_Bridge.exe が通信を始めると、スクラッチのプログラムの

ずっと の繰り返し処理が動き出す。

処理内容は、

「センサーの値を読み出し、センサーの値に滑らかさを加えて、スプライトのXY座標に設定する」

というもの。

Scratch で利用するKinectカメラと、センサーで取得する身体部位の情報を↓のように設定する。

ポートの設定

12345

↑をADD PORT する。

OSCメッセージの選択 最初は1選択するメッセージは 1つに。 うまく動いたら、複数の身体部位の取得を試す。

※ 3つ目の部位を追加すると、不具合発生。使用する部位は、「2つ」までにしてください。

/BODIES/ プレイヤーID番号 /JOINTS/HEAD 頭の位置 ※← 最初はこちらで練習してみます。

/BODIES/ プレイヤーID番号 /JOINTS/HANDRIGHT 右手の位置

など。

設定例)

Scratchのセンサーの対象を設定しなおす。

※ ↑の「ずっと」が止まってしまったら、クリックして動かし続けておく(センサーの値を観察するため)

※Kinect で、HEADの値を1,2,3つ取得している。 X Y Z 座標 に対応する。

今回の演習では、XY座標のみ利用している。

Z座標を利用する場合は、スプライトの 大きさ の変更に Z座標を用いると、擬似3Dの表現ができる。

(接近→ 拡大、 離れる → 縮小)

課題制作

接続先のカメラを変更したり、取得する身体部位を 頭から 右手 などに修正したり、など、モーションキャプチャの

対象に応じて、スプライトのコスチューム(画像)を変更し、

・ゲーム

・楽器

などを企画して作成する。

※注意※ キャプチャーする身体部位の変更

・既に追加している部位をクリックして削除する

・その後、新しい部位を追加する

例) 避けゲーム。ゴーストのXY座標は、プレイヤーの頭の位置にリンクしている。

2対の敵キャラクターが画面を動き回るので、当たらないように、避け続ける。

衝突判定つきのキャラクターの作成例)

※キャラクターには、衝突したときのコスチュームを追加して、設定しておくこと。

※※ 動きブロックの「回す」コマンドで敵キャラクターの向きを斜めに設定すると、複雑に跳ね回るキャラクターになる。

※※※キャラクターの数を増やしてみよう。