On this page | |
Since | 18.5 |
概要 ¶
このノードは、 Attribute VOPと同様の挙動をしますが、ノードパラメータ内に Rig タブがあります。 この Rig タブには、独自のViewport Stateと、このノードの入力と出力のポイントトランスフォームを自動的に再計算するパラメータが露出されています。
このノードを使用することで、KineFXリグ用のVOPネットワークを構築することができます。
KineFX VOPノードにアクセスするには、このノードをダブルクリックして中に入ってVOPネットワークを構築します。
別の方法として、VOPネットワークを含んだSHOPノードを指定したり、CVEXプログラムを含んだ.vfl
ファイルを指定することができます。
Note
KineFX VOPネットワークは、SOPコンテキスト ではなくて CVEXコンテキストで実行されます。 つまり、SOP固有のVOPsとVEX処理は、このノード内では利用不可です。 代わりに、From Fileバリアントと用意されているオペレータ入力文字列を使用してください。
このノードは、ジオメトリアトリビュートも変更します。 入力を指定するには、アトリビュートの名前で Parameter VOPsを作成してから、そのノードパラメータ内で エクスポート を有効( Export パラメータを Always または When Input is Connected に設定)にすることで、それに呼応するアトリビュートへの書き込みまたはそのアトリビュートの作成を行なうことができます。
パラメータ ¶
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 未満の場合、このノードは、その回数のサイズで反復をバッチに分けて、別々のスレッドで並列で各バッチを実行します。
Vex Setup ¶
VEX Source
アトリビュートを修正するプログラムを取得する場所を決めます。
Myself
このノード内のVOPネットワークを使用します。
SHOP
CVEX VOPネットワークを含むSHOPノードを使用します。 SHOP Path パラメータフィールドで、そのノードを指定することができます。
ここには、CVEX VOPネットワークを含んでいれば、どのノードも指定することができます。
Note
参照したノードのパラメータを使用することができます。
Script
CVEXプログラムを含んだファイルを使用します。 Script パラメータフィールドにファイルパスを指定することができます。
SHOP Path
CVEX VOPネットワークを含むSHOPノードを指定します。
このパラメータは、 VEX Source が SHOP に設定されている場合にのみ利用可能です。
Script
CVEXスクリプトを含むファイルのパスを指定します。
このパラメータは、 VEX Source が Script に設定されている場合にのみ利用可能です。
Re-load VEX Functions
Houdiniの外部で.vex
ファイルに変更があれば、再読み込みします。
このパラメータは、 VEX Source が Script に設定されている場合にのみ利用可能です。
Compiler
Houdiniがこのノード内部のVOPネットワークのコンパイルで使用するコマンドラインを指定します。
このパラメータは、 VEX Source が Myself に設定されている場合にのみ利用可能です。
Force Compile
このノード内部のVOPネットワークを再コンパイルします。
このパラメータは、 VEX Source が Myself に設定されている場合にのみ利用可能です。
Evaluation Node Path
ch()
などのVEX関数は、通常では、このノードを基準に評価します。
このパラメータでは、パス検索の開始場所を上書きするノードパスを指定することができます。
これは、トップレベルのデジタルアセットが検索ルートになるようにデジタルアセットへ組み込む時に役に立ちます。
Export Parameters
VEXパラメータをエクスポートする時、バインドしたアトリビュートが存在しなければ、そのアトリビュートが作成されます。 このパラメータにパターンを使ってVEXシェーダのExportオプションを上書きすることで、指定したアトリビュートへの書き込みや作成を回避することができます。 パターンはVEXパラメータに一致しますが、バインドしたアトリビュートには 一致しません 。 バインドしたアトリビュートは、読み取り専用になります。
Enable Multithreading
VEXによるスレッドの問題はないはずです。 しかし問題があれば、これによって、問題のあるノードがどれなのか判断し、 全体的にスレッド化を無効にせずに回避することができます。
Attribute Bindings ¶
VEX Precision
VEXは、32ビットまたは64ビットの精度で評価することができます。 64ビットの方が特にトランスフォームでは精度が高いです。
Attribute Cast SOPを使用することで優先精度を変更することができます。
Note
入力のアトリビュートは、元の精度を維持するので、32ビットのポジションに対して64ビットVEXを使用すると、まず最初にそれらの位置が64ビットに変換されてから、処理が適用され、書き出し時に32ビットに変換して戻されます。
Auto
入力ジオメトリの優先精度に基づいて32ビットと64ビットを切り替えます。
32 Bit
作成されたアトリビュートがどれも32ビットになります。
64 Bit (Experimental)
作成されたアトリビュートがどれも64ビットになります。
Autobind by Name
有効にすると、自動的に名前でアトリビュートをパラメータにバインド(紐付け)します。 なにかしらの理由で、CVEXパラメータの名前を、それに呼応するアトリビュート名とは別の名前にしておく必要がある場合は、このパラメータを無効にして、代わりに Number of Bindings マルチパラメータを使用してください。
Number of Bindings
Attribute Name と VEX Parameter のマッピングをセットアップすることができるマルチパラメータ。 IntegerアトリビュートはIntegerパラメータにバインド(紐付け)します。 Floatアトリビュートはタプルのサイズに応じてFloat、Vector、Point、Matrix、Matrix4のパラメータにバインド(紐付け)します。 StringアトリビュートはStringパラメータにバインド(紐付け)します。
Attribute Name
指定した VEX Parameter にバインドするアトリビュートの名前。
VEX Parameter
指定した Attribute Name にバインドするパラメータの名前。
Autobind Groups by Name
有効にすると、自動的に任意のグループをgroup_
で始まるIntegerパラメータにバインド(紐付け)します。
Group Bindings
グループとパラメータのマッピングをセットアップすることで各グループのバインドを手動で指定することができるマルチパラメータ。
Group Name
指定した VEX Parameter にバインドするグループの名前。
VEX Parameter
指定した Group Name にバインドするパラメータの名前。
Update Normals If Displaced
ポイントが繰り越されてしまい、P
アトリビュートが書き込まれ、N
アトリビュートが書き込まれていない場合、入力の法線が古くなります。
このパラメータを有効にすると、ポイントの繰り越しが起きた時に頂点とポイントの法線が更新されます。
Attribute to Match
@opinputinputnum_name
構文は、他の入力のそれに該当するエレメントからアトリビュートの値を取得することができます。
このパラメータフィールドが空っぽの場合、この該当するエレメントは、このノードが現在処理しているエレメントと同じインデックス(例えば、ポイント番号)のエレメントになります。
このパラメータフィールドでアトリビュートの名前を指定した場合、この該当するエレメントは、その名前のアトリビュートで現行エレメントと同じ値を持ったエレメントになります。
例えば、 Attribute to Match としてid
を使用して、12
に設定されたid
アトリビュートのポイントを処理する場合、@opinput1_P
の記述によって、id
が12
に設定されている2番目の入力のポイントのP
アトリビュートが取得されます。
詳細は、VEXスニペットのページの他の入力からアトリビュートにアクセスする方法を参照してください。
Compute Results In Place
有効にすると、Rig Attribute VOPノードは入力ジオメトリをコピーせずにその場でそのジオメトリを処理することができます。 これによって、コピーの工程が1つ減るので処理が高速化されますが、1番目の入力から読み込んだアトリビュートを書き込めるようにするには、 VEXコードがバインドしていないことが条件になります。
Output Selection Group
出力選択として使用するグループの名前を指定します。 Rig Attribute VOPノードに対してHighlightフラグを有効にすると、このグループ(存在している場合)が、後のモデリングツールで使用される出力選択になります。
Rig ¶
Viewport State
有効なビューポートステート名を指した文字列を指定します。
Compute Transforms for Output
有効にすると、出力のトランスフォームが計算されます。 出力の後にCompute Transformを追加することと同じ挙動になります。
Compute Transforms for Input 1
有効にすると、Input 1のトランスフォームが計算されます。 その入力の前にCompute Transformを追加することと同じ挙動になります。
Compute Transforms for Input 2
有効にすると、Input 2のトランスフォームが計算されます。 その入力の前にCompute Transformを追加することと同じ挙動になります。
Compute Transforms for Input 3
有効にすると、Input 3のトランスフォームが計算されます。 その入力の前にCompute Transformを追加することと同じ挙動になります。
Compute Transforms for Input 4
有効にすると、Input 4のトランスフォームが計算されます。 その入力の前にCompute Transformを追加することと同じ挙動になります。
Examples ¶
CameraOnPath Example for Rig Attribute VOP geometry node
このサンプルでは、Rig Attribute VOP SOPの中でKineFXのTransform from Path VOP、Blend Transforms VOP、Offset Transform VOPを使用して、カメラをパス上に拘束する方法を説明しています。
CurveSolverVop Example for Rig Attribute VOP geometry node
このサンプルでは、Rig Attribute VOP SOPの中でKineFXのCurveSolver VOPを使用する方法を説明しています。 このVOPは、InverseKin CHOPのFollow Curveモードと同じ処理をします。
IkSolverVop Example for Rig Attribute VOP geometry node
このサンプルでは、Rig Attribute VOP SOPの中でKineFXのIK Solver VOPを使用する方法を説明しています。 このVOPは、InverseKin CHOPのTwist Affectorモードと同じインバースキネマティクスを処理します。
See also |