色の結合演算についてメモ、もしくは減算ラブ
肝心の減算の写真が間違っていたので修正。
「計算」で2つめのレイヤーサイズにあわせるをチェックしていたので元の画像のサイズに拡大された分薄くなっていたみたい。かといってはずすと元の画像のセンターへずれるし… まぁ、計算の見落としがちな所がわかったからいいか。減算の項目に少し追記。<2010/11/26>
百花繚乱の和風画面処理を見ていると、昔、減算で同じようなことをやったのを思い出す。そういえば、最近は使ってないな、減算。やっぱり、RGB値を引くって感覚が直感的ではないからかな? それから、photoshopやAfter Effectsにも減算がモードとしては実装されておらず、インタラクティヴに確認できないところが難しいんだろうね。
しかし、減算でしかできないことというのがやっぱりあって、私はその効果が結構好きなのだ。実機で見ないと確認できないというのも、昔気質でいいよね。頭の中の計算がドンピシャリとあったときは実に気持ちがいいものなのだ。
いや、おれってクーーールだよね!?みたいな。バカ? しかし、実機でしか見られないものをここで云々しても後世に全く伝わらないので、AfterEffectsで減算を再現する方法も考えてみた。
大前提として、こういうのをきちんと人に伝えるには、結局数式しかないんだよなぁ。まずはそこらへんから、探してみた。
では、上記を参考に、基本の4つを列記。画像は百花繚乱からユッキーこと真田幸村♪
幸村の上に和風の模様を別レイヤーでのせるとする。そのときのモードによって、どんな結果がでるのか?というお話。
あと、ここではRGB値は0から1までの値とする。32bitRGB世界での255が1ということ。計算しやすい。
和風の模様はフラクタルノイズで作っていると思うのだが、家の環境ではAFX6.0STDとレトロ仕様なため使えない。従って、
- セルパターン
- 波形ワープ
- ブラー(滑らか)
- カーブ
- ノイズアルファ
- ブラー
- 色相/彩度
で、適当にでっち上げる。
セルパターンってあんまり使ったことないけど、フラクタルノイズと似た仕組みなのね。
加算《Add》
- PS なし 但し 覆い焼き(リニア) と同値
- AFX あり 上記と同じ挙動
上記の和風模様は明るすぎるため、50%の不透明度で実行。それでもRGB値が各所で飽和している。加算と減算は飽和しやすい。そこがデメリット。しかし、元の素材のコントラストはそのまま残る。
昔風フィルムを演出する場合、実際に加算ではフィルムノイズやゴミをシミュレーションしたエフェクトを表現する。
減算《Subtract》
- PS なし
- AFX なし
代替の式(加算で再現)
Dst = 1.0 - max((1-bg)+fg, 0.0)
ようは下の絵のRGB値を反転して加算した結果を再度反転するというもの。
AFX上では色々なやり方があるが、今回は手数少なくスマートに計算エフェクトを使用。
- 計算(入力を反転・2つめのレイヤーに和風エフェクトをセット・反転・100%・加算)
- 反転
以上で上記の式が成り立つはず。
加算の逆。和風模様のRGB値分もとの画像のRGB値から引く。今回は1から引いた値(反転)を減算。下の乗算と違い元画像のコントラストを侵さない点がメリット。うっすらとかけるのが吉。これはかけすぎ。髪の毛の線と塗りが残る位にしておきたい。
乗算《Multiply》
- PS あり
- AFX あり
乗算は影の演出として多用される。
掛け算は増える気がするものだが、0〜1までの値をかけているのだから、減ってしまうのだ。
上記の減算で作成した画像と比べると、ソフトフォーカスというか、コントラストが落ちているのがわかる(場所によって詳細が潰れる)。また模様の暗い部分が肌の上に影を落として見えるのも嫌なところ。(明るい=RGB値が高い程、変化が大きい)