On this page |
内部の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
Group
入力ジオメトリのこのグループでのみVOPネットワークが機能します。 このフィールドを空っぽにすると、すべての入力ジオメトリを修正します。
Group Type
グループを構成しているタイプ。
Run Over
修正するジオメトリアトリビュートのクラス。 Numbers に設定した時、読み取り専用のDetailアトリビュート以外のアトリビュートはバインドされません。
Number Count
Run Over を Numbers に設定した時の反復数。
@elemnum
は0(含む)から始まり、この数(含まない)までの反復番号で、@numelem
はこの数です。
このモードの時は読み取り専用のDetailアトリビュート以外のアトリビュートはバインドされません。
Thread Job Size
Run Over を Numbers に設定した時に任意のスレッドで同時に走る反復最大数。 これが Number Count 以上の時、VEXコードはシングルスレッドで実行されます。 各反復に非常に長い時間がかかる場合は、これを1に設定します。とはいえ、この値を大きくすれば大きなメリットが得られることが多いです。特に各反復にかかる時間が短い場合や同時に複数の反復を実行しても処理が重複しない場合です。
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フラグを有効にすると、このグループ(存在している場合)が、後のモデリングツールで使用される出力選択になります。
Examples
The following examples include this node.
StaticBalls Example for Static Object dynamics node
このサンプルでは、グリッドが落下して地面に当たる前に3つの球から跳ね返るRBDシミュレーションでStatic Objectノードを使用しています。
CircleSolvers Example for Solver geometry node
このサンプルは、ソルバノードを使用して、 常微分方程式により、オブジェクトをトランスフォームすることができるいろいろな方法を説明しています。
このサンプルには、6個の異なるソルバがあります。 また、評価基準として正確な解もあります。 ソルバは、以下の 初期条件を持つ結合常微分方程式を解く数値法です:
x' = y ; x(0) = 1 y' = -x ; y(0) = 0
常微分方程式の数値法は: Forward Euler, Runge-Kutta Second Order, Runge-Kutta Third Order, Runge-Kutta Fourth Order, および2つの方法で解かれるParker-Sochackiです。 あるバージョンでは、Parker-Sochackiは、5の位数でハードコード化されます。 別のバージョンでは、Parker-Sochackiは、ユーザーが階数を調整することができるfor loopで書き込まれます。
See also |