実写撮影素材のBGとCGエレメントを合成する際に、
NukeでCG素材にのみ、実写素材に合わせた色収差を加えたい場合のcomposite…の提案です。
フルCGだと一番最後に全体でRGBを分離して、チャンネルをずらせばいいのですが、実写合成の場合は撮影された実写撮影素材にあわせた色収差をFG(CG素材)のみに適用して合成するのが理想だと思います。
例えば、、
今回はRチャンネルをx方向に10pixel移動させた色収差を考えてみます。
FGとBGを合成してから全体をRGB分解してずらした場合
今回はRチャンネルをx方向に10pixel移動させた色収差を考えてみます。
FGとBGを合成してから全体をRGB分解してずらした場合
FGとBGを合成してから全体をRGB分解してずらした場合 |
FGとBGを合成してから全体をRGB分解してずらした場合 |
FGとBGを合成する前にFG(CG素材)をRGB分解してずらしてから合成した場合
FGとBGを合成する前にFG(CG素材)をRGB分解してから合成した場合、
隣接するBGのピクセルがFG側にずれてこないため、望ましい結果が得られません。
その解決方法として、
<FGとBGを合成してから色収差を加えたもの>から、<BG単体で同じように色収差を加えたもの>を
MergeExpression nodeを使ってoverの逆算式を利用して分離します。
A = O - B * (1 - Aa)
overの逆算式は山岸さんのyamagishi - 2bit -Blogを参考にさせてもらいました。
Nuke Overの逆算を使った画像処理テクニック
http://yamagishi-2bit.blogspot.jp/2012/06/nukeover.html
<FGとBGを合成してから色収差を加えたもの>から、<BG単体で同じように色収差を加えたもの>を
MergeExpression nodeを使ってoverの逆算式を利用して分離します。
A = O - B * (1 - Aa)
overの逆算式は山岸さんのyamagishi - 2bit -Blogを参考にさせてもらいました。
Nuke Overの逆算を使った画像処理テクニック
http://yamagishi-2bit.blogspot.jp/2012/06/nukeover.html
MergeExpressionを使って分離 |
「FGとBGを合成してから色収差を加えたもの」のRGBチャンネルの扱いは、RGBとAlphaを別々に扱うためにMergeExpressionで処理しています。
以上、他にも色収差を扱う方法がある気もしますが、提案として投稿してみました。
なにか他に良い方法などあれば、ご指摘ください。。
以上、他にも色収差を扱う方法がある気もしますが、提案として投稿してみました。
なにか他に良い方法などあれば、ご指摘ください。。