| 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 |
このパラメータを無視し、どのようにしてもアトリビュートを作成も変更もしません。 |
パラメータ
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 にプリミティブが存在しなかった場合、このノードはそれを作成します。 プリミティブを作成する必要がある場合、このタイプの中間プリミティブが作成されます。