Since | 12.5 |
内部のVOPネットワークを構築するには、このノードをダブルクリックします。
(別の方法として、VOPネットワークを含むSHOPノードを指定するか、CVEXプログラムを含む.vfl
ファイルを指定することができます。)
Note
VOPネットワークはCVEXコンテキストで機能しますが、SOPコンテキストでは機能しません。 つまり、SOP特有のVOPとVEXのノードが利用できません。 その代用として、From File系の変数とOpInput文字列を使用します。
このノードはジオメトリアトリビュートを修正します。
入力を指定するには、アトリビュートの名前でParameter VOPを作成します。 パラメータを“exported”として設定すると、それに該当するアトリビュートへの書き込みやアトリビュートの作成が可能です。
パラメータ ¶
Vex Setup ¶
VEX Source
アトリビュートを修正するプログラムを取得する場所。
Myself
このノード内のVOPネットワークを使用します。
SHOP
CVEX VOPネットワークを含むSHOPノードを使用します。 SHOP Path パラメータで、そのノードを指定します。
ここには、CVEX VOPネットワークを含んでいれば、どのノードも指定することができます。
Note
参照したノードのパラメータが使われます。
Script
CVEXプログラムを含んだファイルを使用します。 Script パラメータにファイルパスを指定します。
SHOP Path
VEX Source が SHOP の時に指定するCVEX VOPネットワークを含むSHOPノード。
Script
VEX Source が Script の時に指定するCVEXスクリプトを含むファイルのパス。
Re-load VEX Functions
VEX Source が Script の時、Houdiniの外部で.vex
ファイルに変更があれば、再読み込みします。
Compiler
VEX Source が Myself の時、Houdiniがこのノード内部のVOPネットワークのコンパイルで使用するコマンドライン。
Force Compile
VEX Source が Myself の時、このノード内部のVOPネットワークを再コンパイルします。
Evaluation Node Path
ch()
などのVEX関数は、通常では、このノードを基準に評価します。
ここでパスを指定すれば、パス検索の開始場所を上書きすることができます。
これは、トップレベルのデジタルアセットが検索ルートになるようにデジタルアセットへ組み込む時に役に立ちます。
Export Parameters
VEXパラメータをエクスポートする時、バインドしたアトリビュートが存在しなければ、そのアトリビュートが作成されます。 このパラメータにパターンを使ってVEXシェーダのExportオプションを上書きすることで、指定したアトリビュートへの書き込みや作成を回避することができます。 パターンはVEXパラメータに一致しますが、バインドしたアトリビュートには一致しません。 バインドしたアトリビュートは、読み取り専用になります。
Enable Multithreading
VEXによるスレッドの問題はないはずです。 しかし問題があれば、これによって、問題のあるノードがどれなのか判断し、 全体的にスレッド化を無効にせずに回避することができます。
Data Bindings ¶
VEX Precision
VEXは、32ビットまたは64ビットの精度で評価することができます。 64ビットの方が特にトランスフォームでは精度が高いです。
Note
入力のアトリビュートは、元の精度を維持するので、32ビットのポジションに対して64ビットVEXを使用すると、まず最初にそれらの位置が64ビットに変換されてから、処理が適用され、書き出し時に32ビットに変換して戻されます。
Autoモードは、入力ジオメトリの優先精度に基づいて32ビットと64ビットを切り替えます。 64ビット精度で実行すると、作成されたアトリビュートがどれも64ビットになります。 32ビット精度で実行すると、作成されたアトリビュートがどれも32ビットになります。 Attribute Castを使用することで、この優先精度を変更することができます。
Group
入力ジオメトリのこのグループでのみVOPネットワークが機能します。 このフィールドを空っぽにすると、すべての入力ジオメトリを修正します。
Group Type
グループを構成しているタイプ。
Run Over
このタイプのコンポーネント毎(ポイント、プリミティブ/フェース、頂点)にVEXコードを適用します( Detail を選択した場合はVEXコードは1回のみ実行されます))。
コンポーネント毎に、VEXコードは読み書きできるようにアトリビュートを@
で始まる変数(例えば、@Cd
)にバインドして実行されます。
Numbers
を選択すると、Houdiniはコンポーネント毎ではなく、特定の反復回数だけVEXコードを実行します。
このモードでは、VEXコードは読み取り専用Detailアトリビュートのみを@
変数にバインドします。
Number Count
Run Over が Numbers の時、ここにはVEXコードを実行する反復回数を指定します。
反復の度に、@numelem
はこの反復総回数にバインドされ、@elemnum
は0
から`@numelem - 1までの反復番号にバインドされます。
このモードでは、VEXコードは読み取り専用Detailアトリビュートのみを@
変数にバインドします。
Thread Job Size
Run Over が Numbers の時、ここには別々のスレッドで同時に走る最大反復回数を指定します。
この最大反復回数が Number Count 以上の場合、すべての反復はシングルスレッドで順次に実行されます。
これが1
の場合、各反復が別々のスレッドで実行されます。
1
より大きくて Number Count 未満の場合、このノードは、その回数のサイズで反復をバッチに分けて、別々のスレッドで並列で各バッチを実行します。
Autobind by Name
自動的に名前でアトリビュートをパラメータにバインド(紐付け)します。 なにかしらの理由で、CVEXパラメータの名前を、アトリビュート名とは別の名前にしておく必要がある場合は、これをオフにして、 Number of Bindings パラメータを使って、 Attribute Name と VEX Parameter のマッピングをセットアップします。
IntegerアトリビュートはIntegerパラメータにバインド(紐付け)します。 Floatアトリビュートは、タプルのサイズに応じてFloat、Vector、Point、Matrix、Matrix4にバインド(紐付け)します。 Stringアトリビュートは文字列にバインド(紐付け)します。
Autobind Groups by Name
自動的に任意のグループをgroup_
で始まるIntegerパラメータにバインド(紐付け)します。
Update Normals If Displaced
ポイントが繰り越されてしまい、P
アトリビュートが書き込まれ、N
アトリビュートが書き込まれていない場合、入力の法線が古くなります。
このオプションを設定すると、ポイントの繰り越しが起きた時に頂点とポイントの法線が更新されます。
Attribute to Match
@opinputinputnum_name
構文は、他の入力のそれに該当するエレメントからアトリビュートの値を取得することができます。
このパラメータが空っぽの場合、この“該当する”エレメントは、このノードが現在処理しているエレメントと同じインデックス(例えば、ポイント番号)のエレメントになります。
アトリビュートの名前を指定した場合、この“該当する”エレメントは、その名前のアトリビュートで現行エレメントと同じ値を持ったエレメントになります。
詳細は、VEXスニペットのページの他の入力からアトリビュートにアクセスする方法を参照してください。
例えば、“Attribute to Match”としてid
を使用して、12
に設定されたid
アトリビュートのポイントを処理する場合、@opinput1_P
の記述によって、id
が12
に設定されている2番目の入力のポイントのP
アトリビュートが取得されます。
Compute Results In Place
コンパイルすると、Attribute VOPは入力ジオメトリをコピーせずにその場でそのジオメトリを処理することができます。 これによって、コピーの工程が1つ減るので処理が高速化されますが、1番目の入力から読み込んだアトリビュートを書き込めるようにするには、 VEXコードがバインドしていないことが条件になります。
Output Selection Group
出力選択として使用するグループの名前。 このノードに対してHighlightフラグを有効にすると、このグループ(存在している場合)が、後のモデリングツールで使用される出力選択になります。
See also |