Day 1-2 : RBD : Introduction の Copy to Points の設定で "Pack and Instance " という設定項目がありました。
そして ここで Packed されたオブジェクトを RBD Packed Object で受け取っていたと思います。
また Day 2-1 : RBD : オブジェクトを砕くでは DOP Network 内で RBD Fractured Object というノードでシミュレーションを受けるオブジェクトを受け取りました。
これらは前項では「そういうもの」としてさらっと扱いましたが、この項ではもう少し詳しく見ていきたいと思います。
上記の2つに加え、RBD Object というノードもあるので それらを比較しながら見ていきましょう。
オブジェクトが分割されていても、1つのオブジェクトとしてシミュレーションをかけるものです。
具体的にはこのようなシミュレーション結果になります。 オブジェクトが単一の場合はこれで十分でしょう。
RBD Object と違い オブジェクトをバラバラして 複数のDOPオブジェクトとして取り扱うためのノードです。
ただし、どこでオブジェクトが分割されているのかの判断に name アトリビュートか グループが必要です。
Assemble ノードを使うと 独立した 部分の Primitives に name アトリビュートを割り振ってくれます。
それぞれのオブジェクトに独立したシミュレーションがかかっているのが確認できます。
RBD Fractured Object と同様 断片ごとにバラバラにシミュレーションをかけてくれます。
しかし Copy to Points で Pack and Instance しておけば Assemble する必要もありません。
また、こちらの方が処理が高速です。
RBD Fracture Object の方が重くなるのは 破片ごとに DOP オブジェクトを生成しているためです。
一方 RBD Packed Object の場合 1つしかオブジェクトは生成されません。
大幅にメモリの使用量を削減できているので、処理速度も速くなります。