読者です 読者をやめる 読者になる 読者になる

アニソンVJとプロジェクションマッピング

アニソンVJに関する最新ニュースやトピック、技術メモなど、初心者に分かりやすく解説。おすすめアニソンVJソフト: VDMX5, Quartz Composer オススメVJ素材: VJ Beeple 動画編集: Adobe AE, Pr. Apple FCPX, Motion.

VJをするには、VJ機材を以下のようにして接続します。
VJ機材の接続図

以下の機材は不要です。でも絶対必要と思い込んでる人の多いこと。
最新のVJ機材

このように著しく画質が悪化します。なんと7倍も画素数が違います。
最新のVJ機材に国民的2Dアイドルもびっくり

これは酷いですね!国民的2次元アイドルもびっくりです。これは超カッコ悪いですね!
VJ機材の画質比較
どうしても必要なら別の方法があります。詳しくはこちらのページをご覧ください。

openFrameworksからSyphonで映像を送る

f:id:ctg:20160618151456p:plain

Syphonとは、アプリケーション間でリアルタイムに映像をやり取りするための仕組みです。 例えばopenFrameworksで作った映像をリアルタイムにVDMX5に渡してエフェクトを掛ける。そして映し出す。といったことが可能になります。

 Syphon

今回はopenFrameworksからSyphonで映像を送る方法を解説します。

一旦Syphonで映像を出力すると、Syphon受信に対応した任意のアプリで映像を受信することができます。

 Syphon受信対応のアプリは、VDMX5, Modul8, CoGe, Resolume, openFrameworks, Max(Max/MSP)などがあります。これらのアプリはSyphon痩身にも対応しています。

以下手順。

まず必要なものを用意します。

openFrameworksを解凍し、そのaddons以下に解凍したofxSyphonフォルダを配置する。

oFのprojectGenerator.appを起動。

起動したらAddonsでofxSyphonを選択、Generateをクリック。

するとoFフォルダの "/apps/myApps/" 以下にoFのプロジェクトが生成される。それをXcodeで開き以下を入力する。

 

ofApp.h

#pragma once

#include "ofMain.h"
#include "ofxSyphon.h"

class ofApp : public ofBaseApp{

    public:
        void setup();
        void update();
        void draw();

        ofxSyphonServer output;
        int r,add;
        //以下省略
};

ofApp.cpp

#include "ofApp.h"

//--------------------------------------------------------------
void ofApp::setup(){
    ofSetFrameRate(60);
    output.setName("Main");
    r=10;
    add=10;
}

//--------------------------------------------------------------
void ofApp::update(){
    if(r==200)add=-10;
    if(r==10)add=10;
    r=r+add;
}

//--------------------------------------------------------------
void ofApp::draw(){
    //丸が大きくなったり、小さくなったりするだけのアニメーション

    ofSetColor(200, 0, 0);
    ofDrawCircle(ofGetWidth()/2, ofGetHeight()/2, r);
    //ここで送信している
    output.publishScreen();
}

ビルドのスキームはReleaseから(64-bit)を選択してビルド&実行ボタンを押す。

するとoFスケッチからSyphonで映像が送られる。

 

参考資料

qiita.com