2016年12月19日月曜日

舞踏(BUTOH)×vvvv その2(PC2台、プロジェクター3台、ESP-WROOM-02を使った時のお話)

こんばんは。
空きがあったので、vvvv Advent Calendar 2016の19日目の記事を書きます。
恐縮です。(※作成途中ですが間に合わないので公開します(汗

前日は、@AquaLampさんの「Arduinoが無線で接続できたらいいのに…と思っている方」へでした。
奇遇ですね。私もESP-WROOM-02について書かせてもらいます!(笑

vvvv Advent Calendar 2016の6日目の記事で6月に開催された田仲ハルさんの舞踏公演で映像を担当したお話をしましたが、次のオファーを頂きまして。ありがたい話でございます。

公演はこちら、
10月30日に開催しました「ひかり蜘蛛」です。
今回はなんと、琴似パトスというかなり本格的なイベントホールです。

この公演では舞台背面の映像の他に床面への投影をvvvvを使って行いました。
vvvvはかなりライトな使い方なので参考にならないかもですがよろしくお願いします。

■背面への投影(メインプロジェクター1台、プロジェクターシャッター装置、ノートPC1台)
舞台背面への投影はパトスのプロジェクターを借りました。
本番2週間前くらいに投影テストもさせてもらっていたので、こちらは何の心配もありませんでした。

舞台では「暗転板付き」というステージを真っ暗にしている間に所定の位置に演者さんが移動してライトがつくと演者さんがパッと舞台に現れるという演出がありますが、プロジェクターの光があるとこの演出ができません。
パトスではプロジェクターの光を遮る自作の装置がありました。こちらは有線のスイッチで操作します。すごい。


ステージ背面へのプロジェクターはこの装置を借りて適宜プロジェクターの光を遮りました。


映像の内容は以下のようになってます。

シーン1:ハルさんが壁に張り付く映像
シーン2:暗転フェードインから蜘蛛の映像+床面への蜘蛛の巣の映像(Photo:yixtape)


シーン3:生首・手の浮遊の映像(Photo:yixtape)

シーン4:ハルさんが分身する映像→蛇柄の人体へのプロジェクション(Photo:yixtape)

シーン5:細胞のような映像(oF+GLSL→vvvv)(Photo:yixtape)

パッチは「IKI」の時よりはかなりシンプルになりました。
安心感があります。



■床面への投影(プロジェクター2台、自作シャッター装置2台、ノートPC1台)
シーン3の平面へ蜘蛛の映像を流すときに床面へは蜘蛛の巣の映像を投影しました。
床面へのプロジェクター2台での投影は初めての事でかなり不安要素がありました。

まず、メインプロジェクターと合わせると3台のプロジェクターを使用することになるのですが、私の使っているノートPCからは2台までしか投影できませんでした。ディスプレイポート×2とHDMIがあるので行けるかなぁと思って試してみたのですが、OS的にかGPU的になのか分からないですが、3台目に接続したプロジェクターが有効にならない状態です。

TripleHead2Go(TripleHead2Go を使う際の注意点)を使う方法も検討してしてみましたが、この機材特有のトラブルも考えられるのでこの方法は回避しました。メインの映像は最低限ノントラブルで出力したいので。
そんな訳で私が昔に使っていたXPのノートPCを用意して映像を投影。投影する映像は静止画だけだったので、PCについているD-SUBのディスプレイポートの他にUSBのディスプレイポートつけてを使いました。

プロジェクターの配置図はこちらになります。図面はJW-CADを使って書いてます。常設ではないプロジェクターを使用する場合は図面を作成することをお勧めします。なんとなーく現場に行ってプロジェクターを設置してというのはリスクがありすぎます。「計画無くして施工無し」ですね。



次にプロジェクターの吊り下げですが、パトスではこんな感じで自作のPC吊り下げ装置を作成してましたので、私も2台分のPC吊り下げ装置を自作しました。


作成した吊り具はこちらになります。特殊な部品はサウンドハウスで買った落下防止用のワイヤーとダボ金具だけで、それ以外はホーマックで購入しています。



機材的にはこの他に自作シャッター装置を作成して設置しました。詳細は次の項目で説明します。

vvvvのパッチはこんな感じです。今回は単純な蜘蛛の巣だけだったのでMultiScreen使いませんでした。




■自作シャッター装置(ESP-WROOM-02+SG90)
自作シャッター装置はESP-WROOM-02を使いました。
Arduinoで作ろうかなぁと思っていたのですが、タイミングよく@AquaLampさんのFacebookでESP-WROOM-02の記事を目にし、これは使えそうということで早速購入。さらにタイミングよく東京から@AquaLampさんと@Junky_Incさんが来るということでOFF会を札幌で開催することに。その際に@AquaLampさんが作った18日目の記事の物を持ってきてくれたのでかなり参考になりました。
ありがとうございます。

ESP-WROOM-02にSG90という5個で2,160円の安いサーボを2個つけて、電源は本体とサーボそれぞれをUSBから取得しています。
最初は本体とサーボで電源を共有していたのですが、動きが安定していなかったので、電源を別々にしたら安定してくれました。
それで完成したのがこちら。ESP-WROOM-02はSoftAP Modeで動かして、WEBサーバを立ち上げた状態にしておきます。
シャッターの操作はスマフォから

http://192.168.4.1/gpio/1 にアクセスするとシャッターが開く
http://192.168.4.1/gpio/0 にアクセスするとシャッターが閉じる

という感じの簡単なつくりになっています。
ソースはこちら。
#include 
#include  
 
const char *ssid = "aterm-155410-g";
const char *password = "1549ca2329993";
// モータードライバーのIN1を接続するピン
const int servoPin = 12;

// サーボモーターのインスタンス
Servo servo;

// Create an instance of the server
// specify the port to listen on as an argument
WiFiServer server(80);
 
void setup() {
    Serial.begin(115200);
    delay(10);
    // デジタル12番ピンをサーボモーター用として設定
    servo.attach(servoPin);

    // prepare GPIO2
    pinMode(2, OUTPUT);
    digitalWrite(2, 0);
  
    // Connect to WiFi network
    Serial.println();
    Serial.println();
    Serial.print("Connecting to ");
    Serial.println(ssid);

    WiFi.begin(ssid, password);
  
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }
    Serial.println("");
    Serial.println("WiFi connected");
  
    // Start the server
    server.begin();
    Serial.println("Server started");
 
    // Print the IP address
    Serial.println(WiFi.localIP());
}
 
void loop() {
    // Check if a client has connected
    WiFiClient client = server.available();
    if (!client) {
        return;
    }
  
    // Wait until the client sends some data
    Serial.println("new client");
    while(!client.available()){
       delay(1);
    }
  
    // Read the first line of the request
    String req = client.readStringUntil('\r');
    Serial.println(req);
    client.flush();
    // 回転角度
    int angle = 0;

    // Match the request
    int val;
    if (req.indexOf("/gpio/0") != -1) {
        for (angle = 0; angle <= 180; angle++) {
          // サーボモーターを回転
          servo.write(angle);
          // 処理を10ミリ秒停止
          delay(100);
        }
    }
    else if (req.indexOf("/gpio/1") != -1)
    {
        for (angle = 180; angle >= 0; angle--) {
            // サーボモーターを回転
            servo.write(angle);
            // 処理を10ミリ秒停止
            delay(100);
        }
    }    
    else {
        Serial.println("invalid request");
        client.stop();
        return;
    }
 
  
    // Set GPIO2 according to the request
    digitalWrite(2, val);
   
    client.flush();
 
 // Prepare the response
 String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n\r\n\r\nGPIO is now ";
 s += (val)?"high":"low";
 s += "\n";
 
  // Send the response to the client
 client.print(s);
 delay(1);
 Serial.println("Client disonnected");
 
 // The client will actually be disconnected 
 // when the function returns and 'client' object is detroyed
}


装置を動かしている状況の動画はこちらです。

回路図らしきものはこちらです。素人ですみません。fritzingの使い方もまだよくわかってません(汗



本当はすべてvvvvから操作したかったのですが、PCからのESP-WROOM-02へのWiFi接続が安定しないので断念。
PCやスマフォからだとインターネットにつながっていないWiFiとの接続だと10分くらいすると自動的に切断しちゃうんですかね・・・しばらく放っておくとESP-WROOM-02への接続が切れてしまう状況でした。
そんな訳でESP-WROOM-02への接続はかなりシビアなタイミングでスマフォから接続しシャッターを操作してました。

■反省点
・映像の投影は、ほぼ100%のオペレーションが出来ました!
・予算の関係もあり今回は出来ませんでしたが、プロジェクターの吊り具については調整がしやすい装置にしときたいところです。
高所でスパナーやモンキーを使って微調整するのは時間的にも厳しいものがあります。
・今回は舞台監督さんが図面通りにプロジェクターを吊るしてくれて配線し、ある程度投影を調整してくれていたので助かりました。・床面への投影は映像を合わせる調整が難しかったです。舞台からPCまで15m近くあり、2台のプロジェクターからの映像がきっちり合致しているのかがPCの位置からだとよくわからないんですよね。舞台とPCを何往復もしましたが、結局完璧には出来ませんでした。もう少し工夫が必要そうですね。
・自作シャッター装置は奇跡的に完璧。でも今度機会があったら有線の物理スイッチにするかも。
 パトスの有線シャッター装置は安心感が違いました。シーンごとにタイミングを見計らって、
 シャッターを上げ下げするのにスマフォでの操作は無理だなと思いました。まあ、nanokon使えればよいかな。


札幌国際舞踏フェスティバル
2017年2月12日(日)の田仲ハルさんの公演で映像を担当させてもらえそうです。
是非、お越しくださいませ!


札幌国際舞踏フェスティバル2017

舞踏公演
日程:2017年2月11日(土)、12日(日)
会場:生活支援型文化施設 コンカリーニョ
※全4回公演、国内外から8組が出演

公式ホームページ  http://sapporo-butoh.com/
FACEBOOKページ https://www.facebook.com/sapporobutohfestival/
TWITTER https://twitter.com/butoh_north_sap


あー、長くなってしまいました。申し訳ありません。
ご覧いただきありがとうございます。
以上、vvvv Advent Calendar 2016の19日目の記事でした。



2016年12月8日木曜日

舞踏(BUTOH)×vvvv

こんばんは。
vvvv Advent Calendar 2016の9日目の記事を書きます。
前日は、クロミー先生のvvvvでJPGのglitchを実装したです。グリッチ最高。

2016/6/11にConte 札幌でおこなわれた田仲ハルさんの舞踏公演「IKI」で映像を担当した時のお話です。
「IKI」は舞踏(田仲ハル)+Voice(Aya Ogawa)+コントラバス(Deku Ogawa)+シンセサイザー(
Chitoshi Mikami)というメンバーで、ボイスと舞踏を軸に様々な表現が交わる公演ということで
末席ながらvvvvを使って映像担当で参加させてもらってます。

■舞踏について

「舞踏(ぶとう:BUTOH)」を知らない方も多いと思うのでここでwikiの情報を転載させてもらうと、

暗黒舞踏(あんこくぶとう)は、日本の舞踊家土方巽を中心に形成された前衛舞踊の様式で、前衛芸術の一つ。日本国外では単にButoh(ブトー)と呼ばれ、日本独自の伝統と前衛の混合形態を持つダンスのスタイルとして認知されているが、誤解または独自解釈も多い。 なお、現在は、「暗黒舞踏」ではなく、たんに「舞踏」とだけ呼ぶのが一般的である。「舞踏」には様々な流れがあり、舞踏がすべて「暗黒舞踏」なのではない。

・・・・ということで良くわからないと思いますので、一度見て頂けると幸いです(汗
私も今回の公演に誘わるまで舞踏ってまったく知らなかったんですが体感してみるとスゴイです。
体感したことを上手に伝えることは私にはできません。


■「IKI」での映像投影

vvvvとopenFrameworks+GLSLを使った映像をプロジェクター2台で投影しました。
概要は以下になります。

・スチールシェルフを持込んでプロジェクタ2台を使った2048×768の映像を投影
・openFramewoks、GLSLで作った映像をvvvvに送信し投影
・映像を音に反応し微妙に変形させる
・あらかじめ撮影した映像を本人に重ねたり分身させたりして投影
・映像の位置はリアルタイムに微調整(手動)

以下が「IKI」での映像とパッチです。

◇オープニング映像:Akiyo Detoさんのイラストをvvvvで出力。黒い謎の物体が5個浮遊している。音に反応し、グリッチ。




◇シーン1:openFrameworks+GLSL+vvvv。細胞のような映像が音に反応して動く(Photo:小田 岳史)



◇シーン2:ハルさんの映像が分身
あらかじめ撮影していたハルさんの映像をvvvvで投影。
イメージはyoutubeに上げてある動画をみてください。




◇シーン3:蜘蛛の映像→デムシの映像を投影。(Photo:木野田 和也)
















シーン4:蛇の模様をハルさんの体に投影。( Photo:小田 岳史)






シーン5:川の映像→openFrameworks+GLSL+vvvvの映像(Photo:木野田 和也)




























以下が「IKI」の前半の映像です。後半は映像が撮影できてませんでした・・・。動画の撮影状況を確認している余裕がなかったです。



■システム全体構成
システム構成はこんな感じで、サブパッチで出力している映像をシーンに合わせてswitchで切り替えています。





■感想
・即興イベントという趣旨もあり、プロジェクターの設置が30分と投影テストの時間30分とかなり時間的にシビアでした。なんとか映像が途切れることがなく乗り切れたので良かったと思ってます。

・2画面のプロジェクションはつなぎ目の調整が肝かと思いますが、時間がなく今一でした。
ただ、2画面にしてよかったと思ってます。プロジェクター1台構成だと、幅3m×高さ2mの
映像しかだせなかったので、迫力に欠けたかなと思います。





・プロジェクターの映像も1台目、2台目でカラーバランスが一致していなくて今一でした。
 同じメーカーの中古品を使ったのですが、後から映像をみると色見の差が結構ありますね。
 後日わかったのですが、プロジェクターの設定でかなり解消できました。

・当初はKinectを使うことも想定してパッチを作成していたのですが、セッティングの時間がなかったので断念しました。いつか使ってみたいですね。

・今回は既存の映像を出力する機会が多かったですが、どの形式の動画がパフォーマンスが良いのか、まだ見極められてません。今回はaviファイルにしときました。

・後半、FPSがかなり落ちてきた様な気がします。ただ、後半はoF+GLSLの映像がメインだったので助かりました。動画だったら、カクカクしてたような気がします。

・タイムキープにStopwatchというノードを使用していたんですが、これは使わない方がよさげです。PCの負荷状態により時間が狂います。おかげで後半は混乱してしまい、映像を出すタイミングがグタグタになりました(汗

 

・現場調整が必要な人物とのコラボレーションや、複数画面の特別なサイズの映像投影はvvvvの得意分野だと思います。今後も積極的に活用していきたいです。

・2016/10/30にも田仲ハルさんの「ひかり蜘蛛」の舞踏公演で映像を担当させてもらいました。
 そちらの詳細も、Advent Calenderの空きがあれば書きたいなと思います。


■告知
2017年1月31日~2月12日に「札幌国際舞踏フェスティバル2017」が開催されます。



もしかするとちょっとだけ映像担当で参加させてもらえるかもです。。。
無論vvvvを使います。
詳細が決まったらまた告知させてもらいますが、「札幌国際舞踏フェスティバル2017」
是非ともお越しくださいませ。

あとクラウドファンディングも募集中みたいなのでよろしくです。

そんな訳で、vvvv Advent Calendar 2016の9日目の記事でした。
おやすみなさい。







2016年12月7日水曜日

vvvv × 数式で作った道の中を移動するってのを作ったお話

こんばんわ。

vvvv Advent Calendar 2016の7日目の記事を書きます。
ぎりぎり、まだ、途切れていない・・・。
でも明日はネタがないかも(汗

vvvvで数式で道を作りその内部を移動するってのを作ってみました。ちょっと酔いそうな映像ですよね・・・。


パッチはこんな感じです。


X、Y、Zが道を作っている数式です。
数式で算出されたX,Y,Z座標に半透明のboxを配置しています。
object count が配置するboxの数になります。

lookatノードでカメラのポジションを配置したboxの位置に設定し、
そのboxのindexを変化させることで、数式で作った道のなかを
移動しているような感じにしています。
lookatは現在の位置の一つ先のboxの位置を見るようにしています。
view change のトグルボタンで天井方向からの視点に切り替えれます。

plus valueボタンを押すと数式に一定の値が加算されこんな感じになります。



こんな数式でいろいろな形が表現できるってのがすごいですよね。
球のまわりとかシリンダーの周りとか移動しても面白そうですなぁー。
あと今回はBoxを配置しましたが、モデリングしたトンネルとかを配置しても面白そうですね。

作成したパッチは以下にあります。

https://github.com/wood2soils/vvvvoff/tree/master/20160924_math


数式は、ずけやまさんって人がたまに数式で描いた図を
スケッチしているのでそれを参考にさせてもらいました。
いつもスケッチを楽しみにしておりますw






そんなわけで、「vvvv × 数式で作った道の中を移動するってのを作ったお話」でした。
おやすみなさい。









2016年12月3日土曜日

TECHNE × vvvv

こんばんわ。
vvvv Advent Calendar 2016の4日目の記事を書きます。

vvvvを使った動画作品をEテレのTECHNE ID AWARD2に応募した時のお話です。
応募した作品はこちら。


youtubeで「3D ホログラム」で検索するとよくあるやつで、 逆ピラミッド型のアクリル板をiPhoneの上にのせて、映像をアクリル板に反射させて立体的に見えるよーっやつ。
あれをvvvvでつくってみました。

逆ピラミッドはアクリル板をamazonで購入しDIY。
3mmのアクリル板を使ったのですが1mmでもよかったかなと思います。
映像がアクリル板の表と裏に反射してブレて見えてしまいました。
ディスプレイは17インチの液晶ディスプレイの台座を外して使用。

vvvvではBlenderで作成した「T」「E」「C」「H」「N」「E」という文字のモデルを表示し、4方向からのCameraで出力しています。
15秒の動画なんですが、タイミングに合わせて「TE」「CH」「NE」の文字を大きくする為にTimelinerを使っていますが、それらしい使い方をしていなのでLFOでも良かった気がします。

ソースはこちらです。
https://github.com/wood2soils/techne



vvvvでは多画面の映像の出力が簡単にできるので、こういった類の作品の制作には向いているかなと思います。

で、賞はどうなったのかというと惨敗。
申し訳ありません。vvvv勢代表(?)として参戦したのに。。。

でも嬉しいことが1つありました。
テレビで放送された映像に私の作品がチラッと映ってます。
こんな感じ。
これで多少なりとも話のネタになるので報われた気がします。


video


アワードを受賞したのは「Shower of blossom」というiPhoneを使ったAR的な作品。
よくできてますよねぇ・・・すごい。(この作者の方とはいずれお会いできるような気がする・・・)

講評をみてみると・・・

「技法の性質上「プログラムで作っています」ということを前面に押し出す作品が多かった中、そうではなくきちんと企画が映像として成立しているのが素晴らしいと思いました。本当に枯れ木に花を咲かせられるようなアートアプリとかにできるといいですね。」

すみません!!プログラミングで作っていますって前面に押し出してて・・・(汗
次の機会があれば、vvvvを使いつつプログラミングの特性を生かした作品を作りたいですね。

そんな訳で、TECHNE ID AWARD2にvvvvを使った作品を応募したお話でした。