On this page | |
Since | 18.0 |
概要 ¶
RenderVar は、レンダラーやシェーダで計算されるカスタム変数です。 RenderVarを計算する通常の用途は、Render Product内にRenderVarをAOV(出力画像内の追加データ平面)として含めることです。
このノードは、データ(シェーダ出力またはLight Path Expression)のソースが指定されたPrimを作成します。 他にも、レンダラーがその変数を計算できるように(一般的にはレンダラー固有の)パラメータをエンコードすることができます。
Primsの作成 vs. 編集 ¶
このノードは、 USD Primsを直接的に作成または編集するノード のクラスに属します。
このようなノードは、 Createモード または Editモード で動作します。
このモードは、 Create Primitives チェックボックスまたは Create/Editポップアップメニュー で制御します。
Createモードでは、このノードは新しいPrimsを作成します。
Editモードでは、このノードは、既存のPrim上のアトリビュートを変更します。
Editモード には2つのバリエーションがあります。
Edit は、houdini:editable
アトリビュートがfalse
に設定されているPrimsを変更しません。
Force Edit は、このアトリビュートの有無や値に関係なくPrimを変更します。
このアトリビュートは、Configure Primitives LOPを使用してPrim上に設定することができます。
USDアトリビュートに該当したパラメータの左側には、このノードがアトリビュートを編集する 方法 を制御するためのポップアップメニューが付いています。
それだけでなく、接続可能なUSDアトリビュート(つまり、inputs:
ネームスペース内にあるアトリビュート)には、アトリビュート入力とそのソース間の接続を切断できるメニュー項目があります。
ポップアップのメニュー項目 |
意味 |
---|---|
Set or Create |
既にアトリビュートが存在しているかどうかに関係なく、指定した値をそのアトリビュートに設定します。 |
Set If Exists |
既にアトリビュートが存在している場合にのみ、指定した値をそのアトリビュートに設定します。 このモードを使用することで、正しいタイプのPrimsにのみアトリビュートを設定することができます。
例えば、 |
Block |
アトリビュートが存在していないように見せかけるので、これはデフォルト値を取得します(アトリビュートがPrim上にまだ存在していない場合、これは何もしません)。 |
Disconnect Input |
アトリビュート入力とそのソース間の接続を切断します。 入力接続はアトリビュート値よりも優先度が高いので、入力を接続すると、アトリビュート値が効果を持つようになります。 |
Do Nothing |
このパラメータを無視し、どのようにしてもアトリビュートを作成も変更もしません。 |
Tips ¶
-
Pixarの仕様では、RenderSettings Prim、RenderVar Prim、RenderProduct Primすべてがシーングラフツリー内の
/Render
下になければならないことになっています(これによって、レンダーパイプラインは、ツリー全体を走査してそれらのPrimを検索する必要がないようになっています)。 -
詳細は、Pixarのレンダー設定の提案を参照してください。
パラメータ ¶
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
入力ノードのステージ上のカメラ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モードでは、このノードには Primitive パラメータが表示されます。 このパラメータには、ノードが作用するPrim(s)を指定することができます。 テキストボックスの隣にある選択ボタンをクリックすることで、 Scene Graph Tree からPrimsを選択することができます。 コレクション内のすべてのPrimsのマッチングといった高度なマッチングには、プリミティブパターンも使用することができます。
Initialize Parameters For Edit
Editモードでは、このノードが何も変更を適用しないようにするために、すべてのコントロールメニューパラメータの状態をDo Nothing
変更します。
さらに、最初の Primitives マッチから各プロパティの現行値を取得し、それに該当するパラメータの値を同じに設定します。
つまり、パラメータのコントロールメニューをSet or Create
モードに変更すると、そのプロパティに現行値が設定されるので、新規に値を設定するよりも既存の値に変更を適用する方が簡単です。
Create Primitives
このセクションは、ノードが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 Kind
作成されるすべてのPrimsをこのKindに設定します。
Primitive Specifier
新しくPrimsを作成する時に使用するUSDオペレータ。
Define
完全に新規でPrimを作成します。まったく新しいPrimを作成したい場合、または、既存のPrimを置換したい場合に、これを使用します。
Over
既存のPrimをオーバーライドします。このPrim上で明示的に作成されていないアトリビュートは、下位レイヤーの既存のPrimから値が取得されます。
Class
Primクラスを定義します。通常では、これは、よほどUSDを使い込んでない限りは必要ありません。
Class Ancestor
Specifier がDefine
またはOver
の場合、このパラメータは、いくつかの親PrimsのSpecifierをClass
で編集します。
これによって、別々に2個のノードを使用することなく、Class
内でOver
またはDefine
を作成するのが簡単になります。
Specifier がClass
の場合、Prim階層全体が既にClass
Primsとして編集されているので、このパラメータは無効です。
Parent Primitive Type
Primitive Paths のパスに何も親が存在しない場合、このノードが自動的に親を作成します。この場合、このタイプの親ノードを作成します。
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
入力ノードのステージ上のカメラ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モードでは、このノードには Primitive パラメータが表示されます。 このパラメータには、ノードが作用するPrim(s)を指定することができます。 テキストボックスの隣にある選択ボタンをクリックすることで、 Scene Graph Tree からPrimsを選択することができます。 コレクション内のすべてのPrimsのマッチングといった高度なマッチングには、プリミティブパターンも使用することができます。
Initialize Parameters For Edit
Editモードでは、このノードが何も変更を適用しないようにするために、すべてのコントロールメニューパラメータの状態をDo Nothing
変更します。
さらに、最初の Primitives マッチから各プロパティの現行値を取得し、それに該当するパラメータの値を同じに設定します。
つまり、パラメータのコントロールメニューをSet or Create
モードに変更すると、そのプロパティに現行値が設定されるので、新規に値を設定するよりも既存の値に変更を適用する方が簡単です。
Create Primitives
このセクションは、ノードが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 Kind
作成されるすべてのPrimsをこのKindに設定します。
Primitive Specifier
新しくPrimsを作成する時に使用するUSDオペレータ。
Define
完全に新規でPrimを作成します。まったく新しいPrimを作成したい場合、または、既存のPrimを置換したい場合に、これを使用します。
Over
既存のPrimをオーバーライドします。このPrim上で明示的に作成されていないアトリビュートは、下位レイヤーの既存のPrimから値が取得されます。
Class
Primクラスを定義します。通常では、これは、よほどUSDを使い込んでない限りは必要ありません。
Class Ancestor
Specifier がDefine
またはOver
の場合、このパラメータは、いくつかの親PrimsのSpecifierをClass
で編集します。
これによって、別々に2個のノードを使用することなく、Class
内でOver
またはDefine
を作成するのが簡単になります。
Specifier がClass
の場合、Prim階層全体が既にClass
Primsとして編集されているので、このパラメータは無効です。
Parent Primitive Type
Primitive Paths のパスに何も親が存在しない場合、このノードが自動的に親を作成します。この場合、このタイプの親ノードを作成します。
Standard ¶
Data Type
レンダー変数のUSDデータタイプ。
OpenEXRファイルに保存する時、このデータタイプを使用してそれらのチャンネル名が決定されます。
例えば、データタイプがcolor3f
であれば、それらのチャンネル名はR
, G
, B
になり、データタイプがnormal3f
であれば、それらのチャンネル名はx
, y
, z
になります。
Tip
If you're rendering with huskを使用してレンダリングし、カラーチャンネル名を小文字(例えば、r
、g
、b
)にしたい場合、
もう1つRender Var LOPを追加し、それを使用してdriver:parameters:aov: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 Expressionを指定します。
(一部のレンダラーは、OSL Light Path Expression構文の拡張に対応している場合があります。その場合は必然的に移植性がなくなります)
Intrinsic
現在のところ、実装されていません。 今後のUSDでは、どのレンダラーでも実装されているカメラデプスなどの基本的なRenderVarsの移植性の高いリストが用意される予定です。
Name
このRenderVarからのデータが格納された出力画像内のAOVの名前。
Format
この画像平面を出力ファイルに保存する時に使用するデータフォーマット。
EXR Channel Prefix
OpenEXRファイルに保存する時、huskはこれをチャンネル名の接頭辞として使用します。
単一値のチャンネルの場合、この値がチャンネル名として使用されます。
例えば、normal AOVの場合、この接頭辞がnml
であれば、それらのチャンネル名はnml.x
, nml.y
, nml.z
になります。
Multi Sampled
レンダーバッファをマルチサンプリングするかどうか。
Clear Value
レンダリング前にバッファに設定する初期値。
この値は通常では0
を設定しますが、Pz
ならば1e17
に設定すると良いでしょう。
Husk ¶
husk
コマンドラインレンダラーは、RenderVarからプロパティを検索し、各AOVを出力プロダクトに保存する時にその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の圧縮を使用する時の圧縮レベル。
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内にメタデータとして埋め込まれます。
See also |