| On this page | |
| Since | 18.0 | 
概要 ¶
このノードは、マテリアルを割り当てた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›)といった高度なマッチングには、プリミティブパターンを使用すると良いでしょう。
Note
トランスフォームハンドルがコンテキストを認識できるようにするには、このパラメータを露出させる必要があります。 それをしなかった場合、ハンドルを適切に配置することができません。
Instances
/‹path›[‹instance_index›]構文を使って、スペース区切りのインスタンスのリスト(例えば、/geometry/instancer[0] /geometry/instancer[1])を指定します。
    インスタンサー内のすべてのインスタンスを選択したいのであれば、/‹path›[*]を使用します。
    範囲を選択したいのであれば、/geometry/instancer[4-7](指定した番号を含む)を使用します。
    入れ子のインスタンサー内のインスタンスを選択したいのであれば、複数のインデックス(例えば、/geometry/instancer[2][7])を使用します。
    VEXpressionを使用すれば、インスタンス(例えば、/geometry/instancer[{@weights>0.5}])を指定することができます。
Primvars
1個のノードで複数のマテリアルパラメータをオーバーライドすることができます。 ここで作成/編集したいオーバーライドの数を設定するか、または、プラスとマイナスのボタンをクリックしてオーバーライドを追加/削除します。
Enable
各オーバーライドに対して、実際にPrimvarを編集するかどうか。
Name
作成/編集するPrimvarの名前。
    primvars:接頭辞を含めないでください。
    このフィールドの隣にあるドロップダウンメニューからマテリアルパラメータの名前を選択することができます。
Type
PrimvarのUSDデータタイプ。 これはマテリアルパラメータのタイプに合わせてください。 (ドロップダウンメニューから Name を選択すると、ここは自動的に設定されます)
Source
Internal SOP
このノードの中にあるSOPサブネットを使用して、Prim/インスタンスを表現したポイントを処理します。
External SOP
外部SOPネットワークを使用します。そのネットワークでゼロからPrim/インスタンスを表現したポイントを生成する必要があります。
Uniform
パラメータを使用します(このパラメータはエクスプレッションで駆動させることができます)。
Interpolation
Source が“Uniform”に設定されていて、 Use Snippet が有効になっている場合、メッシュPrimで作成されるPrimvar補間は次の値に設定され、そのPrimvarはその値と同じ長さの配列アトリビュートで作成されます。 インスタンスまたはメッシュ以外のPrimで作成されるPrimvarの補間は常に“constant”に設定されます。
Scalar Values
“constant”補間のPrimまたはネイティブインスタンスのPrimvarを作成する時、これは、そのPrimvarを配列長1ではなく単一のスカラー値として作成することができます。
Use Snippet
Source が“Uniform”の時、VEXスニペットを評価することで各Prim/インスタンスの値を取得します。
    VEXスニペットでは、オーバーライド値をvalue変数に書き込んでください。
    indexは現行Prim/インスタンスのインデックスです。
    @Frameや@Timeを使用することで、値を時間依存にすることができます。
Value
Source が“Uniform”の時、このPrimvarに使用する値(この値はエクスプレッションで駆動させることができます)。
| See also |