On this page |
概要
このノードは、入力ジオメトリのポイントに対してスニペットを実行します。
コードは、vector pos
変数を新しく変形させた位置に更新するはずです。
xform
変数をご存知であれば、オプションで、その変形の微分を使ってmatrix3 xform
変数をセットアップすることができます
(詳細は、Derivatives Methodヘルプを参照してください)。
@
スニペット構文を使用することでアトリビュートを読み込むことができます。
しかし、微分を計算する時には、ポイント番号は計算領域に対して一定であることを留意してください。
そのため、@P
の関数を記述すると、おそらく自動的にアトリビュートを回転させることができなくなることでしょう。
代わりに、局所的な位置の変形には常にpos
を使ってください。
-
スニペットからのエラー出力を確認するには、ノード上でを押してください。
-
VEX関数
ch
を使用すれば、パラメータを評価することができます。 このパスは、このノードを基準としています(ch("parm")
は、このノードのパラメータparm
を評価します)。 この関数は、現行時間で評価されます。
構文
パラメータ
Code
Group
プログラムを実行するための入力ジオメトリ内のポイントのサブセット。 入力の全てのポイントに影響を与えるには、ここは空っぽのままにしておいてください。
Group Type
どんなグループが作成されるか。
VEXpression
Pointアトリビュートを操作するVEXコードのスニペット。
@variable_name
構文を使えば、ジオメトリアトリビュートにアクセスすることができます。
Attributes to Transform
このパターンに一致するPointおよびVertexアトリビュートがトランスフォームされます。 ポイント、ベクトル、法線は全て異なる処理が必要なので、それらのType Infoはどのようにトランスフォームすべきかを決定するために使われます。
P
がこの文字列に一致する場合、プリミティブトランスフォームも回転されます。
Recompute Affected Normals
トランスフォームされたポイントとトランスフォームされていないポイントの両方を使用したポリゴンから影響を受ける法線を再計算します。
フルジオメトリや完全に繋がったコンポーネントをトランスフォームする時、その結果は、このオプションをオフにした時と同じになるはずです。
つまり、法線がトランスフォームされるだけで再計算されません。もしP
がトランスフォームされない場合は、これは何もしません。
Preserve Normal Length
法線長さを保持します。
Derivatives
Method
位置ではなく、Velocityや法線といったアトリビュートをトランスフォームするには、
その変形が単一ポイントをどのように扱うかということだけではなく、その変形が空間に対してどのように変化するのかを知らなければなりません。
もしこの計算方法をご存じなら、その微分をxform
パラメータに記述し、Explicitly Set Xform
を選択することができます。
しかし通常は、その変形の挙動を計算するのは難しいことがあるので、このノードに、その変形の挙動を自動的に計算させるのがベストです。
Four Points は、その名が示すように、x、y、z方向でどのように変形が変化するのかを決定するために、追加で3つの変形を行ないます。 これは、 Central Differences より高速ですが、1つの方向だけを見るので、偏ります。
Central Differences は、変形されるポイントの近隣でバランスのとれた変化を見つけるために、追加で6つの変形を行ないます。 これは、自動計算に対しては最高の結果を生みますが、デフォーマを2倍多く呼び出さなければなりません。
Step Size
デフォーマが空間をツイストする方法を決めるために、各方向で小さいステップを取ります。 このステップサイズは、その空間のキーとなる特徴部分を取得するのに十分に小さいサイズでなければなりませんが、数値的な問題を引き起こすほどの小さいサイズにしないでください。 モデルから中間点までの間隔の半分がちょうど良いです。
Rigid Projection
自動計算または手動計算されたマトリックスでは、その中にスケールまたはシアー(せん断)のコンポーネントを持っていることがあります。
これは、それらのコンポーネントを抜き出して、そのマトリックスを強制的に回転マトリックスにします。この目的のためにpolardecomp
が使用されます。
Prevent Inversion
微分マトリックスの符号は、トランスフォームの特定の領域で反転することがあります。 これは、その反転を検出し、その符号を元に反転させるので、マトリックスの行列式は常に正です。
Bindings
Attributes to Create
名前がこのパターンに一致した場合にのみアトリビュートを作成します。
デフォルトでは、アトリビュートの作成が許可されていません。
vtxnum
のようなバインドされたアトリビュートは作成されず、無視されます。
Enforce Prototypes
@
構文を使った自動バインドは便利ですが、ご自身のシステムがより複雑になった場合に、
@
バインドのタイプミスによって、存在しないアトリビュートを勝手にバインドしてしまうというリスクが生じます。
このオプションは、使用前に全ての@
バインドをプロトタイプとして強制的に明示させます。
Evaluation Node Path
ch()
のようなVEX関数は通常、このノードを基準に評価します。
ここにノードパスを入力して、パス検索を開始する場所をオーバーライドします。
これは、検索をアセットルートから開始するようにしたいデジタルアセットの中に埋め込むときに便利です。
Export Parameters
VEXパラメータをエクスポートした時、そのバインドされたアトリビュートが存在していない場合は、そのアトリビュートが作成されます。 このパターンを使えば、特定のアトリビュートへの書き込みや作成を回避するように、VEXシェーダのエクスポートオプションをオーバーライドすることができます。 そのパターンはVEXパラメータと一致し、バインドされたアトリビュートには一致しません。 そのアトリビュートは、読み込みに関してはバインドされたままになります。
See also |