On this page |
概要
このノードは、マテリアルを割り当てたPrim/ポイントインスタンス単位で個々にそのマテリアルパラメータの値(例えば、Base Color)を変更することができます。
このノードは、マテリアルオーバーライドのPrimvarsの編集を容易にし、エクスプレッションやVEXを使ってそのオーバーライド値を計算することができます。
マテリアルのオーバーライド
-
USDでは、Prim上の Primvar の名前が、そこに割り当てたマテリアルのマテリアルパラメータの名前に一致した場合、そのPrimをシェーディングする時にそのPrimvarの値でそのマテリアルパラメータをオーバーライドすることができます。
(インスタンサー上に各インスタンスの値が格納された配列Primvarがあれば、これはポイントインスタンスでも動作します。)
-
HoudiniのKarmaレンダラーは、Primvarsで任意のパラメータをオーバーライドすることができます。
-
多くの他のレンダラーとシェーダ(例えば、RenderManと
UsdPreviewSurface
)では、シェーダ側で明示的にオーバーライド可にしたパラメータのみをオーバーライドすることができます。
Tipsとメモ
-
レンダーデリゲートによっては、Primvarsを上手く読み込ませるためには、特定のタイプのシェーダをマテリアルに取り付ける必要があります。
例えば、USD Preview Surfaceは、USD Primvar Readerシェーダを介して読み込まれたPrimvarsのみを認識します。 Rendermanを使用する場合、
pxrprimvar
シェーダが必須です。Karmaは技術的には任意のPrimvarを読み込んでそれと同じ名前のパラメータをオーバーライドすることができますが、ドロップダウンメニューの名前は、バインドシェーダを介して指定されたPrimvarsのみを表示します。
-
VEXスニペットでは、コロン(
:
)を含んだ@
変数名を使用することができます。これによって、特定のUSDアトリビュート名(例えば、i@primvars:foo
)を自動的にバインドするのが簡単になります(通常、このような名前はVEXソースコード内では有効ではありません。このような名前がスニペット内で使用されると、このノードが自動的にその名前をエンコードします)。
パラメータ
Type
Prims(インスタンス化可能Primsを含む)またはポイントインスタンスのどれに対してオーバーライドを作成したいのか指定します。
Primitives
このノードを動作させるPrim(s)。
Scene Graph Tree ペインからPrim(s)をこのテキストボックスにドラッグすることで、それらのパスを追加することができます。
または、このテキストボックスの隣にある 再選択ボタンをクリックすることで、ビューア内でPrim(s)を選択することができます。
他にも、この再選択ボタンを⌃ Ctrlクリックすることで、ポップアップツリーウィンドウからPrim(s)を選択することができます。
コレクション内のすべてのPrimsのマッチング(
/path/to/prim.collection:name
)といった高度なマッチングには、プリミティブパターンを使用すると良いでしょう。
Primvars
1個のノードで複数のマテリアルパラメータをオーバーライドすることができます。 ここで作成/編集したいオーバーライドの数を設定するか、または、プラスとマイナスのボタンをクリックしてオーバーライドを追加/削除します。
Enable
各オーバーライドに対して、実際にPrimvarを編集するかどうか。
Name
作成/編集するPrimvarの名前。
primvars:
接頭辞を含めないでください。
このフィールドの隣にあるドロップダウンメニューからマテリアルパラメータの名前を選択することができます。
Type
PrimvarのUSDデータタイプ。 これはマテリアルパラメータのタイプに合わせてください。 (ドロップダウンメニューから Name を選択すると、ここは自動的に設定されます)
Use Snippet
VEXスニペットを使って値を設定します。
VEXスニペットでは、オーバーライド値をvalue
変数に書き込んでください。
@ptnum
は現行Prim/インスタンスのインデックスです。
npoints(0)
を使用することで、値を計算するPrims/インスタンスの総数を取得することができます。
@Frame
や@Time
を使用することで、値を時間依存にすることができます。
Value
このマテリアルパラメータに使用する値(この値はエクスプレッションで駆動させることができます)。
See also |