LoginSignup
8
4

More than 5 years have passed since last update.

TouchDesignerとHoloLensを繋ぐ

Last updated at Posted at 2017-10-08

Tokyo BLOCKS Hakathonに参加しました

HoloToneというものを作りました。

BLOCKSという押し込みもできるマルチタッチデバイスのビジュアライズ的なものをやってみました。
ホロレンズ越しの画像ではMixedRealityな表現も。

gif.gif

TouchDesignerとHoloLensを繋ぐ

これをVJライブパフォーマンス的には共有したいので、画面に出すのですが
そこにTouchDesignerでのエフェクト掛けてみたいなぁと思った次第。

Mixed Reality Captureを使う

image.png

HoloLenseにWebブラウザで直接アクセスすると
LivePreviewができます。

image.png

これで画面がとれます。リアルタイムといっても1秒くらいラグがあります。

(Windows Mixed Realityだからもしかしてこれから出てくるデバイスとかでも使えるのだろうか?)

強引な繋ぎ方

TouchDesignerにはスクリーン画面キャプチャ機能があるので、
表示しているWebサイトをそのまま取り込んでしまった。

もっと良い方法があれば知りたいところ。

ScreenGrabのTOPを使って、キャプチャ位置をうまく調整

image.png

いけてない点(画面が狭くなる)

スクリーン画面キャプチャなので、作業領域が画面半分になり苦労したり。

IMG_5017.JPG
右側のマシンで、画面右半分がキャプチャのためにとってあるので、
TouchDesignerの画面は左側半分で作業するという感じになってた。

いけてる点(複数接続や切断に強い=弱い連携)

端末側でLiveViewができない時でも強く接続しているわけではないので、安定している。
デバイスとか握ってしまって別ハードと連携とかだと、1対1接続しかできないとか縛りが多いことがよくあるので、(開発上の理由でそうなっているのだろうけど)
こういうWebッブラウザのようなゆるい接続形式だから、たぶん複数台とかでも取り込めたりするかもしれない。(通信帯域的に間に合えば)
ハッカソンの会場のような、
接続が不安定だったり、ドライバが想定外(複数マシンから接続とか)な状態で復帰しないとかは使いづらいことになるので、
こういうゆるい接続はローテクながらありかもしれない。

余談ですが、
BLOCKSも複数もPCから接続したり、複数PCに状態を送ることはできない。
今回のハッカソンでは、Maxでホストマシン1台と接続してOSCで飛ばすことで複数マシンで処理できるようにしていた。

実際、BLOCKSの接続でMaxがよく落ちるけど、HoloLensやTouchDesigner側はその影響を受けずに済むことができた。
BLOCKSもデバイスIDとPortだけ指定してUDPで入力情報を飛ばすだけみたいな機能があればよかったかもしれない。
(これはUSBとかBluetoothの問題でホスト切り替わり時にマスターとかスレーブとかどう変わるとかわかりにくいし)
->これやろうとするとBLOCKSそれぞれにホストPCが必要になるので、小さいマシンとかたくさんあればできるのだろうか。

他に工夫した点

HoloLensのライブストリーミングは遅延(ラグ)があるのですが、
BLOCKSの操作はOSC経由で送っているのでほぼリアルタイムです。

リアルタイムの変化を加えることで、遅延感を感じさせないようにしています。
実際には遅延があるけど、変化がリアルタイムなので気づきにくくなります。

MaxでBLOCKSのMultiTouchをOSCに変換

image.png

ここではudpsendを使って 7600ポートにそれぞれの値を出力

Select CHOPを使って変換

OSC CHOPではblocks数字で のフォーマットだったので、意味のある名前に変えて扱いやすくし

image.png

適宜フィルターとかいろいろ

TouchDesignerでOSCを受け取る

image.png

あとは画面を歪ませたり、波形を重ねたり

image.png

OSCでとったxy座標と押し込み具合で
歪ませたり、円を表示する位置や大きさ色を変えたりして重ねています。

若干フィルターでなめらかにしたり、フィードバックをかけて残像感を出したりして調整しています。
Filter CHOPを通したり、
パレットにあるFeedbackとか使うと見た目が良い感じになって楽しい。これで見栄えがすごく変わる。

image.png

押した時の反応のためのカーブ

BLOCKSは強めに押し込むと結構な深さまで値が取れる 
で、強く押し込み続けるのは指に負担もかかるので、エフェクトが出やすいようにカーブかけてみたり。

image.png

を数式でわざわざ入れているのですが、CHOPでカーブとかの変換できないのかな?(なにかありそう)
カーブエディタみたいなのがあれば良いのだが。

歪ませている動画 http://www.youtube.com/watch?v=SjHBRmPdl6U
IMAGE ALT TEXT HERE

調整するとかなりいい感じで、押し込んだフィードバック(触覚感)と画面の歪み具合が良い感じに(楽しい)。

BLOCKS良いデバイスですね。

押し込みやマルチタッチ(15点までとれる)、LEDによる表示も簡単なので、
楽器やインターフェースのプロトタイプ作りとかに使えて便利。

複数繋ぐことで拡張もできるので、ちょっと足りないとかなら買い足せばなんとかなる感じ。

ソースなど

Tokyo BLOCKS Hakathonについて

こういうAudio Developerの集まりって日本だとなぜかあまりない気がするので、
もっと流行って欲しい。
自作楽器とか音楽プログラムとか、発表やアイデアがとても面白いと感じました。

微力ながらちょっと宣伝 
もくもく会のようなものをやってます https://effectorhack.connpass.com/

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4