| On this page | |
| Since | 17.0 |
概要
このノード自体は何も処理しません。 必ずシーングラフツリー内のPrims上の既存アトリビュートに相当するSpareパラメータを追加する必要があります。 次に、それらのSpareパラメータを編集すると、このノードは、参照したアトリビュートにその該当する変更を反映します。
How to
-
Primitives で、編集したいPrim(s)のパス(s)を設定します。
-
Edit Properties をクリックします。
これは、左側のソースペインの From USD タブが選択された状態でEdit Parameter Interfaceウィンドウを開きます。
-
編集したいPrim(または同じタイプのPrim)を検索します。プラスボタンをクリックすると、そのツリーが展開されて、プロパティが子アイテムとして表示されます。
(プロパティのドラッグ元のPrimがどれなのかは関係ないです。これは、このノードが変更するPrimsに影響しません。このノードは単にそのプロパティ名を使用するだけです。このノードは、常に Primitives で選択されたPrimsのみを編集します。)
-
左側のソースツリーからプロパティを中央の Existing Parameters ツリー内にドラッグし、そのプロパティを“Primitive Path (
primpath)”と“Action (createprims)”の間にドロップします。パラメータツリー内にそのアイテムをドロップすると、実際には2個のパラメータが作成されます: プロパティの編集方法に関するオプションを含んだ“コントロール”ポップアップメニュー、パラメータ値を設定するためのパラメータです。 (例えば、
CubePrimからsizeアトリビュートをドロップすると、sizeとsize_controlの両方が作成されます。)
コントロールポップアップメニュー
各パラメータの左側にあるポップアップメニューは、このノードがアトリビュートを編集する 方法 を制御します:
ポップアップのメニュー項目 |
意味 |
|---|---|
Set or Create |
既にアトリビュートが存在しているかどうかに関係なく、指定した値をそのアトリビュートに設定します。 |
Set If Exists |
既にアトリビュートが存在している場合にのみ、指定した値をそのアトリビュートに設定します。 このモードを使用することで、正しいタイプのPrimsにのみアトリビュートを設定することができます。
例えば、 |
Block |
アトリビュートが存在していないように見せかけるので、これはデフォルト値を取得します(アトリビュートがPrim上にまだ存在していない場合、これは何もしません)。 |
Disconnect Input |
アトリビュート入力とそのソース間の接続を切断します。 入力接続はアトリビュート値よりも優先度が高いので、入力を接続すると、アトリビュート値が効果を持つようになります。 |
Do Nothing |
このパラメータを無視し、どのようにしてもアトリビュートを作成も変更もしません。 |
Tips
-
Primitives パラメータで選択されたPrim毎に、このノードは、あなたがSpareパラメータを作成したプロパティと同じ名前のプロパティを検索します。 選択されたPrim上でこのノード上の該当するパラメータが存在し、且つ、そのコントロールメニューでプロパティへの書き出しが設定されている場合にのみ、このノードは、そのPrim上のそのプロパティを編集します。
そのため、技術的には、1個のEdit Propertiesノードで長いパラメータのリスト(それぞれのパラメータが選択されたPrimsの一部にのみ適用されます)を使って、たくさんの異なるタイプのPrimsにプロパティを適用することができます。 ただ、このような処理だと他の人達がネットワークを理解する際に混乱を招いてしまうので、避けた方が良いです。
-
編集したインターフェースを共有して便利に利用できるようにしたいのであれば、Edit PropertiesノードインスタンスをLOPデジタルアセットにすると良いでしょう。ネットワークエディタ内でノードを右クリックして、 Create Digital Asset を選択します。 このノードの挙動が同じままで、Spareパラメータがデジタルアセットのパラメータインターフェースになりますが、アセットになっているので、共有したりバージョン管理することができます。
Note
Edit Propertiesノードを一度デジタルアセットに変換すると、そのアセットのインスタンスには、もうそれ以上Spareパラメータを追加することはできません。このアセットは、“ベイクされた”パラメータのみを見つけ、Spareパラメータを無視します。
-
USDアトリビュート名は、Spareパラメータ上にタグデータとして格納されます。
-
アトリビュート値を設定するパラメータでは、以下のローカル変数を使用することができます:
@numprim($NPRIMは廃止)このノードで修正されるPrimsの総数。
@prim($PRIMは廃止)修正されるPrimのインデックス。この値の範囲は
0から@numprim-1です。@primpath($PRIMPATHは廃止)修正されるPrimのパス。
-
プリミティブによく追加されるもののUSDスキーマの一部ではないカスタムプロパティは、
HOUDINI_PATH内の任意の場所のEditPropertiesCustom.usdaという名前のファイル内で指定することができます。 このファイルには、標準のUSDコンポジションルールを使用したUSDステージを記述します。/customプリミティブとその子プリミティブすべてとそれらのプロパティは、Edit Parameter InterfaceウィンドウのFrom USDタブのCustom Propertiesブランチ下に表示されるようになります。 -
このタイプのノード、または、このノードから派生したデジタルアセットには、オプションで必要に応じて、ノードのパラメータを検証して警告またはエラーを出すパラメータを持つこともできます。このテクニックの例を挙げると、Render Settings LOPには、新規Primをシーングラフ階層の
/Renderブランチ内に作成(USD Render Settingの仕様では必須)しなかった場合に警告を出す検証パラメータがあります。この機能を使用するには、以下の2個のパラメータを使用します:errorseverity検証メッセージをMessage、Warning、Error(それぞれ
0,1,2の値を使用)のどちらで表現するのかを示した順序付きメニュー。errormsgユーザー側に表示するメッセージ。このパラメータが空っぽの文字列を返すと、このノードには何もメッセージが追加されません。
このノードは、 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 |
このパラメータを無視し、どのようにしてもアトリビュートを作成も変更もしません。 |
パラメータ
Edit Properties
左側のソースペインの From USD タブが選択された状態でEdit Parameter Interfaceウィンドウを開きます。
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 のパスに何も親が存在しない場合、このノードが自動的に親を作成します。この場合、このタイプの親ノードを作成します。