LeapMotion_ugen_vbo_video

LeapMotion+openFrameworks
手の傾き、奥行きでカメラのVBO描画の位置操作。
指の本数、位置で音の種類が変わります。

1本指…高めのサイン波
2…  低めのサイン波
3…  ホワイトノイズ
4…  のこぎり波
5…  1〜5をまとめて発音
6…  プチプチした音
7…  ハーモニックOsc
8…  パルス波
9…  無音(手の位置でバックの色が変わります)
10… 6〜9をまとめて発音

githubにコードあげています。
https://github.com/morooka/Leap_Ugen_vbo_video
User header search pathsにLeap Motion SDKのなかのLeap.hのパスを追加して、Leap Motion softwareをインストールしたmacOS10.8,10.9で動くはずです。

アドオンはofxUGen、vbo描画はここを参照しました。

vboについて
setup()で頂点情報の位置と色をセットアップしなくてもupdate()の中でsetVertexDataやっても高速に動くみたいです。
そしてGL_DYNAMIC_DRAWよりGL_DYNAMIC_DRAW_ARBの方がより高速な気がしましたがどうなんでしょう…。

よくLeap Motionは手の形を描画しているものが多いのですが、手は目の前に見えてるので省略しました(より高速化のためでもあるという言い訳…)。

//—
美野島の天ぷらの江上食品オススメです。

//–
2013/12/14 追記:
Leap Motion + openFrameworksの手順はココを参照しました。
fatal errorで止まる場合があります。その場合Build Phases–>>Copy Files–>>DestinationをFrameworksまたはExecutablesに変更してみて下さい。
正しい対処方法かは分かりませんがとりあえず動く筈です…。


12/14 21:29

11/2の記録

前回のライブは実際のビー玉の動きにあわせて音や映像を付けていたので今度は仮想的なものを動かしてそれに音や映像を動かしてみよう、ということが11/2の目標でした。

Leap Motion、openFrameworks(ofxBox2d,ofxOpenCV,ofxUGen)、赤外線カメラを使用。
指の位置でbox2dの重力、指の本数でオシレータの種類、ofxOpenCVで手の形を検出。
Beyond Interactionがなかったらやっていなかったでしょう。これから約3年半くらい。まだまだだなぁと思います。


11/14 12:02

10/24の記録


Leap Motion→openFrameworks→arduino→サーボモーター→蓄光マーブル

Leap MotionのZ軸でモーターを動かし(Firmata使用)、赤外線LEDで照らした蓄光マーブルの揺れをビデオカメラのナイトショットカメラモードで撮ってofxOpenCVのcontourFinderで位置検出→ofxUGenで音をつけた感じです。一本指だとサイン波、二本指だと低音、三本指だとホワイトノイズ…など指の数に応じてオシレータやモーターの数、y軸で音量などを割り当ててます。

参考…
Leap Motion→oF http://gndo.blogspot.jp/2013/07/leap-motion-openframeworks.html
ビー玉 蓄光マーブル25mm 40粒入
→通常の光ではあまり蓄光できていない(contourFinderで判別が難しい)ので赤外線LEDを下からあてました。
SONY HDD30GB搭載 デジタルビデオカメラ DCR-SR100

先週のライブ時の映像


この日は手の動きを見せるために赤外線カメラで手を撮ってもう一台のプロジェクターで手の動きを見せています。

きっかけは

http://atelieromoya.jp/ps.html
実際に動くビー玉の位置検出して音や映像を追加できたらもっと楽しくなるのかな、というのが出発点。まだ改良の余地ありですが…。


10/27 17:38