On this page | |
Since | 19.5 |
概要 ¶
このノードは、Edit Properties LOPに非常に似ています。 しかし、このノードにSpareパラメータを追加するのではなくて、このノードから他のノードに直接アクセスして、シーングラフツリー内のPrims上のアトリビュートに呼応するパラメータを読み込む必要があります。 他のノード上のそれらのパラメータを編集すると、このノードは、そのパラメータに呼応するUSDアトリビュートに同等の変更を加えます。
このノードは、HDAを作成した時点でまだ制御したいUSDアトリビュートが決まっていない場合に役に立ち、特にロックされたHDA内部で役に立ちます。 この場合には、このノードはロックされているので、Edit Properties LOPを使用することができません。 代わりに、このタイプのノードを使用すれば、編集可能なHDA親ノードにSpareパラメータを追加してUSDアトリビュートを駆動させることができます。
コントロールポップアップメニュー ¶
各パラメータの左側にあるポップアップメニューは、このノードが どのように アトリビュートを設定するのかを制御します:
ポップアップのメニュー項目 |
意味 |
---|---|
Set or Create |
既にアトリビュートが存在しているかどうかに関係なく、指定した値をそのアトリビュートに設定します。 |
Set If Exists |
既にアトリビュートが存在している場合にのみ、指定した値をそのアトリビュートに設定します。 このモードを使用することで、正しいタイプのPrimsにのみアトリビュートを設定することができます。
例えば、 |
Block |
アトリビュートが存在していないように見せかけるので、これはデフォルト値を取得します(アトリビュートがPrim上にまだ存在していない場合、これは何もしません)。 |
Disconnect Input |
アトリビュート入力とそのソース間の接続を切断します。 入力接続はアトリビュート値よりも優先度が高いので、入力を接続すると、アトリビュート値が効果を持つようになります。 |
Do Nothing |
このパラメータを無視し、どのようにしてもアトリビュートを作成も変更もしません。 |
Tips ¶
-
Edit Properties LOP上で
@numprim
、@prim
、@primpath
のローカル変数を使用することで、このノードで修正されるPrim毎に異なるアトリビュート値を生成することができます。ローカル変数は、そのローカル変数を定義したノード上でしか使用できないので、参照されたノード側ではそれらの変数を使用することはできません。代わりに、このノードにはデフォルトのパラメータが用意されていて、各パラメータがそれらのローカル変数のどれかを評価するように設定されています。そして、参照されたノード側でch関数を使用してこのノードが所有しているローカル変数を評価することで、Prim毎に値を生成することができます。 -
他にも、このタイプのノードは、オプションで(参照されたノードではなく、このノード上に)パラメータを追加して、このノードのパラメータを評価して、要件が満たされなかった場合に警告またはエラーを出すようにすることができます。この機能を使用するには、以下の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 |
このパラメータを無視し、どのようにしてもアトリビュートを作成も変更もしません。 |
パラメータ ¶
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 で指定されたサンプル数よりも多くなる可能性があります。
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 のパスに何も親が存在しない場合、このノードが自動的に親を作成します。この場合、このタイプの親ノードを作成します。
Parameters From Node
指定したPrims上にUSDアトリビュートを設定するために評価されるパラメータを含んだノードのパス。
Parameters
どのパラメータを使用してUSDアトリビュートを設定するのかを決めるために、参照されたノード上のパラメータに対してマッチさせる文字列パターン。 “エンコードされた”名前を使用してネームスペースの付いたアトリビュートと呼応させるパラメータは、そのパラメータ名のエンコードされた名前と復元された名前のどちらにもマッチします。 呼応するアトリビュートパラメータがこのパターンにマッチした場合、コントロールメニューパラメータも自動的に含まれます。
Prim Local
このパラメータには、ソースノードのパラメータから参照できるように@prim
ローカル変数が含まれています。
Prim Path Local
このパラメータには、ソースノードのパラメータから参照できるように@primpath
ローカル変数が含まれています。
Prim Count Local
このパラメータには、ソースノードのパラメータから参照できるように@numprim
ローカル変数が含まれています。