よくあるSOP上でSolverを使用してActiveにした場合、ぶつかった破片が反応しないのを解決する方法
SOP Solver上で範囲やタイミング決めるのが楽なのでそれを維持しつつ…なやり方
まずはよくあるSOP上でActiveを転送するやり方から
SOP上でActiveの転送を行う
- RBD用のObjectに
active = 0
を設定
画像のset_activeOFFの部分
2.タイミング、範囲指定用のObjectにactive = 1
を設定
画像のset_activeONの部分
3.SolverでActiveをTransfer
4.PackしたPointでactiveアトリビュートを保持する
5.DOP Network内でRBD Packed Objectの設定を以下のようにしてシムする
Initial Object TypeをStatic Objectに変更
Overwrite AttributeにActiveを追加
Activeを連鎖反応させる
SOP上でのActiveの転送と同じように
- RBD用のObjectに
active = 0
を設定し、タイミング、範囲指定用のObjectにactive = 1
を設定する
2.PackしたPointでactiveアトリビュートを保持する
3.DOP Network内でRBD Packed Objectの設定を以下のようにしてシムする
Initial Object TypeをCreate Deforming Static Objectに変更
4.SOP Solverを作成して以下の設定にし、接続する
5.SOP Solver内を以下のように作成する
5-1. Object Mergeを作成し、SOP上で作成したActiveを転送させるObjectを読み込む
5-2. Attribute Transferの第一入力にdop_geometryを接続、第二入力に転送させるObjectを接続
5-3. Object Mergeを作成し、DOP内の連鎖させたいObjectを読み込む
(今回はboxというノード名のRBD Packed Object)
5-4. 速い破片からのみ転送させるため、SpeedでGroupを作成する
length(@v)>=5
の部分の閾値は適宜変更
5-5.不要な破片を削除する
5-6. Attribute Transferを作成して第一、第二に接続
二重にAttribute Transferしているのは、それぞれでDistance Thresholdの変更ができたほうが良いため