Houdini19.0 Karma紹介 後編「Render Settings&Output」
はじめに
YouTubeに説明動画をUPしておりますので、併せてご覧ください。
----------------------------------------------------------------------
今回説明するパート
Render Settings
Karma Render Properties
「Karma Render Properties」はRender Vars、Render Product、
Render Settingsをプリムとして作成することが出来ます。
このノードに対して、USD Render LOPノードを追加したものがKarma Rendererのノードとなります。
「Karma Render Properties」を使用することで、プレビューチェック用れレンダリング設定であったり、ファイナル用のレンダリング設定を分けておくことが出来ます。
ビューポートレンダリングを行う際に「Render Settings」から選択することも出来ます。
パラメータの「Rendersettings Primit…」を「/Render/$OS」に書き換え、ノード名も「preview」に変更することで、左下のシーングラフツリー上に「preview」のプリミティブが追加されたことが確認できるかと思います。
ファイナル用に設定したノードも、同じ手順で変更を行うことでシーングラフツリー上に設定できます。
また「Render Settings」から、変更したプリミティブ名で選択肢が表示されていることも確認できます。
Background Plate
「Background Plate」ノードもHoudini19から新たに搭載された機能になります。
オブジェクトへの背景の映り込みの付与や、Holdout AOVを作成することが出来ます。
このノードのパラメータに「Holdout AOVs」にて、チェックを入れたコンポーネントがAOVとして出力されます。
実践
「Reference」ノードにてモデルを読み込んだシーンを用意します。
「SOP Create」ノードにてマッドオブジェクト用のGridを用意し「Merge」で結合します。
そしてその下に「Dome Light」「Background Plate」を設置します。
「Background Plate」のパラメータ「Plate」に対して、映り込みとして使用したい 画像ファイルを読み込みます。
また「Holdout AOVs」にもすべてチェックを入れています。
そして「Primitives」に、マットオブジェクトを選択する必要があります。
シーングラフツリー上の「sopcreate1」がマッドオブジェクト用のGridなので、「Background Plate」のパラメータ「Primitives」にドラッグアンドドロップします。
次に「Background Plate」の下に「Karma Render Properties」を繋ぎます。
右の入力は「Additional Render Vars」といい、これを接続することで先ほど設定したバリアブルが入力されるので、接続する必要があります。
「Karma Render Properties」のパラメータ「Image Output」の「AOVs(Render Vars)」の「Import Render Vars From Second Input」に
チェックを入れることで、AOVを読み込んでくれるようになります。
そして「Camera」「Karma」を作成し、「Karma」の第1入力に「Camera」、第2入力に「Background Plate」を接続します。
また「Karma」ノードのパラメータ「Image Output」の
「AOVs(Render Vars)」の「Import Render Vars From Second Input」にも
チェックを入れます。
この状態でレンダリングを行うことでこのような結果が得られます。
透過素材部分は透けて、向こう側が見えるようになっており、鏡面部分には背景画像が映りこむようになっています。
Output
Houdini19からは、従来のバージョンに比べてより多くのAOVを分けて出力できるようになったほか、LPEタグを設定できるようになりました。
Light Path Expression
LPEは「Light Path Expression」の略で、カメラから光源までのライトパスを追跡する処理となります。
シェーダーが実行されたとき、シーン内の各モデルが、どの種類の光源からのレイの影響を受け取っているかを各要素として抽出することができます。
また新しく追加されている「Split per LPE Tag」を有効にすることで、光源ごとのライトパスをAOVとして出力することが出来ます。
LBEタブは「Karma Render LOP」ノードの「Image Output」の
「AOVs(Render Vars)」に各コンポーネントがオプションとして用意されており、チェックを入れることで出力することが出来ます。
また右側の「Split per LPE Tag」にチェックをいれます。
次にLPEタグとして設定したいライトを選択し、
パラメータの「Karma」タブ内の「Lightセッティング」にある
「LPE Tag」を設定することでLPEタグとして設定することが出来ます。
「/$OS」はノード名がそのまま命名される設定となっています。
出力した画像はこのようになっており、「C_(/$OS)」となって各LPEを確認することが出来るようになります。
Ray Level Outputs
「Ray Level Outputs」はレンダリング中に発生する各レイに関するデータをキャプチャしたもので、深度情報やノーマル、シーン内の各オブジェクトのエレメントごとにデータを出力することが出来ます。
Cryptmatte
「Extra Render Vars」として「Cryptmatte」を出力することも出来ます。
「Cryptmatte」はオブジェクトごと、またはマテリアルごとに生成されるマットの集合のことで、固有のカラー値に基づいたマスキングを行う際に使用することが可能です。
注意点として複数のRay Level Outputが有効の状態で、Mplayでプレビューした場合、Ray Level AOVの情報が正しく表示されない場合があります。
Mplayでのプレビューではなく連番ファイルとしてディスクへの保存であれば安定して出力することができます。
Deep Camera Map
「Deep Camera Map」はカメラから一番近いサーフェスまでの深度情報付きの情報を持ったレンダリング画像を、ボリュームとサーフェスを情報として分けて出力することができるマップとなっています。
ただしピクセル毎に保存する情報量が大きいため注意が必要です。
また2K(2048×1080)のDCMフレームは通常で1~2 GB のディスク容量が必要になってきます。この容量問題への対策として「Deep Output」タブの
中に「EXR Compression」という項目があり、デフォルトでは
「ZIP(Single Scanline)」というモードになっているので
圧縮のオプションが実行されている状態になっています。
---------------------------------------------------------------------
「Houdini19.0 Karma紹介」は以上となります。
ご閲覧ありがとうございました。