篠島です。前回はレンダーパスの簡単な作り方を説明したので、今回はそれの合成の仕方を説明します。NukeやAfterEffectsで合成できますが、せっかくHoudiniにもコンポジット機能がついているのでHoudiniでの合成の仕方を紹介しようと思います。今回はEXRファイルを使って合成します。
今回のサンプルファイルです。EXRファイルも含まれています。
comp.zip
まずは img ネットワークに入り、Image Network ノードを作ります。
コンポジットの結果を確認するにはCoposite Viewで確認します。好きなウィンドウから + ボタンを押してウィンドウを好きなところに配置します。
そして File ノードでレンダリングした画像を読み込みます。そしてDisplay FlagをクリックするとCoposite Viewに画像が表示されるはずです。そしてCと書かれているリストの所から、EXRファイルに含まれているパス(チャンネル)の全てを見ることができます。
Coposite View でパスを表示してもそれはただ表示しているだけに過ぎないので合成はできません。FileノードにChannel Copyノードを追加することで、好きなチャンネルを好きなチャンネルに入れることができます。Targetがチャンネルのデータの移動先、Sourceがどこのチャンネルから情報を読み取るかという事です。下の例だと、Direct Diffuseをカラーチャンネルに移動しているわけです。
試しに Direct Diffuse と Direct Reflect を取り出して、合成したのが下です。合成するには Composite ノードを使います。Operation は Add で重ねます。Alpha Operation はデフォルトでOperationと同じ動作になっていますが、もしアルファがAddとして処理されてしまうと合成するたびにアルファの値が大きくなってしまうので、ここではOverを選んでいます。
これを全てのパスに対してやると、ネットワークは下のようになります。非常に分かりにくいですね。Direct と Indirect のコンポーネントを全て分解して合成しています。これにより、反射を調整したり、間接光の調整をすることができます。
同じ合成の仕方をするならば Composite の代わりに Layer ノードを使うと複数のインプットを繋げる事ができるので便利です。ネットワークビューもさっぱりして分かりやすいですね。
全てを Add で重ねると、オリジナルのレンダリング画像とまったく同じになるはずです(HoudiniのロゴがAddされるたびに色が白くなっていきますが・・・これは仕方がない)。これで、レンダリングのパスを分解して調整して合成しなおすプロセスが分かったと思います。