title


genchansansanは今日も戦う。

2013/01/03

impact情報収集係 その1

impact情報を収集したい。



CGWorld様のおかげで、簡単にできるわいと思って再現しようとしたら、
出来ない。

Multi Solverがわからん。
ヘルプ読みながら、理解深め中。



初心者向けなものはないかと思ってググッテいたら、ありました!

簡単!!
このやり方H12からのようなのでメモ。(DOP Import RecordがH11に出てこないので)



Impact_points_collection from Naoki Kato on Vimeo.



ボロノイ分割したオブジェクトをRBD glue objectsとしてDOPでsim。
いつも通り。

自動生成されるgeometry > DOP Importでsim結果を見る。

さらに、別のジオメトリを作っておいて、DOP Import Recordsを作る。
(下図は全体図。DOP Import Recordsは左上。)



参照したい場所の設定。


一番上の図右下の
popnet内にsource作って、Const Birth Rateに

npoints("/obj/impact_points/dopimportrecords1")*$FPS


Const Birth Rate : Number of particles to emit per second (when Constant activation is on).
= 毎秒いくつパーテクル出すかえ?

ってことらしいので、とりあえずDOP Import Recordsに読み込まれたポイントの数にフレームレート掛けた分だけ発生させる。
(FPS = 計算回数じゃないとこれとりこぼしたり、余分に作ったりしそう...)


とりあえず、以上。

impactしたときのデータだから下向きだったり....



/////////////////////////////////////////////////////////////////////////

ここからは、DOP Import Recordsから左に繋がってるノードのメモ。
ファーストインパクトだけ、引っ張り出す模様。

addされたポイントにこんなattribute作る。

Solver内のノード。

Group内Expression : if( npoints("../OUT_RECORD") > 0 &&     (point(opinputpath(".",0), 0, "P", 0) + point(opinputpath(".",0), 0, "P", 1) + point(opinputpath(".",0), 0, "P", 2)) == 0, 1, 0)


AttribCreate内Expression : point("../OUT_RECORD", 0, "P", 0)
                                     point("../OUT_RECORD", 0, "P", 1)
                                     point("../OUT_RECORD", 0, "P", 2)


参照URL:

http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&p=113742&sid=7d0ac136c72f40ae117bed885675ef46