他のレイヤーをブレンド(混ぜ合わせ)して利用するタイプのエフェクトです。性質上、ブレンドすべきデータとして「他のレイヤーで映像が出力されている」、「IMAGE SRCでデータソースが定義されている」といった条件を満たさないとほとんど意味がありません。
**Blendカテゴリ
|LEFT:160|LEFT:12|LEFT:12|LEFT:12|LEFT:64|LEFT:64||c
|BGCOLOR(#9cc):エフェクト名|BGCOLOR(#9cc):音|BGCOLOR(#9cc):絵|BGCOLOR(#9cc):物|BGCOLOR(#9cc):色|BGCOLOR(#9cc):位|BGCOLOR(#9cc):概要|
|BGCOLOR(#c9c):|BGCOLOR(#999):|BGCOLOR(#999):|BGCOLOR(#999):|BGCOLOR(#ccc):色|BGCOLOR(#ccc):位|BGCOLOR(#fcf):概要|c
|>|>|>|>|>|>|BGCOLOR(#333):|
|[[BufferBlender>#BufferBlender]]|―|○|―|A:△&br;HSL:―|―|「2枚のイメージを重ね合わせる」のが基本機能のエフェクトです。|
|[[VideoAlphaKey>#VideoAlphaKey]]|―|○|―|A:?&br;HSL:?|―|「左のレイヤーの映像」を「IMAGE SRCで指定した映像の特定の色」を使って「マスク/透過する」といった機能のエフェクトのようです。|
|[[Youlean From Buffer>#YouleanFromBuffer]]|―|○|―|A:?&br;HSL:?|―|「左のレイヤーの映像」を背景、「IMAGE SRCで指定した映像」を前景として、「前景の黒を透過として重ねる」といった機能のエフェクトのようです。|
|[[Youlean Mask>#YouleanMask]]|―|○|―|A:―&br;HSL:―|―|「左のレイヤーの映像」を背景、「IMAGE SRCで指定した映像」を前景として、「前景の黒をマスクとして重ねる」といった感じのエフェクトのようです。|
&aname(BufferBlender);
**BufferBlender
「2枚のイメージを重ね合わせる」のが基本機能のエフェクトです。
多様な「重ねあわせ方」ができます。
''注意'':
「2枚のイメージ」がないと話が始まらないので、BufferBlenderを利用するには、「Add content > Images」で映像(静止画、動画等登録できるものなら何でも可)を登録しておくか、他のレイヤーで「TO BUFFER」しておくことで「BufferBlender」の「IMAGE SRC」に少なくとも1つのイメージが登録されている必要があります。
----
''AUDIO SRC'':反応しません。
''IMAGE SRC'':指定した映像に「Buffer 1」と「名前付け」します。以後の処理はエフェクトの設定次第で変化します。
''MESH'':反応しません。
----
''BufferBlenderのIMAGE SRCの詳細の話'':
IMAGE SRCドロップリストで指定した映像の名前は、このエフェクトの中でのみ通用する名前として「Buffer 1」とします。また、「ドロップリストに表示されている順番」に「Buffer 2」から「Buffer 8」までの名前を付けます。
映像リソースがトータルで8つ未満の場合は、リストの最初に戻って番号が振られます。
たとえば、ドロップリストの中身がこんな状態だったとして、
|BGCOLOR(#ccc):|BGCOLOR(#999):||c
|IMAGE SRC|template1.jpg|<-Add picturesした画像|
||Built-in iSight|<-Add WebCamした映像|
||Mixer@width=100%;height=100%|<-Add FL Windowした映像|
||Output from layer A|<-Layer AからTO BUFFERでバッファに送られた内容|
||Output from layer B|<-Layer BからTO BUFFERでバッファに送られた内容|
||(none)||
「Output from layer A」を選択!
|BGCOLOR(#ccc):|BGCOLOR(#999):||c
|IMAGE SRC|Output from layer A|これを選択!|
した場合、
BufferBlenderエフェクトの中にある「''名前の付けられた8つのバッファ''」は、
こういう状態
|バッファ名|バッファの中身|
|Buffer 1|Output from layer A|
|Buffer 2|Output from layer B|
|Buffer 3|template1.jpg|
|Buffer 4|Built-in iSight|
|Buffer 5|Mixer@width=100%;height=100%|
|Buffer 6|Output from layer A|
|Buffer 7|Output from layer B|
|Buffer 8|template1.jpg|
になります(上のほうで書いた「映像リソースがトータルで8つ未満の場合は、リストの最初に戻って番号が振られます。」というのはこういう意味です)。
----
……という前提で、話は前後しますが、上の話でBufferBlenderがたとえば
レイヤA=Lavaエフェクト
レイヤB=FruityDanceLineエフェクト
レイヤC=BufferBlenderエフェクト
つまり、
|BGCOLOR(#9c9):LEFT:120|BGCOLOR(#c99):LEFT:120|BGCOLOR(#999):LEFT:120|c
|A|B|C|
|Lava|FruityDanceLine|BufferBlender|
|&color(,#fcc){◎};TO BUFFER|&color(,#fcc){◎};TO BUFFER |&color(,#ccc){◎};TO BUFFER |
となっていた場合、
「Layer Cの」の画面で
|BGCOLOR(#ccc):|BGCOLOR(#999):|c
|Bottom Layer|Buffer 1|
|Top Layer|Buffer 2|
|Blend Mode|Normal|
とセットすると(ほかのとこには触らないで!複雑になるから!)、
出力される映像は「''溶岩の上にたたずむFL-chan''」です。
ここで
|BGCOLOR(#ccc):|BGCOLOR(#999):|c
|Bottom Layer|Buffer 2|
|Top Layer|Buffer 1|
|Blend Mode|Normal|
とすると
出力される映像は「''溶岩の底に沈んだFL-chan''」です。
(沈んでるのでFL-chanの姿は見えません!)
----
「溶岩」はデフォルトでは不透明なので「重ね合わせが残念なことになる」のですが、「部分的に透明度の設定された映像」とか「パラメータで小細工した場合」とか、条件を整えていくと「いい重ね方」、「2つのBufferが両方程よく見える重ね方」というのもあります。「''溶岩の上にたたずむFL-chan''」もそのひとつです。FruityDanceLineの映像の「黒い部分」は透明に設定されているため「いい重ね方」ができます。
LavaをTop Layerに置いた場合でも、このスライダを
|BGCOLOR(#ccc):|BGCOLOR(#999):|c
|Bottom Layer|Buffer 2|
|Top Layer|Buffer 1|
|Blend Mode|Normal|
|Blend Alpha|&color(,#fc6){=====◎};|
こう
|BGCOLOR(#ccc):|BGCOLOR(#999):|c
|Bottom Layer|Buffer 2|
|Top Layer|Buffer 1|
|Blend Mode|Normal|
|Blend Alpha|&color(,#fc6){◎=====};|
するとか、さらには、「Blend Mode=Normal」の部分をアレコレ……
と、BufferBlenderの長い長い物語はこのへんから始まるわけですが、それは別の機会に。
私もまだ知りません。
----
''Blend Mode''ドロップリスト:
「Bottom Layer」と「Top Layer」で指定した2枚の映像の「重ねあわせ方」の指定です。
Normalは「フツウの感覚で、2枚の絵を、セル画とか切り絵を重ねるような意味で使える」と思います。
ほかのものは正直なところ狙って使える気がしないんですが、ピクセル単位で2枚の絵をどういう「演算」をして重ねるかという指定のようです。まあ、何となくかっこいいのを好きに使えばいいと思います。
加算減算など一般的な概念もありますが、どうもモード名称の選び方的に「Photoshopのブレンドモード」を強く意識していると考えてよさそうです。他の画像処理ソフトでもだいたい似た名前になってるようなので、そっち方面を調べればたぶんかなり正確な情報が絵入りで見つかるんじゃないかと思います。
Blend Modeについて、個人的に理解した範囲(合ってるか未検証)でヒントを列挙しておきます。
Bottom Layer、Top Layerをそれぞれbtm、topとか書いておきます。
''Normal'':各ピクセルについて、(透明度をうまいことしながら)btmにtopを「上書き」する。
''Dissolve'':各ピクセルについて、btmとtopの「どちらかをランダムで選択して描画」する(btmとtopにも拠りますが、結果としてブラウン管テレビの「砂の嵐」ノイズのようになります)。「ディザ合成」と訳されているようです。
''Additive'':各ピクセルについて、btmとtopの「色要素を加算(btm+top)して描画」する(「赤(#ff0000)+緑(#00ff00)=黄色(#ffff00)」的な意味です)。
''Subtract'':各ピクセルについて、btmとtopの「色要素を減算(btm-top)して描画」する(「黄色(#ffff00)-緑(#00ff00)=赤(#ff0000)」的な意味です)。
''"Multiply'':各ピクセルについて、btmとtopの「色要素を乗算(btm*top)して描画」……してるような気がします。
''Divide'':各ピクセルについて、btmとtopの「色要素を除算(btm/top)して描画」してるようです。
''Color'':未調査。
''Hue'':未調査。色指定のHSVのHのみ合成してる気がします。
''Saturation'':未調査。色指定のHSVのSのみ合成してる気がします。
''Brightness'':未調査。色指定のHSVのV(value=light=brightness)のみ合成してる気がします。
''Lighten'':「比較(暗)」と訳されているようです。
''Darken'':「比較(暗)」と訳されているようです。
''Overlay'':「オーバーレイ」と訳されているようです。
''Color Dodge'':「覆い焼きカラー」と訳されているようです。
''Color Burn'':「焼き込みカラー」と訳されているようです。
(気のせいでなければ「合成した結果=BufferBlenderの出力」全体としては透明度が失われてる気がします。バグとかでなく現行仕様として。「透明度と透明度の合成」とはこうあるべきだ、という概念が世間的に普及していないのかも知れません)。
----
''Displacement, Displace Layer, Displace Amt'':
DisplacementをOff以外にセットすると、画像が歪みます。
どうも「Displace Layerドロップリスト」で指定したイメージの「黒いピクセルは素通し、白いピクセルはズームして元の位置から移動」といった感じの挙動をしているようです。Displace Layerで指定した映像を「レンズ」とするとDisplace Amtはレンズの厚さか屈折率みたいな感じです(各モードの意味など、詳細は未調査です)。
「レンズ」として使う映像次第で、「凸凹したガラス越し」とか「森林地帯の景色が歪むプレデターの光学迷彩」とか、いろいろなニュアンスに化けます。「(Rainとかの)モノトーンの地味なエフェクト」は、この辺で使うのが想定されてるのかも知れません。Displacementの使用例は「ZGameEditor Visualizerのプリセット」の「X Cynex」カテゴリでいくつも見ることができます。
「さざ波」みたいに使うのが基本と思いますが、マスクをちょっと工夫すればBufferBlenderだけで[[こういう使い方>https://forum.image-line.com/viewtopic.php?f=1700&t=181690]]もできなくもなさそうです。
----
''Clamping'':
出力される映像全体を移動(Position x, Position Y)や縮小(ZoomやDisplace)したときに現れる「画面のフチ」の処理を指定します。という前提で観察すると意味が分かると思います。
デフォルトの「Off」は、映像を「繰り返しパターンにして無限に敷き詰める」モードです。&br;&br;フォーラムに画像を交えた解説があるのでそちらも参考になるかと思います( [[Image-Line Forum/Plugin & Preset Forums/ZGameEditor Visualizer forum/Buffer Blender Basics?>http://forum.image-line.com/viewtopic.php?f=1700&t=160974]] )。
直観的には「OpenGLのTextureの処理」を利用しているみたいなので、その辺を調べるとこのへんが何をやっているのか正確なところがわかるかなと思います。「WebGLの文脈でのGLSLのtexture2D型変数の処理」というテーマで調べれば、日本語チュートリアルもそこそこ見つかるかも知れません。
&aname(VideoAlphaKey);
**VideoAlphaKey
「左のレイヤーの映像」を「IMAGE SRCで指定した映像の特定の色」を使って「マスク/透過する」といった機能のエフェクトのようです。
とか言ってみたもののまだ意味がよくわかっていません。
''AUDIO SRC'':反応しません。
''IMAGE SRC'':指定した画像が「マスク」として使われるようです。
''MESH'':反応しません。
いわゆるクロマキー合成みたいなことをやってるようなんですがChroma keyのほかにRGB keyとかあったりするようです。
とりあえず「写真とか色が多彩で動きが少ない画像を左のレイヤーに」、「真っ赤な部分があったりする、色が極端な動画をIMAGE SRCに」指定してRGBのスライダをいろいろいじってみると何か見えてくるような気がします。効果的に使うには「マスクとする映像をどう作るか」のところが重要且つ調整が難しいという気もします。クロマキーらしく、「ブルーシートを背景にWebカメラで実況」とか?
&aname(YouleanFromBuffer);
**Youlean From Buffer
「左のレイヤーの映像」を背景、「IMAGE SRCで指定した映像」を前景として、「前景の黒を透過として重ねる」といった機能のエフェクトのようです。
''AUDIO SRC'':反応しません。
''IMAGE SRC'':指定した画像が「マスク」として使われるようです。
''MESH'':反応しません。
「透明」を表現するには通常「Alpha」を使うわけですが、このエフェクトは、既存の画像の「透明の部分」に加えて「黒っぽい部分」を透明として扱うというもののようです。
ZGameEditor Visualizerの各エフェクトが出力する映像は「黒バック」になる場合が多いのですが、これは多分二重の意味があって・・・。
ZGameEditor Visualizerで「黒っぽい映像」を「mp4などで出力した場合」、元の映像の黒っぽい部分が「透過」なら「透過」として扱われます。黒くて透過しないものもあると思いますが、元が透過なら透過です。
一方で、
ZGameEditor Visualizerで「黒っぽい映像」を「TO BUFFERを使ってバッファに出力した場合」、元の映像の黒っぽい部分が「透過」なら「黒」として扱われるようです。
こういった黒を透過に戻す手段はない、というか、TO BUFFERした映像は「元々本当に黒い映像だったのか、本当は透明だったけどシステムの背景に相当する黒が透過して見えているのか」を区別することができないようになっているためです(たぶん)。
''Ignore Black''トグルをオフにすると「IMAGE SRCで指定した映像(前景)」のみが表示されます。
これをオン(デフォルト)にすると「IMAGE SRCで指定した映像(前景)」の黒部分が透けて、「左のレイヤーの映像」が見えるようになります。
クロマキーを単純化した仕組みで、「前景が黒っぽい映像」には使えない(「天気予報でガチャピンが透明になってしまう」ようなことになる)わけですが、「それ以外の映像≒背景が黒っぽい映像」には手軽に使えるのではないかと思います。
''補足:''
たとえばー、
A:Electric->TO BUFFER
B:Lava
C:Youlean From Buffer(IMAGE SRC=Output from layer A)
とかやると
「Bが背景、Aが前景」となるわけですが、
「前景が透過するかどうか」のポイントとなるのは「前景の黒さぐあい」です。
この場合、
A:ElectricのLightnessスライダの全体を黒っぽくする(スライダを右に動かしす)
と、「''とても黒い部分''」が透けて、その部分「だけ」B:Lavaが見えるようになります。この「だけ」が確認できる状態で''Ignore Amount''スライダを動かすと、反応するのが観察できるかと思います。
&aname(Youlean Mask);
&aname(YouleanMask);
**Youlean Mask
「左のレイヤーの映像」を背景、「IMAGE SRCで指定した映像」を前景として、「前景の明るい部分だけを合成して暗い部分はマスクする」といった機能のエフェクトのようです。表現が合ってるかあんまり自信がありません。
''AUDIO SRC'':反応しません。
''IMAGE SRC'':指定した画像が「マスク」として使われるようです。
''MESH'':反応しません。
すごく大雑把に言えば「Youlean From Bufferの逆」です。
「左のレイヤーの映像」を背景、「IMAGE SRCで指定した映像」を前景として、「前景の明るさを透明度として合成する」といったことをやっています。
「白い部分」が透過するので、前景に、「背景が真っ白で黒っぽいものが映っている映像」を入れて使うのが基本となると思います。
少しでも明るさがあると容赦なく透けるので「背景の前にキャラクターがいる」ようなケースではあまりうまく行かない、幽霊が映りこんでいるような感じになるかと思います。そういう要求の場合は他のマスク系のエフェクトを使えばいいと思うので、「これはこういうもの」として使うのが良いかなと思います。
**関連項目
【ZGameEditor Visualizerのエフェクト】