なるように、なる

徒然なつぶやき、備忘録です。

ZigCamでVJした話@さざれ場003

さざれ場 #003 に、Yengoさんと一緒に出演しました。

www.youtube.com

今回はZigCamを使って、生カメラ映像と3Dの映像を混ぜてみました。
ZigCamは、いつか何かで使いたいなと思いながら月日が流れていたのですが、今回主にカメラ位置を取得したいと思い、使う決心をしました。 (後述の課題があったため、割と決心が必要でした。)

リハと本番で1回ずつ絶体絶命のピンチを迎えるなどしましたので、記録しておきます。
↓がZigCamと3Dカメラが連動している感じの動画です。

ZigCamについて

ZigCamは、カメラ画像、デプスデータ、人物のマスク、カメラの姿勢などをiPhoneで取得できるアプリです。
データはNDIで送信されるので、色んなソフトで簡単に受信できます。
すごく最高ですね!

さらに最高なことに、開発者の森岡先生がTouchDesingerでデータを受信&パースするToxも公開してくれています。

github.com

note.com

ちょっと試す分には素晴らしいのですが、本番パフォーマンスで使う際には若干懸念がありました。

  • ネットワーク接続が必要
  • 姿勢の誤差が蓄積する

検証の段階ではどちらもなんとかなるかなと判断していたのですが、どちらももろに当日のピンチに直結しました。

ネットワーク接続 -> リハでのピンチ

ZigCamはNDIでデータを送受信します。
そのためネットワーク接続が必要になります。

自宅のWiFiで開発している分には調子いいんですが、以前にTangle(渋谷のMusic Bar)でお店のWiFiを使って接続したら、けっこうな頻度で接続が切れました。

接続が切れるのは辛いなと思っていたのですが、WiFiじゃなくてスマホの回線をシェアすればよいのでは?と思い、試してみました。
いくつかの方法を調べている中で一番手堅そうだったのが、USBでiPhoneとPCを直結する形式。やっぱり無線より有線のほうが安心。

自宅では全然トラブルもなく、リハの最初もバッチリ受信できたので安心していたら、突然データを受信しなくなってピンチを迎えました。

リハの時間は15分。ヤバイ。

切断前後での状況変化は、、、防音扉!!

そう。
リハが始まって防音扉を閉めたので、半地下の会場の回線状況が悪くなったんですね。

藁スガでお店のWiFiに繋がせてもらったら無事に復旧しました。

今回はお店のWiFiが好調だったので、結局本番中も問題なかったのですが、あぶなかった。。

姿勢の誤差 -> 本番でのピンチ

ZigCamは、(おそらく)アプリ起動時の姿勢を原点とした姿勢情報(T[xyz], R[xyz]やカメラプロジェクションマトリックス)を送信してくれます。

今回はiPhoneの初期位置・FOVをTouchDesignerの3Dカメラの初期位置・FOVと合わせたうえで、リアルタイムで受信する原点からの変化量をカメラ位置に加えることで、3Dカメラの動きを制御しました。

ジャイロの宿命なのですが、iPhoneを静止させていても、Rotationの誤差が蓄積します。
今回のライブは15分だったので、15分間測ってみたところ、X軸・Y軸それぞれ4度程度ずれていました。

今回の演出では4度ならそんなに致命的じゃないと判断して、誤差は許容する方針(無策)で進めました。

浅はかでした。

ピンチはライブ本番の後半で訪れました。

楽しくなってきてiPhoneをブンブン振り回していたら、変な加速度が加わったせいか、自己位置が10メートルも飛んでしまいました。
あわてて手入力でオフセット値を調整してみたのですが、すぐに諦めてアプリを再起動しました。

幸い音楽の転換のはざま辺りだったので、ダメージは少なめでしたが、、あぶなかった。。。

真面目にやるなら誤差に対するフィルタを入れるとか、値が飛んだ時の処置を作る必要が。。。

謝辞

共演してくれたYengoさん、ありがとうございます。
普段とは違うフィールドにも関わらず出演を快諾してくれて大感謝です!

出演者のみなさま、ありがとうございます。 良きイベントになったと思うし、これからの製作の刺激を頂きました!!

さざれ場の運営のみなさま、ありがとうございます。
貴重な機会をいただき、自分としても新しいチャレンジができました!!

見に来てくださったみなさま、感想をくださったみなさま、ありがとうございます。 「悪夢だった」、「気が狂ったのかな」、「エヴァみあった」、などなど、嬉しかったです!

NEXT is YOUR TURN!!!