PC画面のマウス位置の色と照明の色の同期

PC画面のマウス位置の色と照明の色の同期

これは1ヶ月ぐらい前にもらった課題。。。

それを今日、チャレンジして作ってみました…!!

 

実装した様子はこちら。

 

んで、これが出来上がったパッチです。

画面との同期

 

・mousetateでマウスのいる位置を計測。

・jit.desktopでマトリックスにディスプレイをコピー。

・jit.3mで、マトリックスに表示される色の平均値を出力。

(・「s on」でdmxusbproに繋がるようにしてあります。)

 

と、いったかんじで照明の色の出力に繋がりました!

 

こう書くと、ものの10分ぐらいで出来たようなパッチにも思えますが、

jit.desktopという、便利なオブジェクトを見つけるのには時間が掛かりました。。。

 

最初は今出てる状態のPC画面と繋げるっていう事自体が想像できなかったので…

まずは、「指定した画像上でマウスオンしたら色が出る」という状況まで辿り着こう!とチャレンジしていきました。

 

よく分かってないながらも、dstdimstart 、dstdimsendメッセージを使って画像の1部の色を取り出す事は出来たんだけど…

 

リアルタイムじゃない。どこを出力してるか分からない。mousetateオブジェクとうまく結びつけられない。。。

というか、 今出てる状態のPC画面がどうやったら出てくるの?

スクリーンショット撮って、その画像フルスクリーンで出せば完璧じゃないけど、それっぽく見せられるよな〜

じゃあ、どうやってMax上でフルスクリーンで画像を出せるんだろう。。。

なんかヒントないかな〜なんて思ってMaxの教科書をパラパラ見ていたら…!

 

フルスクリーン表示をさせるパッチを見つけ、その辺りの文章で「jit.displayオブジェクトを用いれば、より詳しい画面の情報を得たり…」と書いてあって。

jit.displayとかなんかそれっぽい!!思い、Maxでリファレンスを開いて調べてみました。

 

パッと見てちょっといじって、正直よく分からなかったんだけど…

ふと、リファレンスの「See Also」を見たら、jit.desktopを発見!!

そこからは、サクサクと進んで完成に至りました。

 

あと、やってて発見した事は…

ただ単に指定した画像の1部の色を照明で出したいという時は、colorpickerで簡単に出す事ができる。という事。

colorpickerオブジェクトをダブルクリックして、上の写真のようなアイコンをクリックすると下記のような画面になります。

2015-03-05 21.13.49

 

下の「Palette」から、「New from file…」から画像を選択する事ができます。

そしたら、今のこのカラフルな場所に選択した画像が表示されるので、そこの画面上から色を選択できる状態になります。

 

「PC画面のマウス位置の色と照明の色の同期」って、そこで何が起こってるか、誰が見ても分かりやすいから…

ちっちゃい子にマウスいじって遊んでもらっても楽しんでもらえそうだなっと思いました。