>   >  NUKE プラクティカル・ガイド:Vol.3:アニマル・ロジック流コンポジット
Vol.3:アニマル・ロジック流コンポジット

Vol.3:アニマル・ロジック流コンポジット

先日、ディスバウンドディメンジョンでCGデザイナーとして活躍中の田代恭規氏が発起人となり、都内某所にて有志による「Nuke勉強会」なるものを行なった。筆者はさておき、他の皆さんが素晴らしいプレゼンをしてくださったのだが、その中でもスペシャルゲストとして講演頂いた、元Animal Logic/山口幸治氏による「Nukeコンポジットの基礎解説」が、コンパクトながらも実に真を的を射た有意義な内容であった。この度、幸運にも山口氏の許可が得られたので今回はその手法を紹介しよう。

コンポジットは"演算"である

Nukeで頻繁に扱うノード・オペレータは[Merge]であるが、そのデフォルトのオペレーションである「over」には、以下のような数式が与えられている;



A + B(1 - a)


「a」とは、A(フォアグランド)のアルファのことである。それでは、アルファを持たない、画像をフォアにするとどうなるか......この数式に当てはめると「a=0」なので、



A + B(1 - 0) = A + B


つまり「add(加算)」と同じ効果になる。実際jpgなどのアルファを持たない画像フォーマットのものを重ね合わせると、このような加算と同じように、バックグランドが透けた結果になる。これを避けるには[Dissolve]を用いるか、予め[Shuffle]などのオペレータを組み合わせてアルファを宣言してやればよい。

アルファを持たない画像を用意する

<1>rgbaではなくアルファを持たない画像、つまりrgbしか持たない画像を用意する
 

アルファを持たない画像を[Merge]の「over」で乗せると、BGが透けた結果になる

<2>用意したアルファを持たない画像をそのまま[Merge]の「over」で繋げてしまうと、計算される結果「add」と同様になり、BGが透けてしまう
 

[Merge]の前に[Shuffle]を繋げる

<3>これを避けたい場合は、[Merge]を繋げる前に[Shuffle]などのオペレータでアルファを宣言しておけば解消される

その他の連載