On this page |
AOVs(“Arbitrary Output Variables:任意の出力変数”)は、別名Extra Image Planes(追加画像平面)とも呼び、OpenEXRなどの“ディープ”(マルチ平面)に対応したレンダリング画像フォーマットで、追加でピクセル単位のデータを記録します。
マテリアルベースのAOVs ¶
以前のバージョンのHoudiniでは、マテリアルベースのAOVを書き出すのに、かなり面倒な方法に従わなければなりませんでした。 Karma AOVはMtlX Standard Surface VOPに接続されておらず、代わりにMtlX Switch VOPに接続されていました。 そのAOVに切り替えた後に、Karma Render Settings LOPに進んで追加でRenderVarを作成し、名前を設定し、そのAOVのシグネチャを指定しなければなりませんでした。 その後でAOVが表示されました。 このワークフローは互換性を保つ理由で今でも利用可能ですが、もう使用しないでください。
Houdini20では、カスタムAOVsをセットアップするワークフローが大幅に改良され、今ではそれが推奨される方法になっています。 ただし、マテリアルベースのAOVsはまだUSDの概念ではないので、少し遠回りする必要があります。
AOVを定義する方法 ¶
最初の手順は、AOVを定義し、以下に示したようなシェーダネットワークを作成します。
-
Material Library LOPの中に入り、⇥ Tabを押してTabメニューを開きます。そこから
Karma Material Builder
ツールを選択します。このツールはSubnetwork VOPをセットアップします。そのサブネットワークをダブルクリックして中に入ります。 -
そのサブネットワークには既にいくつかのノードが含まれています。MtlX Image VOPを追加します。
-
Filename パラメータの横にある Open floating file chooser… ボタンをクリックして、テクスチャを読み込みます。
ここでの目的は、このテクスチャをカスタムマテリアルベースのAOVとしてエクスポートすることです。 いくつものAOVを書き出したいのであれば、テクスチャ/シェーダ毎に1個のKarma AOV VOPが必要になります。
-
Karma AOV VOPを追加します。この新しいノードのパラメータを見ると、 Create Render Var が有効になっていることが分かります。このオプションは、 AOV Name パラメータに入力されている名前のAOVを作成します。デフォルトの入力の
$OS
は、ノードの名前を使用します。ここでは、名前をbarrel_diffuse
と入力します。 -
MtlX Image VOPの出力をKarma AOV VOPの入力に接続します。
-
Karma AOVの出力を
Material_Outputs_and_AOVs
ノードのnext
入力に接続します。その入力の名前が、接続先のKarma AOVの名前に変わったことが分かります。
このネットワークは、AOVを作成し、自動的にそのAOVがUSD/Karmaで利用できるようにします。
Scene Graph Treeを見ると、barrel_diffuse
AOVを確認することができます。
AOVの使い方 ¶
AOVを動作させるには、Karma Render Settings LOPを接続すれば良いだけです。 このノードによってAOVが認識され、ビューポートでそのAOVを有効にすることができます。
-
ビューポートの右側にある Display Options バーの Viewing output ボタンをクリックします。
-
ドロップダウンメニューから
barrel_diffuse
AOVを選択すると、そのAOVがビューポートに表示されます。
左側の画像は、ビューポートでのレンダリング結果を示し、右側の画像はbarrel_diffuse
AOVを示しています。
これでKarma AOVの入力を別のノードに置換できるようになっているので、例えば、MtlX Unified Noise 3D VOPや他の有効なノードに置換すると良いでしょう。 この新しいワークフローは、AOVを自動的に更新するので、手動で何かする必要はありません。
Cryptomatte ¶
KarmaはCryptomatte AOVに対応しており、以下のデータソースを使用したCryptomatte IDsの生成に対応しています。
-
Primitives
-
Primsにバインドされているマテリアル
-
ConstantまたはUniformの
文字列/整数
Primvars
インスタンス毎に固有なIDを生成していれば、マテリアルスタイルシートを使用する必要がありません。
あなたがすべき事は、インスタンス毎に固有の文字列
Primvar値を割り当てることだけです。
Tip
さらなる情報は、Cryptomatteガイドを参照してください。
How to ¶
To... | Do this |
---|---|
Karmaから手動でCryptomatte AOVを出力する |
|
Cryptomatteを使ってAOVを出力する |
|
See also |