| 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のレンダー設定の提案を参照してください。
パラメータ
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になります。
Source Name
レンダー変数の内容の取得先。以下の Source Type を参照してください。
レンダラーは、RenderVarから計算される値として、この名前の出力を検索するはずです。
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ファイルに保存する時、これがチャンネル名の接頭辞として使用されます。
単一値のチャンネルの場合、この値がチャンネル名として使用されます。
例えば、normal AOVの場合、この接頭辞がnmlであれば、それらのチャンネル名はnml.x, nml.y, nml.zになります。
Multi Sampled
レンダーバッファをマルチサンプリングするかどうか。
Clear Value
レンダリング前にバッファに設定する初期値。
この値は通常では0を設定しますが、Pzならば1e17に設定すると良いでしょう。
Pixel Filter
Karmaでレンダリングする時、バッファに対して実行するピクセルフィルタを指定します。 Karmaピクセルフィルタを参照してください。
| See also |