On this page |
概要
これは非常に強力な低レベルにアクセス可能なノードであり、VEXに詳しい熟練者が、コードを使ってパーティクルを調整することができます。
このノードは、POP VOP DOPに相当しますが、VOPネットワークの代わりにテキストのVEXスニペットを使用します。
Warning
このノードを扱うには、VEX言語を理解している必要があります。 そうでないと、このノードを使えば不正なコードを記述しがちです。
このノードは、入力ジオメトリ内の Detailまたはすべてのポイントに対してスニペットを実行します。 スニペットは、アトリビュートを変更することで、入力ジオメトリを編集することができます。 アトリビュートとVEX関数を使うことで、他のジオメトリの情報にアクセスすることができます。
-
ノードをクリックすると、スニペットからのエラー出力を確認することができます。
-
VEX関数の
ch
を使ってパラメータを評価することができます。 パスは、このノードの相対パスです(ch("parm")
は、このノードのparm
パラメータを評価します)。 この評価は、現行時間で実行されます。 -
Attrib Create SOPとは違い、このノードはローカル変数を使用しません。 さらに、すべてのバッククォートによるエクスプレッションと
$F
変数は、現行時間ではなく、フレーム1で評価されます。 代わりに@Frame
、@Time
、@TimeInc
を使ってください。
Context
パラメータ
Activation
このノードを有効/無効にします。この値が0より大きい時のみノードがアクティブになります。 これは、エクスプレッションでノードの効果を制御するのに役に立ちます。
Note
これは、全体としてノードを活動化します。このパラメータを使って特定のパーティクルのノードを非活動にすることはできません。
Group
現行ストリーム内のすべてのポイントからポイントグループ(例えば、Group POPやCollision Detection POPで作成) にのみ影響を与えます。
Code
VEXpression
Pointアトリビュートを操作するVEXコードのスニペット。
@variable_name
構文を使えば、ジオメトリアトリビュートにアクセスすることができます。
Attributes to Create
アトリビュートの名前がこのパターンに一致した場合のみ、そのアトリビュートを作成します。 デフォルトのパターンでは、どのアトリビュートも作成されます。
*
を許可したい名前のリストに置換することで、作成するアトリビュートを制限することができます。
Cd
, v
, id
のようなグローバルアトリビュートは、このリストになくても作成されます。
バインドしたアトリビュート(例えば、vtxnum
)を作成することはできないので、無視されます。
Enforce Prototypes
@
構文を使った自動バインドは便利ですが、あなたのシステムが複雑になるほど、@
バインドでのタイプミスが、存在しないアトリビュートと
何も警告せずにバインドしてしまう危険性があります。
このオプションは、すべての@
バインドを使用前にプロトタイプとして明示的に宣言するように強制します。
Use Timestep
このノードを適用するために、現行のソルバタイムステップを使用するかどうか決めます。
設定した場合、現行のタイムステップサイズがスケールで乗算されて、このノードの時間の増分値に使用されます。 設定しなかった場合、 Time Scale には積分する絶対仮想時間を指定します。
実際のリアルタイムとマイクロソルバ時間とのリンクを無効にすることで、別々の仮想時間でオペレーションを実行することができます。
Time Scale
このマイクロソルバに使用するタイムステップをこの値でスケールします。 これにより、他とは異なる速度で動作するシミュレーションなどの非現実的な効果を表現することができます。
同様に、ソルバをメインのタイムステップとは関係なく評価する必要がある場合に役に立ちます。
Data Bindings
Geometry
処理するオブジェクト上のジオメトリのリスト。
Evaluation Node Path
ch()
などのVEX関数は、通常では、このノードを基準に評価します。
ここでパスを指定すれば、パス検索の開始場所を上書きすることができます。
これは、トップレベルのデジタルアセットが検索ルートになるようにデジタルアセットへ組み込む時に役に立ちます。
Export Parameters
VEXパラメータをエクスポートする時、バインドしたアトリビュートが存在しなければ、そのアトリビュートが作成されます。 このパターンを使ってVEXシェーダのExportオプションを上書きすることで、特定のアトリビュートへの書き込みや作成を回避することができます。 パターンはVEXパラメータに一致しますが、バインドしたアトリビュートには一致しません。 バインドしたアトリビュートは、読み取り専用になります。
Autobind by Name
アトリビュートの名前を使用して、どのアトリビュートをどのパラメータにバインドするか決めます。
Integerアトリビュートは、Integerパラメータにバインドします。 Floatアトリビュートは、タプルサイズに応じてfloat, vector, point, matrix, matrix4パラメータにバインドします。 Stringアトリビュートは、文字列パラメータにバインドします。
Attribute Name, VEX Parameter
手動で各アトリビュートのバインドを指定します。
Field Name, VEX Parameter
オプションで、このオブジェクトのScalar, Vector, Matrix, IndexフィールドをCVEX関数にバインドします。
それらのフィールドは、各エレメントの現行P
位置でサンプリングされます。
頭に@
を付けてパラメータを参照すれば、それらのフィールドにアクセスすることができます。
Autobind Groups by Name
自動的に任意のグループを、名前の頭がgroup_
で始まるIntegerパラメータにバインドします。
Group Name, VEX Parameter
手動で各グループのバインドを指定します。
Update Normals If Displaced
ポイントが繰り越されてしまい、P
アトリビュートが書き込まれ、N
アトリビュートが書き込まれていない場合、入力の法線が古くなります。
このオプションを設定すると、ポイントの繰り越しが起きた時に頂点とポイントの法線が更新されます。
Inputs
Input 1, 2, 3, 4
これらの入力は、VOP内部にアクセス可能な4つの仮想入力を制御します。
VEXpressionを使用する時は、VOPのOpInput1-4ワイヤーまたは@OpInput1-4文字列パラメータを使うことで、それらの仮想入力にアクセスすることができます。
また、入力番号を受け取るVEX関数に数値で0-3を使うことで、それらの仮想入力にアクセスすることもできます。
None
この入力にジオメトリが接続されません。
SOP
VEXを実行する前に、このSOPジオメトリがクックされて、その結果がこの入力に接続されます。
DOP Data
参照する現行シミュレーション内のデータ。
ここには、オブジェクト/データ(例えば、pyro1/vel
)として指定して、pyro1
オブジェクト(これは3つのボリュームプリミティブとして表示します)のVelocityフィールドを参照します。
Myself
現在処理されているジオメトリを参照するのは、VEX関数が元の形式を参照できるようにコピーを必ず作成しなければならない特別な時です。 これを使うことで、それを処理することができます。
Nth Context Geometry
これらのジオメトリは、親のDOP Network自体に接続されたSOPを参照します。
Myself (No Reads from Outputs)
現在処理されているジオメトリを参照します。コピーを作成しないので、バインドされたアトリビュートから読み込みを作成しないようにするのはユーザー次第です。
SOP Path
接続するDOPのパス。
DOP Data
このシミュレーションのDOPデータに接続するObject/Dataパス。
Bindings
Geometry
POPノードの適用先となるシミュレーションデータの名前。 これは一般的にはGeometryですが、必要に応じてPOPネットワークを設計して別のジオメトリに適用することができます。
Evaluation Node Path
ローカルエクスプレッションを持つノードに関しては、これは、VEXのch()
形式のエクスプレッションを何処を基準に評価するか制御します。
このパラメータを.
に設定すれば、相対参照が働きます。
HDA内にノードを埋め込み、さらにローカルエクスプレッションをエクスポートするのであれば、このパラメータをプロモートすることが重要です。
Examples
The following examples include this node.
Street Crowd Example Example for Crowd Solver dynamics node
2つのエージェントグループによるストリートのセットアップを説明した群衆サンプル。
このセットアップは、2つのエージェントグループを作成します。 黄色のエージェントがゾンビで、ストリートのパスに沿います。青色のエージェントがぶらついている歩行者で、ゾンビが近づくと走ります。
エージェントの状態を変更するトリガーは、crowd_sim DOPNETでセットアップします。 ゾンビのグループは、信号との距離と信号の色を使用し、信号が赤になると停止状態に変わります。 生存者のグループは、ゾンビが近づくと走行状態に変わります。
Note
アニメーションクリップは、シーンを再生する前にベイクするのに必要です。これは、サンプルをCrowdsシェルフから作成した場合に自動的に行なわれます。 そうでない場合は、シーンファイルを希望の場所に保存し、'/obj/bake_cycles' ROP NetworkのRenderをクリックして、ファイルを書き出します。 それらのファイルのデフォルトのパスは、${HIP}/agentsです。
KeyframedGrains Example for POP Grains dynamics node
このサンプルでは、ソリッドの豚の頭の内部のGrain(粒)にキーフレームを打って、アニメーションする操り人形の作成方法を説明しています。
See also |