Processing から Syphon を使って MadMapper に実行結果を送信する


概要

  • ProcessingからMadMapperに実行結果を送信するのでプロジェクションマッピングでもProcessingが使えてHAPPY!!
  • Syphon経由しているので各種VJソフト用にも使えそう

関連 :
MacとUnity2017.4.1f1とMadMapperでプロジェクションマッピング - Qiita

解説

実験環境

  • Mac High Sierra
  • Processing 3.4
  • MadMapper Demo 3.5.1

手法

1 . Processingを起動していつもどおりコーディング
2 . スケッチ > ライブラリをインポート > ライブラリを追加 から「Syphon」を選択しインストール

3 . スケッチ > ライブラリをインポート > Syphon を選択
4 . setup関数内にSyphon送信用のコードを記述
P3Dモードしか動かないようなので注意

import codeanticode.syphon.*;
PGraphics canvas;
SyphonServer server;

void setup() {
  size(350, 350, P3D);
  canvas = createGraphics(350, 350, P3D);
  server = new SyphonServer(this, "Processing Syphon");
}

5 . draw関数内などに書いた描画用コードを上記canvas対象に書き換え、draw関数の最後に送信用のコードを記述

void draw() {
  canvas.beginDraw();
  canvas.fill(100, 0, 0);
  canvas.stroke(255, 0, 0);
  canvas.ellipse(100, 100, 50, 50);
  ...
  canvas.endDraw();
  server.sendImage(canvas);
}

6 . Processingを実行
7 . MadMapperを起動し、左パネルのManage Surfacesアイコン(四角のアイコン)から適切な形のオブジェクトを追加
下記画像では円を追加している(左に並んでいる+マークのついたアイコンから追加できる)

8 . 右パネルの素材リスト下部にある「Syphon」欄でProcessingから送信した映像を選択
9 . Processingから送信した映像が中央パネルに配置されることを確認

余談

ライブコーディングに使えるかも?

Processing側でコードを変更→再実行すると自動的にMadMapper上の映像もそのとおりに切り替わるのでうまくやればライブコーディング的な楽しみ方ができる…かも?

Windows なら Spout が使える

今回はMac+Syphonを使用したが、Windowsで同じようにProcessingの実行画面をMadMapperに送信したい場合はSpoutが使える
以下の記事が大変参考になったのでオススメ

ProcessingとResolumeを連携させて、映像作ってみた時の話 - Qiita

参考