すあまの備忘録

誰得内容の自分のための非営利目的備忘録ブログ(筆者がわかっても内緒にしてください)

破壊(RBD)の流れメモ vol.3 RBD Sim

vol.2の続き。

時間の都合で順番が前後しますが、次の回でやるForceが必要です。

Activeの設定

f:id:godofsuama:20201025211458p:plain

RBD Unpackは全破片のキャッシュに繋がっているとします。

vol.2の最後で話したとおり、ハイポリはないのでProxy GeometryとConstraint Geometryのみ使用します。

そのままだと自重で下から崩れてしまうため、Activeを設定して崩れないようにします。

f:id:godofsuama:20201025211659p:plain

全体にactive=1を設定します。

その後、BoundとGroupのBounding Objectの設定で下部をactive=0にします。

f:id:godofsuama:20201025211803p:plain

f:id:godofsuama:20201025211820p:plain

「Enumerate」でidも作成しておきます。

ちなみに全体で148180ピースあります。

DOP

特筆することはないです。

f:id:godofsuama:20201025212035p:plain

POP Advect by Volume

次の回で作成するForceのVolumeを読み込みます。これで破壊しています。

POP Speed Limit

spinとspeedのmaxを制限しています。ちょっとランダム値をいれます。

f:id:godofsuama:20201025212227p:plain

Constraint

各Constraint Relationshipの値は1にしています。これはSOPの値をMultiplyするからです。

f:id:godofsuama:20201025212500p:plain

f:id:godofsuama:20201025212514p:plain

SOP Solver

f:id:godofsuama:20201025212649p:plain

Glueの削除

f:id:godofsuama:20201025212733p:plain

POP Advect by Volumeでは、Glue Constraintの削除ができないのでここで削除します。

Object MergeでDOP内の破片を読み込みます。

../../:rbd_sim/Geometry

f:id:godofsuama:20201025212836p:plain

f:id:godofsuama:20201025212929p:plain

Transform Piecesを使用して、Constraint Geometryを動かします。

POP Advect by Volumeで読み込んでいるVelocity Volumeと一緒に作成したSDFを読み込み

そのSDFの内側をGroupにします。

f:id:godofsuama:20201025213022p:plain

GroupをPointからPrimitiveへPromoteし、動いていないConstraint GeometryへGroupをCopyします。

f:id:godofsuama:20201025213217p:plain

Softは残るように、Wrangleでグループ内のGlueをbrokenにします。

f:id:godofsuama:20201025213303p:plain

f:id:godofsuama:20201025213320p:plain

Softの削除

Softの削除は雑です。

過去記事とかを参考に他の値で切るのもいいでしょう。

godofsuama.hatenablog.com

f:id:godofsuama:20201025213531p:plain

最後に不要なグループ等を削除して終わりです。

f:id:godofsuama:20201025213645p:plain

RBDのキャッシュ

f:id:godofsuama:20201025213928p:plain

f:id:godofsuama:20201025213753p:plain

RBDのキャッシュでメッシュは保存しません。ポイントのみ保存します。

単純にキャッシュを取るのが遅くなることとファイルサイズが大きくなって読み込み、確認に時間がかかるからです。

ポイントの数が多ければ画像のように大体の動きもわかります。

f:id:godofsuama:20201025214032p:plain

ハイポリの整理

マテリアルとか不要なアトリビュート等を整理します。

今回は全部の破片をMergeした後の最初のRBD Unpackから引っ張っています。

f:id:godofsuama:20201025214225p:plain

f:id:godofsuama:20201025214137p:plain

「Transform Pieces」で整理したハイポリとキャッシュしたポイントを使用して破片を動かして終わりです。

f:id:godofsuama:20201025214326p:plain