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

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

常に8ビット以上で処理するが故の落とし穴

また、NukeはRGB 8bit、つまり、0〜255(Nukeの場合表記上0〜1)の256段階に止まらず、16bitさらには32bitと、幅広いレンジの処理を常に行なっている(浮動小数点による演算を行なっている)。それ故、8bitで処理するAfeter Effects(バージョンCS5現在)などと同じ要領で合成しようとすると予期しない結果を得ることもある。例えば以下に挙げたケースでは、[ColorCorrect]で無茶な調整をしてしまい、エッジのアンチを破壊してしまっている。このような時は、通常[ColorCorrect]の前に[Unpremult]でいったん、アンチ部分のrgbに乗算されているアルファ成分を取り除く。すると、本来の rgb 値を得ることができるわけだ。さらに[ColorCorrect]後に[Premult]でアルファを乗算し直すのだが、これで、[Unpremult]によって元の数字で[ColorCorrect]が計算され、さらに、[Premult]でアルファの値を乗算された結果を確認できるであろう。この場合、r 値だけを見てみると;



300(r) X 0.13882(a) = 41.646

となり、0〜1範囲に収まっていない。よってアンチが綺麗にグラデーションしていない。これを避けるため、[ColorCorrect]の後に、[Clamp]を用いてrgbを0〜1の範囲で切ってしまう。そうすると、アンチがキレイにグラデーションしてくれる。

NukeのUI01

<1>[ColorCorrect]などで無茶な調整をすると......
 

NukeのUI02

<2>このようにアンチに正確にグラデーションを得ることができず、階段状に見えてしまう
 

NukeのUI03

<3>これを回避するために、いったん[Unpremult]を用いて[ColorCorrect]を計算しておく
 

NukeのUI04

<4>その上で[Clamp]を用いて、rgb 値を正常値の0〜1の範囲で切り捨てる。すると、元のものと同等の綺麗なアンチを得ることができる
 

いかがだっただろうか? Nukeでコンポジット作業を行う上では、各種オペレータがどのような数式を下に処理を行なっているのか、適確に把握しておく必要がある。そう聞くと、理数系の知識に対して苦手意識のある読者諸兄は尻込みするかもしれないが、まずは主立ったオペレータの計算式から焦らず落ち着いて覚えていくと良いだろう。それでは最後に、Nukeの基本的な操作方法について動画にまとめたものを載せておく。この動画を参考に、今回解説したコンポジットワークを実際に試してもらえると幸いだ。
 

 
Nukeの基本的な操作方法をデスクトップキャプチャ動画にまとめてみた。このオペレーションを習得すれば、スムーズに作業が行えるようになるはずだ

TEXT_テラオカマサヒロ(Galaxy of Terror)
株式会社ギャラクシーオブテラーにてヴィジュアル・エフェクツ・ディレクターとして活躍中。実写合成からフルCGまで、幅広いVFX制作に携わっている。
個人サイト「tiraokan. 」

その他の連載