出来上がりはこんな感じで、前回の続き

Adobe系メインのデザイナーがTouchDesigner始めました 6回目

Leap motionとの連携など基本的なところは前回の工程を引き継ぎつつ下記の点をブラッシュアップ

  1. Leap motionの感知範囲に手が入った時/外れる時それぞれ初期値にから出て初期値に戻るところまで軌跡を書いてしまう。
  2. そもそも個別の指の認識必要??
    今回のに関しては必要な指の分の球体を配置〜結合、
    任意の指or手のひらなどの位置+傾きでやったほうが軽そう・・・
  3. Leap Motion本体を基準に手前プラス、真上0、奥マイナス値になるから当初予定のZ軸位置=サイズ大小がデフォルトではできない・・・

問題点1:初期値に戻っちゃう時問題

この中心下から出てきて戻ってきちゃう件。

結論

  • Z軸の0以上を描画しないことで、センサー範囲への出入り時を描画しないようにする
  • 描画開始を遅延させる。 センサー範囲に入るときは出るときと比べて勢いがあり上記のバッファを無視しちゃうので・・・
  • この件を解決したら問題点3のZ軸の値が0を跨ぐ問題も解決。

詳細

こんな感じで本体より奥に手がある時のみ描画するよう サイズのところを下記のようにしてます *xyz共通 *null3はselect CHOP〜etcから繋いだもの 0 if op('null3')['hand0/finger3:tz']<=0 else op('null3')['hand0/finger3:tz'] leap motionの難点としてセンサー範囲/現在の手の位置が描画が始まらないとわからない・・・結果、範囲外→0の位置までの移動が恐る恐るゆっくりになるか、急(数コマ以内)の移動になってtrace SOPで残像残っちゃうなんてことになったので、レスポンスは犠牲になりますがdelay CHOPを挟んでこの問題を解決してます。

問題点2 : 処理速度に関して

見た目的に個別の指を認識させた方が面白かったので、認識させる指を各指の動きの差が出やすい、親指/中指/薬指の三本に。

その他

Leap motionの各座標の数値はなぜかYのみ0~1、X / Zは-1〜+1なので注意

Sponsored Link