On this page | |
Since | 19.0 |
概要 ¶
このノード自体は何もしません。 シェーダまたはマテリアルの入力アトリビュートに呼応したSpareパラメータを追加する必要があります。 その後、そのSpareパラメータを編集すると、このノードは、その参照されたアトリビュートに同等の変更を加えます。
これは、より汎用的なEdit Properties LOPを簡素化したバージョンのノードですが、シェーダとマテリアルのプリミティブの編集に焦点を当てています。
How to ¶
-
Primitives パラメータで、編集したいシェーダまたはマテリアルのプリミティブ(s)のパス(s)を設定します。
-
Create Parameters ボタンをクリックします。
これは、シェーダまたはマテリアルのプリミティブから取得したSpareパラメータをこのノードに取り込みます。
コントロールポップアップメニュー ¶
各パラメータコントロールの左側にあるポップアップメニューは、このノードでそのアトリビュートの 編集方法 を制御します:
ポップアップのメニュー項目 |
意味 |
---|---|
Set or Create |
既にアトリビュートが存在しているかどうかに関係なく、指定した値をそのアトリビュートに設定します。 |
Set If Exists |
既にアトリビュートが存在している場合にのみ、指定した値をそのアトリビュートに設定します。 このモードを使用することで、正しいタイプのPrimsにのみアトリビュートを設定することができます。
例えば、 |
Block |
アトリビュートが存在していないように見せかけるので、これはデフォルト値を取得します(アトリビュートがPrim上にまだ存在していない場合、これは何もしません)。 |
Disconnect Input |
アトリビュート入力とそのソース間の接続を切断します。 入力接続はアトリビュート値よりも優先度が高いので、入力を接続すると、アトリビュート値が効果を持つようになります。 |
Do Nothing |
このパラメータを無視し、どのようにしてもアトリビュートを作成も変更もしません。 |
Tips ¶
-
アトリビュート値を設定するパラメータには、以下のローカル変数を使用することができます:
@numprim
このノードで修正されるプリミティブの総数。
@prim
修正されるプリミティブのインデックス。この値の範囲は
0
からnumprim-1
です。@primpath
修正されるプリミティブのパス。
このノードは、 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 |
このパラメータを無視し、どのようにしてもアトリビュートを作成も変更もしません。 |
パラメータ ¶
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 で指定されたサンプル数よりも多くなる可能性があります。
Primitives
このノードを動作させるPrim(s)。
Scene Graph Tree ペインからPrim(s)をこのテキストボックスにドラッグすることで、それらのパスを追加することができます。
または、このテキストボックスの隣にある 再選択ボタンをクリックすることで、ビューア内でPrim(s)を選択することができます。
他にも、この再選択ボタンを⌃ Ctrlクリックすることで、ポップアップツリーウィンドウからPrim(s)を選択することができます。
コレクション内のすべてのPrimsのマッチング(/path/to/prim.collection:name
)といった高度なマッチングには、プリミティブパターンを使用すると良いでしょう。
Create Parameters
Primitives パラメータで指定されたマテリアルまたはシェーダの入力アトリビュートに基づいて、このノード上にSpareパラメータを作成します。
Reference Type
このノードは、既存のマテリアルプリミティブ上のプロパティを編集することができ、または、新規マテリアルを作成して、それを既存プリミティブで参照して、その新規マテリアル上のプロパティを編集することができます。 これは、ルックを変更したくないジオメトリにオリジナルのマテリアルがバインドされている場合に、そのマテリアルに基づいて新規マテリアルを作成して、その新規マテリアル上のプロパティを調整し、それを他のジオメトリにバインドしたい時に役立ちます。
None
参照プリミティブを作成しません。つまり、既存のプリミティブ上のプロパティを編集します。
Reference
既存プリミティブをリファレンスして、そこから新しく作成されたプリミティブ上のプロパティを編集します。
Inherit
既存プリミティブに“Inherit”コンポジションアークを作成して、そこから新しく作成されたプリミティブ上のプロパティを編集します。
Specialize
既存プリミティブに“Specialize”コンポジションアークを作成して、そこから新しく作成されたプリミティブ上のプロパティを編集します。
Create Class
参照プリミティブを作成しません。
代わりに、Specifier
がClass
の親プリミティブ下でSpecifier
がOver
のプリミティブを作成します。
これによって、InheritまたはSpecializeのコンポジションアークのターゲットとなるプリミティブを作成し、継承元のプリミティブの選択アトリビュートをオーバーライドしやすくなります。
Class Ancestor
Reference Type がCreate Class
の場合、このパラメータは、Specifier
がClass
のプリミティブが終了してOver
のプリミティブが開始される階層を制御します。
通常では、修正されるプリミティブは、実際にInheritコンポジションアークが有効になっているプリミティブの子プリミティブであり、その階層より下のすべてのプリミティブはOver
Specifierを使用し、
その階層より上のプリミティブはClass
Specifierを使用します。
Reference Parent Material
Primitives パラメータにシェーダプリミティブが指定されている場合、このオプションを有効にすると、新しく作成されるプリミティブは、シェーダ自体ではなく親のマテリアルを参照するようになります。
Primitive Path
新規参照プリミティブが作成されるシーングラフパス。
Parent Primitive Type
Primitive Path にプリミティブが存在しなかった場合、このノードはそれを作成します。 プリミティブを作成する必要がある場合、このタイプの中間プリミティブが作成されます。