On this page |
概要
これは非常に強力な低レベルにアクセス可能なノードであり、VEXに詳しい熟練者が、コードを使ってPointアトリビュートを調整することができます。
このノードは、VOP SOPに相当しますが、VOPネットワークの代わりにテキストのVEXスニペットを使用します。
Warning
このノードを扱うには、VEX言語を理解している必要があります。 そうでないと、このノードを使えば不正なコードを記述しがちです。
このノードは、入力ジオメトリ内の すべてのPoint に対してスニペットを実行します。 スニペットは、アトリビュートを変更することで、入力ジオメトリを編集することができます。 アトリビュートとVEX関数を使うことで、他のジオメトリの情報にアクセスすることができます。
-
ノードをクリックすると、スニペットからのエラー出力を確認することができます。
-
VEX関数の
ch
を使ってパラメータを評価することができます。 パスは、このノードの相対パスです(ch("parm")
は、このノードのparm
パラメータを評価します)。 この評価は、現行時間で実行されます。 -
Point SOPとは違い、このノードはローカル変数を使用しません。 さらに、すべてのバッククォートによるエクスプレッションと
$F
変数は、現行時間ではなく、フレーム1で評価されます。 代わりにFrame
、Time
、TimeInc
を使ってください。
コンテキスト
VEX変数
一時的にVEX変数を作成することができます。
通常のVEX変数は、変数名の頭に@
を付けません。
例えば、以下のコードは、P
とCd
を入れ替えます。
vector temp = @P; @P = @Cd; @Cd = temp;
グローバル変数
VEX sop
コンテキストには、アクセス可能なグローバル変数(例えば、アトリビュートに相当するP
)がいくつか用意されています。
直接それらのグローバル変数にアクセスすることができますが、明確に@
接頭辞を使うことを推奨します。
以下のグローバル変数は、アトリビュートに相当しませんが、スニペットでは役に立ちます。
Npt
ポイントの総数。
Time
現行時間(秒)。
Frame
現行フレーム(フレーム)。
TimeInc
フレーム間の時間の増分(秒)。
OpInput1
, OpInput2
, OpInput3
, OpInput4
ファイルパラメータを受け取るVEXオペレーションで、このSOPの文字列に相当する入力を参照するために使用する文字列。
パラメータ
Point group
プログラムの実行を適用する入力ジオメトリのポイントのサブセット。 このフィールドを空っぽにすると、入力のすべてのポイントに影響を与えます。
VEXpression
Pointアトリビュートを操作するVEXコードのスニペット。
@variable_name
構文を使えば、ジオメトリアトリビュートにアクセスすることができます。
Attributes to Create
アトリビュートの名前がこのパターンに一致した場合のみ、そのアトリビュートを作成します。 デフォルトのパターンでは、どのアトリビュートも作成されます。
*
を許可したい名前のリストに置換することで、作成するアトリビュートを制限することができます。
Cd
、v
、id
などのグローバルアトリビュートは、このリストになくても作成されます。
Examples
The following examples include this node.
TorusAxisForce Example for POP Axis Force dynamics node
このサンプルでは、POP Axis Forceノードを使って、パーティクルのグループを渦巻き上げさせる方法を説明しています。
CurveForce Example for POP Curve Force dynamics node
このサンプルでは、POP Curve Forceノードを使って、パーティクルシミュレーションとFLIP流体シミュレーションの流れを制御する方法を説明しています。
DirectedEdgesPath Example for Find Shortest Path geometry node
このサンプルでは、FindShortestPath SOPを使って、指向性のエッジを持つジオメトリから最短パスを見つける方法を説明しています。 指向性のエッジは、1方向にしか移動できません。
SOPがどのように間違えた方向を回避するのか、なぜ出力方向のエッジのみではポイントに到達できないのかを調べるために、指向性のエッジだけでなく、開始/終了点も変更してみてください。
PathAnalysis Example for Find Shortest Path geometry node
これは、FindShortestPathとAttribWrangleによる測定に基づいた"中心軸"パスを優先にする高度なサンプルです。これは、壁への近接を回避するのに役に立ちます。
空間内でもっと簡単に確認するには、Display OptionsダイアログのOptimizationタブにあるCulling > Remove Backfacesをオンにします。 Switchノードを使って別の中心軸測定を可視化してみてください。パスの中心軸を考慮しない同じサンプルを、違いがわかるようにSOPネットワーク内の端に置いています。
See also |