[openFrameworks]画面にいろんなエフェクトを簡単にかけてみる
この記事を読んでできるようになること
<動画>
https://youtu.be/SsKdUQJesNk
このように今回はpcカメラの映像にリアルタイムでキーをおしたら画面に何層ものエフェクトをかけることができるようになる、というものをつくれるようにします。
だいぶ前につくられたaddonなのですがとても面白いことが簡単にできるのでしっかりと残しておきます。
使用するもの
openframeworks : http://openframeworks.cc/ja/
ちなみに僕のバージョンはv0.9.8です。
addon : ofxPostGlitch
https://github.com/maxillacult/ofxPostGlitch
いやそれどんなaddon?
FBOへのいろんなエフェクトが簡単にかけることができるようになるaddonです。
たくさんのエフェクトが用意されています。もちろんカスタムも可能です。
紹介動画(?) : https://vimeo.com/58698980
用意されているエフェクトの文字(たぶんあとでつかいます)
OFXPOSTGLITCH_CONVERGENCE
OFXPOSTGLITCH_GLOW
OFXPOSTGLITCH_SHAKER
OFXPOSTGLITCH_CUTSLIDER
OFXPOSTGLITCH_TWIST
OFXPOSTGLITCH_OUTLINE
OFXPOSTGLITCH_NOISE
OFXPOSTGLITCH_SLITSCAN
OFXPOSTGLITCH_SWELL
OFXPOSTGLITCH_INVERT
OFXPOSTGLITCH_CR_HIGHCONTRAST
OFXPOSTGLITCH_CR_BLUERAISE
OFXPOSTGLITCH_CR_REDRAISE
OFXPOSTGLITCH_CR_GREENRAISE
OFXPOSTGLITCH_CR_REDINVERT
OFXPOSTGLITCH_CR_BLUEINVERT
OFXPOSTGLITCH_CR_GREENINVERT
使用手順
・ofxPostGlitchをダウンロードしてaddonsのフォルダに追加します。
・projectGeneratorで
このようにaddonsとして追加してプロジェクトを作成します
・<重要>つくったプロジェクトのbin>dataの中に"ofxPostGlitch-master"に入っているShadersというファイルをコピーしてきておきます
・projectを開き、早速コードを書いていきます!
コード
#include "ofxPostGlitch.h"
インスタンス化
ofxPostGlitch postGlitch;
ofFbo buffer;
//pcカメラに使用
ofVideoGrabber video;
//音楽に使用
ofSoundPlayer soundplayer;
//キーの判定に使用
bool pressedKey = false;
ofFboとは? : http://qiita.com/gantyu/items/5df79b025205aafa3dc8
void ofApp::setup(){
buffer.allocate(512, 384);
postGlitch.setup(&buffer);
//pcカメラについて
video.initGrabber(ofGetWidth(), ofGetHeight());
//音楽について
soundplayer.load("音楽ファイルの名前:bin>dataの中に入れておく");
soundplayer.setLoop(true);
soundplayer.setVolume(1.0);
soundplayer.play();
}
void ofApp::update(){
//pcカメラについて
video.update();
}
void ofApp::draw(){
// pcカメラで撮影している映像を描画する処理
buffer.begin();
video.draw(0,0);
buffer.end();
// エフェクト選択
//ここのOFXPOSTGLITCH_TWISTのところをかえればいろんなエフェクトにできます
postGlitch.setFx(OFXPOSTGLITCH_TWIST, pressedKey);
// エフェクトをかける(エフェクトを描画できるようにする)
postGlitch.generateFx();
//bufferで囲んだ部分の処理を描画
buffer.draw(0,0);
}
void ofApp::keyReleased(int key){
//1のキーがはなされ時エフェクトがかかる
if(key == '1'){
pressedKey = !pressedKey;
}
}
どうでしょう?
エフェクトがかかったのではないでしょうか?
ここからさらに配列などを使用していくつもエフェクトを使えるようにすれば重ねることができるので面白い映像が出来上がっていくとおもいます。
ぜひこのaddonを活用して面白いopenframeworksの作品をどんどん作っていきましょう!
このコードきたないよ、とかこここうしたほうがいいんじゃない?とか意見があればぜひいってください!
よろしくお願いします!
では。
参考資料
https://note.mu/loveandsheep/n/n0d7cfafa9794
http://d.hatena.ne.jp/shu223/20141011/1413030973
Author And Source
この問題について([openFrameworks]画面にいろんなエフェクトを簡単にかけてみる), 我々は、より多くの情報をここで見つけました https://qiita.com/hazamayuji1004/items/d60f24238156bd1c9af8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .