成長記(後編)
(前編はこちら)
再現したものに、Nukeで新規に もや を追加する
ここに、Nukeで勉強したことを利用して、ランダムな もや を追加していきたいと思います。
追加するために、NukeのDeep Compositeを使用します。
Deep Compositeとは
ピクセルごとに複数の不透明度と色のサンプルを格納できるDeep Imageというものを使用してコンポジットすることです。
Deep Imageとは
ディープイメージは、デプスチャンネルを持つ2Dのイメージ・シーケンス・3Dのジオメトリなどから生成できます。
今回作成した方法
今回、デプスチャンネルをレンダリングで書き出せるようになったので、そちらのデプスチャンネルを使用します。
ただ、デプスチャンネルはそのままだとかなり大きな値が入っています。
そこで、一度Shuffleノードでデプスチャンネルを抜き出して、色調補正などを行ってから、もう一度デプスチャンネルに直します。
調整が終わった画像がこちらです。
調整し終わった画像を元に、ディープイメージを生成します。
Deepfromimageノードを画像につなげます。
このままでは視覚化できないので、DeepToPointsノードのアウトプットをつなげます。cameraインプットにCameraノードをつなげておきます
ここで、Tabキーで3Dビューアに切り替えます。プロパティにDeepToPointsノードがあれば、ポイントクラウドでイメージが見えます。
そのときのキャプチャ画像です。
(DeepToPointsノード内で、ポイントの大きさや密度を変更することができます。)
今度は、もや を作成し、ディープイメージにします。
Noiseノードを作成し、zにアニメーションをつけて動きをつけます。
そして、Copyノードで、RGBAのどのチャンネルでもいいので、Depthチャンネルに情報をコピーします。
Gradeノードで霧の濃さなどを調整し、ディープイメージにします。
同じように、ポイントクラウドに変換します。Cameraインプットに先ほどと同じカメラをつなげます。
次に、DeepTransformノードを作成して、NoiseのDeepfromImageとDeepToPointsを下図のようにつなぎ変えます。
そして、Transformのtranslate zで もや の位置を調整します。
最後に、DeepHoldoutのholdoutに背景のディープイメージを、mainに もや のディープイメージをつなぎ、背景に隠されていないところだけの もや イメージを作成します。
最後に、当時の方法の最終合成結果画像と、この もや のイメージをかさねます。
もや の境目がはっきりしているので、 もや に対してBlurをかけます。
今回の方法の最終結果は、こちらです。
動画
最後に、それぞれのコンポジットの動画です。
当時の方法の動画です。
今回もやを追加した動画です。