グーで吸引・パーで反発 openFrameworks LeapMotion ofxBullet

[ Video ]

[ About ]
Leap Motionと連携しました。Leap::HandのgrabStrengthメソッドで取得した値によって吸引・反発を切り替えています。じゃんけんでいう、グーが吸引、パーが反発になっています。思ったより、グーで持ち上げてる感じや、パーで弾く感じが出て良かった。

両手で触るのが楽しかったので、いつもLeap Motionの撮影はスマートフォンでしていましたが、絵の中に手を描写してキャプチャしました。Unityなんかを使うともっと手っぽいポリゴン?な表現を使えるようなので、いつかマネしてみたいですね。

本当はSphereを小さくして数をもう少し増やしたかったのですが、Surface Pro 4だとこの辺が限界ですね。グラフィック関係を中心に開発環境もグレードアップしてみたいです。お小遣いが許さないですが…(涙

[ Source ]

[ Link ]
https://github.com/junkiyoshi/Insta20180118

[ Sponsor Link ]

LeapMotionから取得した指の座標から逃げるSphere ofxBullet openFrameworks

[ Video ]

[ About ]
ofTrueTypeFontから文字の輪郭の座標を取得して、Sphereを設置しています。

それぞれのSphereは初期位置に戻ろうとする力が常に働いていますが、LeapMotionから取得した人差指の座標にはSphereに反発する力があり、反発する力の有効範囲に入ったSphereは初期位置からずれてしまいます。反発力の有効範囲外になれば元に戻ろうとする力だけになるので、初期位置に戻ります。

Leap Motion + ofxBulletなので、もう少し3Dが分かるようにしたかったのですが、あまり上手くいきませんでしたね。

[ Source ]

[ Link ]
https://github.com/junkiyoshi/Insta20180115

[ Sponsor Link ]

Boxの中に閉じ込められたBoxをLeapMotionでふりふりする ofxBullet openFrameworks

[ Video ]

[ About ]
昨日のやつをLeap Motionで操作してみました。

Leap::HandクラスのgrabStrengthメソッドを使うと、手の握り具合(0.0-1.0)が取得できます。今回は手を握っている(0.5以上)状態の場合に、手の加速度を使って、中央の大きなBoxを動かすように指定しました。

この関数が返す値は、極端に0.0または1.0に寄るので、微妙な握り加減は調整出来ません。もし、そのような加減が知りたければ、似たような関数にpinchStrengthメソッドというピンチ(親指と人差指の関係 0.0-1.0)を取得する関数や、pinchDistanceという距離を返してくれるメソッドがあるので、そちらを使うと良いかと思います。

前にもofxBulletを使ってLeap Motion + 3D 物理演算を作ったことありますが、やっぱり楽しいですね。コーディングと結果で遊べる、2回美味しいやつです。

[ Source ]

[ Link ]
https://github.com/junkiyoshi/Insta20180113

[ Sponsor Link ]