On this page |
比較
古いPOP |
ダイナミックパーティクル |
---|---|
ジェネレータノード毎に別々のパーティクルプリミティブが作成され、ノードは、そのパーティクルプリミティブを操作するジェネレータから接続されていました。 |
パーティクルはストリームと呼ばれるポイントグループにあります。パーティクルすべてのサブセットを操作するノードブランチを作成することが簡単になりました。 |
フレーム毎に |
フレーム毎に |
デフォルトで |
ソルバはデフォルトで |
Collectノードを使って別々のジェネレータからのプリミティブを結合していました。 |
標準のMerge DOPを使ってパーティクルシステムを結合します。 |
ディスプレイフラグを使ってシミュレーションの出力を設定していました。 |
出力を変更するには、ネットワークを再接続しなければなりません。 |
HScriptのエクスプレッションで |
より高速な処理とマルチスレッド処理をするためにVEXエクスプレッションを使います。 |
ほとんどC++で実装していました。 |
VOPとSOPを使って実装しているので、ソースネットワークを調べてそこから新しい挙動を設定することが可能になっています。 |
少ないパーティクルとC++ノードのネットワークの処理が非常に高速でした。 |
VOPのJUST-IN-TIMEコンパイルとノードネットワークのクッキングを使うので、基本的なオーバーヘッドが大きくなりました。しかし、パーティクル毎のエクスプレッションを使う場合、新しいVEXエクスプレッションは、古いHScriptエクスプレッションよりも非常に高速で、マルチスレッドによって高度なパーティクルシミュレーションを高速化しています。 |
Guideノードフラグを使ってビューアにガイド(例えば、フォース方向の可視化)を表示していました。 |
DOPには可視ガイドを隠すHiddenノードフラグがあります。ガイドと可視化はノードパラメータで制御します。 |
dragをVelocityとは逆方向の加速度として適用していました。これはdragの値を大きくすると不安定になり、ゼロに近づけると振動する場合があります。 |
dragはvelocityの二乗に比例するので、遅い速度の動きを保持しながらも極端なVelocityのより高速な圧縮が可能です。dragが暗黙的に適用(dragの方程式が直接計算されている)されているので、非常に大きなdragを使ってもオーバーシュートが回避されます。 |
collisionノードを使って衝突検出とその反応の両方を操作していました。ノードフローの衝突反応の操作は扱いにくいものでした。 |
チェーンのパーティクルノードは、プロパティを使って衝突の挙動を指定します。Particle Solverノードは、そのプロパティに応じてDOP衝突に反応します。 |
整数のstate
アトリビュートは、衝突プロパティの"ビットフィールド"でした。ビット単位の演算を使って整数値からプロパティの情報を引き出さなければなりませんでした。非表示のbacktrack
アトリビュートは、パーティクルの発生場所を追跡していました。
|
|
その他
-
ダイナミックパーティクルは古い"パーティクルイベント"システムと同じではありません。イベントは、パーティクルシステムが
/part
ネットワーク内にしか存在できなかった初期の頃の制約を回避するためにありました。 -
Creep POPの機能は、POP VOPまたはPOP Wrangleに置き換わりました。
posprim
/pospath
/posuv
アトリビュートとprimuv()
関数を使用してください。