DOP基礎8 Merge DOPとRelationship


前回はAffector Matrixについて説明したので、今回はMerge DOPについて軽く触れてみたいと思います。Mergeノードを使う事によってRelationshipにデータがいろいろと追加されます。

 

今回のサンプルファイルです。
merge.zip

 

MergeでRBD Objectを4つ繋いでみると、Relationshipsの所にデータがいろいろと追加されているのが分かります。よく見ると、ネットワークビューではMergeノードは一つしか使ってないのに、Geometry SpreadsheetのRelationshipsにmerge2, merge3、merge4と3つ追加されています。なぜでしょうか。

1

 

今はRigid body solverにより、全てのオブジェクトがMutualになっています。すると、multisolver3~というデータの中にObjinAffectorsとObjinGroupがあり、4つのRBDオブジェクトがそれぞれ含まれています。Rigid body solverのMake Objects Mutual AffectorsをOFFににすると、この情報が全て無くなります。するとAffector MatrixもMergeノードで作られたものだけになります。

2

 

試しにそれぞれのmergeのデータを見て、ObjinAffectorsとObjInGroupに注目しています。よく見るとObjinAffectorsに属するオブジェクトがObjInGroupに属するオブジェクトに影響を与えているのがわかります。

obj1 → obj2、
obj1、obj2 → obj3
obj1、obj2、obj3 → obj4

3

 

もしMergeノードのAffector RelationshipをMutualにすると、Geometry Spreadsheetの中のデータもmergeが一つだけになります。

4

 

 

Mergeノードは他にも色々なRelationshipを作ることができます。例えばFluidシミュレーションなどで、煙を出すソースとして使うこともできます。すると、obj5というオブジェクトがエミッターとして働き、smokeobject1に影響を与えているというイメージになります。
昔はこのRelationsipを使ってコリジョンやSink等を作るのに使われてましたが、今は別の方法で制御します。
このネットワークの組み方はあくまでもデモの為だけです。Fluid系については別の機会でゆっくりと説明します。

5