| On this page | |
| Since | 18.0 |
概要 ¶
RenderVar は、レンダラーやシェーダで計算されるカスタム変数です。 RenderVarを計算する通常の用途は、Render Product内にRenderVarをAOV(出力画像内の追加データ平面)として含めることです。
このノードは、データ(シェーダ出力またはLight Path Expressions)のソースが指定されたPrimを作成します。 他にも、レンダラーがその変数を計算できるように(一般的にはレンダラー固有の)パラメータをエンコードすることができます。
Primsの作成 vs. 編集 ¶
このノードは、 USD Primsを直接的に作成または編集するノード のクラスに属します。 このようなノードは、 Create モード または Edit モードで動作します。 このモードは、 Create Primitives チェックボックスまたは Action ポップアップメニューで制御します。 Create モードでは、このノードは新しいPrimsを作成します。 Edit モードでは、このノードは、既存のPrim上のアトリビュートを変更します。 Editモード には2つのバリエーションがあります。
-
Edit は、
houdini:editableアトリビュートがfalseに設定されているPrimsを変更しません。 -
Force Edit は、このアトリビュートの有無や値に関係なくPrimを変更します。 このアトリビュートは、
Configure Primitives LOPを使用してPrim上に設定することができます。
USDアトリビュートに呼応したパラメータの左側には、このノードがアトリビュートを編集する 方法 を制御するためのポップアップメニューが付いています。
それだけでなく、接続可能なUSDアトリビュート(つまり、inputs:ネームスペース内にあるアトリビュート)には、アトリビュート入力とそのソース間の接続を切断できるメニュー項目があります。
Tips ¶
-
Pixarの仕様では、
RenderSettingsPrim、RenderVarPrim、RenderProductPrimすべてがシーングラフツリー内の/Render下になければならないことになっています(これによって、レンダーパイプラインは、ツリー全体を走査してそれらのPrimを検索する必要がないようになっています)。 -
詳細は、Pixarのレンダー設定の提案を参照してください。
-
特定のAOVタイプに関する詳細は、KarmaでのCrypromatteとマテリアルAOVsのページを参照してください。
パラメータ ¶
Sampling Behavior
このノードがクックされると、現行時間にただ1個のUSDタイムサンプルを生成するのではなく、たくさんのUSDタイムサンプルを生成することができます。
これは、このノードの後にCache LOPを接続することと同様ですが、こちらの方が非常に高速に評価され、他のノードからのデータをキャッシュ化しません。
これによって、以降のすべてのノードも時間依存にしてしまうノード時間依存を導入することなく、アニメーションデータをUSDで作成することができます。
その結果、一部のLOPネットワークの再生パフォーマンスを大幅に向上させることができます。
どのサンプリングモードでも、このノードのパラメータが時間と共に可変しない、且つ、ステージ上の他のタイムサンプルデータに依存していない場合、 呼応するアトリビュートに対して単一デフォルト値のみがUSD内で生成されます。 時間と共に可変するパラメータに対してのみUSDタイムサンプルが生成されます。
Sample Current Frame
現行時間に対して単一タイムサンプルが作成されます。
Sample Frame Range If Input Is Not Time Dependent
このノードの入力が時間依存の場合、このノードは、 Sample Current Frame モードと同様の挙動をします。 そうでない場合、このノードは、 Sample Frame Range モードと同様の挙動をします。
Sample Frame Range
Start/End/Inc パラメータを使用して、このノードのパラメータが評価される時間に対して複数の時間を生成し、それらの各時間においてアトリビュート毎にUSDタイムサンプルが作成されます。
Start/End/Inc
Sampling Behavior が Sample Frame Range の場合、このパラメータは、このノードで生成されるベースタイムサンプルの数と間隔を制御します。
このパラメータのデフォルト値は、@fstart、@fend、@fincです。
これらの値は、Houdiniを操作する時のグローバルHoudiniアニメーション設定の開始フレーム、終了フレーム、ステップサイズに相当します。
ROPノードを使用してフレーム範囲を生成した場合、これらの値は、実行したそのROPノードで指定された開始フレーム、終了フレーム、ステップサイズに相当します。
このデフォルトは、ディスクに書き出されるUSDファイルに、(Houdiniアニメーション設定に関係なく)ROPで指定されたフレーム範囲ちょうどのタイムサンプルを含めます。
Subframe Sampling
このノードで生成されたプライマリサンプル毎に、これらのパラメータは、そのプライマリサンプル時間付近に追加でサンプルを生成させることができます。 これは、プライマリサンプル時間だけでなく、カメラシャッターの開閉時間ちょうどにも正確なデータが存在することを保証するために非常によく使用します。
Shutter
プライマリサンプル時間を基準にシャッターの開閉時間を指定するのに使用されるメソッドを制御します。
Specify Manually
Shutter Open/Close パラメータの値で、プライマリサンプル時間を基準とした正確なオフセット値を指定します。
Use Camera Prim
Camera Prim パラメータで、シャッターの開閉時間が抽出されるカメラPrimのシーングラフパスを指定することで、プライマリサンプル時間を基準としたオフセット値を指定します。
Shutter Open/Close
Shutter モードが Specify Manually の場合、ここの2つのオフセット値がプライマリサンプル時間に追加され、シャッターの開閉時間が指定されます。 シャッターの開時間は0以下に、閉時間は0以上に設定してください。
Camera Prim
Shutter モードが Use Camera Prim の場合、ここには、入力ノードのステージ上のカメラPrimのシーングラフパスを指定します。 このPrimからShutter Open/Closeのアトリビュート値が読み込まれます。
Samples
プライマリサンプル毎に作成するサブフレームサンプルの数。 これらのサンプルは、シャッターの開時間から閉時間の間で均等に分布します。 このような均等な分布は、ちょうどプライマリサンプル時間にサンプルが作成される場合と作成されない場合があることに注意してください。
Always Include Frame Sample
有効にすると、ちょうどプライマリサンプル時間にサンプルを作成させることができます。 シャッター開時間とシャッター閉時間のどちらの Samples 値も既にプライマリサンプル時間でサンプルが配置されている場合、このオプションを有効にしても何の効果もありません。 そうでない場合、このオプションによって、追加でサンプルが作成されます。 つまり、プライマリサンプルあたりの実際のサンプル数は、 Samples で指定されたサンプル数よりも多くなる可能性があります。
Subframe Sampling
このノードで生成されたプライマリサンプル毎に、これらのパラメータは、そのプライマリサンプル時間付近に追加でサンプルを生成させることができます。 これは、プライマリサンプル時間だけでなく、カメラシャッターの開閉時間ちょうどにも正確なデータが存在することを保証するために非常によく使用します。
Shutter
プライマリサンプル時間を基準にシャッターの開閉時間を指定するのに使用されるメソッドを制御します。
Specify Manually
Shutter Open/Close パラメータの値で、プライマリサンプル時間を基準とした正確なオフセット値を指定します。
Use Camera Prim
Camera Prim パラメータで、シャッターの開閉時間が抽出されるカメラPrimのシーングラフパスを指定することで、プライマリサンプル時間を基準としたオフセット値を指定します。
Shutter Open/Close
Shutter モードが Specify Manually の場合、ここの2つのオフセット値がプライマリサンプル時間に追加され、シャッターの開閉時間が指定されます。 シャッターの開時間は0以下に、閉時間は0以上に設定してください。
Camera Prim
Shutter モードが Use Camera Prim の場合、ここには、入力ノードのステージ上のカメラPrimのシーングラフパスを指定します。 このPrimからShutter Open/Closeのアトリビュート値が読み込まれます。
Samples
プライマリサンプル毎に作成するサブフレームサンプルの数。 これらのサンプルは、シャッターの開時間から閉時間の間で均等に分布します。 このような均等な分布は、ちょうどプライマリサンプル時間にサンプルが作成される場合と作成されない場合があることに注意してください。
Always Include Frame Sample
有効にすると、ちょうどプライマリサンプル時間にサンプルを作成させることができます。 シャッター開時間とシャッター閉時間のどちらの Samples 値も既にプライマリサンプル時間でサンプルが配置されている場合、このオプションを有効にしても何の効果もありません。 そうでない場合、このオプションによって、追加でサンプルが作成されます。 つまり、プライマリサンプルあたりの実際のサンプル数は、 Samples で指定されたサンプル数よりも多くなる可能性があります。
Action
このノードが新しいPrimsを作成するのか、または、既存のPrimsを編集するのかどうか。
さらに、Force Editオプションを選択することで、このノードがPrims上のhoudini:editableアトリビュートを無視し、指定されたアトリビュートを常に編集するようにすることができます。
これは、houdini:editableアトリビュートがfalseに設定されたPrimsに対して警告を出してアトリビュートを設定しないEditモードとは対照的です。
Primitive Path
Create モードでは、これは、Prim(s)を作成するシーングラフ内の場所を制御することができます。
デフォルトは通常では/$OSになっています。
これは、ノードと同じ名前でルートレベルにPrimを作成します(例えば、/tube1)。
このデフォルト値は、名前の干渉を回避するのに役立ちますが、整理する観点では良くないです。
Primsを作成する時は、 Primitive Path が良い値になるように変更することを忘れないでください。
例えば、モデルを作成したノードの後でそのモデルに名前を付けるのではなくて、モデル内のジオメトリの後に名前を付けるようにしたいのであれば、/Modelsブランチ下にモデルを配置すると良いでしょう。
Create Primitives セクションには、新しいPrim(s)の作成方法に関する基本的なコントロールが含まれています。
Primitives
Edit モードでは、このノードには Primitives パラメータが表示されます。 このパラメータには、ノードが作用するPrim(s)を指定することができます。 テキストボックスの隣にある選択ボタンをクリックすることで、 Scene Graph Tree からPrimsを選択することができます。 コレクション内のすべてのPrimsのマッチングといった高度なマッチングには、プリミティブパターンも使用することができます。
Initialize Parameters
このノードが何も変更を適用しないようにするために、すべてのコントロールメニューパラメータの状態を Do Nothing 変更します。 さらに、最初の Primitives マッチから各プロパティの現行値を取得し、それに該当するパラメータの値を同じに設定します。 つまり、パラメータのコントロールメニューを Set or Create モードに変更すると、そのプロパティに現行値が設定されるので、新規に値を設定するよりも既存の値に変更を適用する方が簡単です。 レンダリング固有のタブを持つLOPで Rebuild Render-Specific Parameters を選択すると、そのレンダリング固有のタブのすべてのパラメータがそのLOPのデフォルト値にリセットされます。 シーン全体でそれらのパラメータをリセットしたいのであれば、トップメニューの Render メニューから Rebuild All Render-Specific LOP Parameters を選択すると良いでしょう。
このセクションは、ノードがPrimsを作成している時にのみ表示されます。
例:
-
空っぽのステージ上で
/world/objects/cube1に新しくCube Primを作成したい場合: Primitive Specifier を__Define__ 、 Parent Primitive Type を Xform に設定します。 -
/world/objects/sphere1にあるSphereのradiusをオーバーライドしたい場合: Primitive Specifier を Over 、 Parent Primitive Type を None に設定します。これによって、既存の親PrimsのPrimタイプは、このノードによって変更されないようにすることができます。
Primitive Count
作成するPrimsの数。
Primitive Type
作成するすべてのPrimsにこのタイプを設定します。
Primitive Kind
作成されるすべてのPrimsをこのKindに設定します。
Primitive Specifier
新しくPrimsを作成する時に使用するUSDオペレータ。
Define
完全に新規でPrimを作成します。まったく新しいPrimを作成したい場合、または、既存のPrimを置換したい場合に、これを使用します。
Over
既存のPrimをオーバーライドします。このPrim上で明示的に作成されていないアトリビュートは、下位レイヤの既存のPrimから値が取得されます。
Class
Primクラスを定義します。通常では、これは、よほどUSDを使い込んでない限りは必要ありません。
Class Ancestor
Primitive Specifier が Define または Over の場合、このパラメータは、いくつかの親PrimsのSpecifierをClassで編集します。
これによって、別々に2個のノードを使用することなく、 Class 内で Over または Define を作成するのが簡単になります。
Ptimive Specifier が Class の場合、Prim階層全体が既に Class Primsとして編集されているので、このパラメータは無効です。
Parent Primitive Type
Primitive Paths のパスに何も親が存在しない場合、このノードが自動的に親を作成します。この場合、このタイプの親ノードを作成します。
Standard ¶
Data Type
レンダー変数のUSDデータタイプ。
OpenEXRファイルに保存する時、このデータタイプを使用してそれらのチャンネル名が決定されます。
例えば、データタイプがcolor3fであれば、それらのチャンネル名はR, G, Bになり、データタイプがnormal3fであれば、それらのチャンネル名はx, y, zになります。
Tip
huskを使用してレンダリングし、カラーチャンネル名を小文字(例えば、r、g、b)にしたい場合、
もう1つRender Var LOPを追加し、それを使用して
driver:parameters:aov:husk:channel_lower_rgb (bool) RenderVarをtrueに設定します。
Source Name
レンダー変数の内容の取得先。以下の Source Type を参照してください。
レンダラーは、RenderVarから計算される値として、この名前の出力を検索するはずです。
Tip
Karmaでは、 Source Type に Raw や Primvar (Cryptomatteを含む)を指定した場合、変数名の頭にnoholdouts;を付けることができます。
これによって、マットホールドアウトや背景ホールドアウトがAOVに 寄与しない ように指定することができます。
例えば、ホールドアウトなしで標準のN AOVを出力するには、ray:noholdouts;Nと入力します。
Source Type
Source Name パラメータの解釈方法。
Raw
レンダラーに直接ソース名を渡します。これは、レンダラーがそのソース名の文字列を解釈できることを想定しています。これがデフォルトです。
Primvar
Source Name パラメータにはPrimvarの名前を指定します。
一部のレンダラーは、この名前を使って、そのPrimvarがレンダラーで用意されているかを確認します。 他のレンダラーは、適切なマテリアルネットワークを用意する必要があります。その場合は、これは単なる助言的な設定に過ぎません。
LPE
Source Name パラメータにはLight Path Expressionsを指定します。
(一部のレンダラーは、OSL Light Path Expression構文の拡張に対応している場合があります。その場合は必然的に移植性がなくなります)
Intrinsic
現在のところ、実装されていません。 今後のUSDでは、どのレンダラーでも実装されているカメラデプスなどの基本的なRenderVarsの移植性の高いリストが用意される予定です。
Karma ¶
Pixel Filter
画像ピクセルフィルタを使用することで、複数サンプルを単一ピクセルカラーに結合することができます。 例えば、Pixel Filterが単一サンプル(カメラに一番近いサンプル、または、最大値)を選択するようにすることができます。 最も一般的なのは、サンプル値の平均化を選択することが多いです。
このパラメータには、フィルタのリストを指定します。 これらのフィルタは、JSONリストとして指定されます。
Dithering
Karmaがピクセルを8または16ビットの整数チャンネルに量子化する時、ここには、使用するディザリング方法を指定します。 これは、AOVが8/16ビットの出力深度として指定されている場合にのみ実行されます。 浮動小数点値を8/16ビット整数チャンネルデータにしか対応していない画像フォーマットに書き出す時に変換が行なわれる場合には、これは実行されません。
Default Value
これは、画像平面のクリアカラーです。
Enable Cryptomatte
これを有効にすると、この画像平面がCryptomatteレイヤに変わります。 詳細は、Cryptomatteを参照してください。
Cryptomatte Max Overlap
1ピクセル内に格納可能なIDの最大数。値は6を推奨します。
Cryptomatte Manifest File
オプションの外部Manifestファイル。 これはRender Productと同じディレクトリに保存されます。 このパスを指定しなかった場合、ManifestファイルはRender Product内にメタデータとして埋め込まれます。
Utility Path Expression
これは、Light Path Expressionsと同じ構文を使用して、ユーティリティAOVを書き出すパス頂点(例えば、散乱イベント)を決定します。
デフォルトはCOで、最初のカメラ光線による最初のヒットからAOVが書き出されます。
別の例のC<TG>Oを挙げると、それは、最初の屈折イベント後の次のヒットからAOVが書き出されます(つまり、最初の屈折レイヤの後からAOVが書き出されます)。
C[(<T>.O)O]を使用すると、屈折光線 と 非屈折光線の両方を表示するCrypotmatteを生成することができます。
これは、Raw、Primvar、ShaderExport(kma_aov経由)のAOVタイプでのみ動作します。
Note
これは、光線の寄与度を一切考慮せずに、そのエクスプレッションにマッチした最後の頂点の値を書き出すので、
その見た目は間接光線のサンプリングの確率の影響を受けてしまうことに注意してください。
例えばKarma CPUでは、Automatic収束モードとPath Traced収束モードでは見た目が大きく異なる場合があります。
Husk ¶
huskコマンドラインレンダラーは、RenderVarからプロパティを検索し、各AOVを出力プロダクトに保存する時にそのAOVをどのように解釈するのか制御します。
Name
このRenderVarからのデータが格納された出力画像内のAOVの名前。
Format
この画像平面を出力ファイルに保存する時に使用するデータフォーマット。 この値は、AOVのレンダリングバッファを割り当てる際に、レンダリングデリゲートにも渡されます。
Multi Sampled
レンダーバッファをマルチサンプリングするかどうか。 この値は、AOVのレンダリングバッファを割り当てる際に、レンダリングデリゲートにも渡されます。
Clear Value
レンダリング前にバッファに設定する初期値。
この値は通常では0を設定しますが、Pzならば1e17に設定すると良いでしょう。
この値は、AOVのレンダリングバッファを割り当てる際に、レンダリングデリゲートにも渡されます。
Channel Prefix
AOVのチャンネル名を生成する時、huskは、そのデータのタイプに基づいてチャンネルコンポーネント名を生成します。
例えば、カラーチャンネルの名前はR、G、Bとなります。
このオプションによって、コンポーネント名の頭に共通名を付けることができます。
例えば、 Channel Prefix をdiffuseに設定すると、コンポーネント名はdiffuse.R、diffuse.G、diffuse.Bとなります。
Channel Lower RGB
通常では、huskは、大文字のR、G、B、Aを使用して、カラーチャンネルのOpenEXRチャンネル接尾辞を生成します。
このオプションを有効にすると、その接尾辞は小文字のr、g、b、aになります。
例えば、diffuse.R、diffuse.G、diffuse.Bがdiffuse.r、diffuse.g、diffuse.bになります。
これは、カラーチャンネルのみに適用されます。
Source Color Space
RenderVarのソースカラー空間を指定します。
通常では、これはレンダーデリゲートの内部作業空間(つまり、scene_linear)です。
このオプションは、そのソースカラー空間を手動で指定することができます。
通常では、非カラーAOVs(つまり、ポイントデータとか法線データ)は、デフォルトでrawカラー空間です。
このオプションは、それらのAOVを強制的に指定したカラー空間のカラーで解釈させることができます。
Output Color Space
RenderVarの出力カラー空間を指定します。
これは、ソースカラーデータをレンダープロダクト出力に書き出す前に変換されるカラー空間です。
デフォルトでは、huskはOpenColorIOのfile_rulesを使用して、その出力カラー空間を自動的に決定します。
通常では、非カラーAOVs(つまり、ポイントデータとか法線データ)は、デフォルトでrawカラー空間です。
このオプションは、それらのAOVを書き出す前に強制的にカラーデータとして解釈させてカラーを変換させることができます。
Compression
一部のフォーマットは、AOV単位で圧縮することができます。 これは、このAOVに圧縮を設定します。
OpenEXR Compression
マルチパートOpenEXR画像を保存する時、ここには、このAOVの圧縮を指定します。
例えば、カラーチャンネルには非可逆圧縮(DWAなど)を使用し、ジオメトリ法線の保存には可逆圧縮(piz)を使用したいことでしょう。
DWA Compression Level
DWA-AまたはDWA-Bの圧縮を使用する時の圧縮レベル。
| See also |