破壊した所から煙を発生させたい

VolumeBreakとSCで変な動きの検証。その後 でやったシーンに煙を足す準備。

image 地面ヒットところ

 

しかしいくつか問題があって

・分割したオブジェクトの中心から煙(水色のパーティクル)が出てしまっている。サーフェスから出したい。
・出来れば分割した断面からのみ煙(水色のパーティクル)を出したい。
・Memoryオペレーターでヒットしたところとタイミングを取り出して地面から出る煙(赤色のパーティクル)を作っているが何故か一回目しか出ない。

赤い煙が一回しか出ないのはホントおかしい。
これはVolumeBreakをアクティブにするときに使ったパーティクルの発生情報とポジションをMemoryオペレーターに記憶して使っているので毎回出るような気がするんだけど。デバッグしたら数字が出まくって重くなったので今度気合をいれてみてみよう。

やりたいことから逆算してチュートリアルを探してはシーンを構築していっているので、まだまだ知らないこと多いなあ。

memory オペレーターのdepthが何なのか調べてみた

ツイッターでMemoryオペレーターのdepthがどういう働きなのかという話題があがっていたので間単に調べてみた。

まずはObj.To Particleでパーティクルを適当に動かしてみる。

シンプルな動き。

この動きをMemoryオペレーターのpositonで保存する。depthの深さを10にしてみる。 

次に、新たにMemoryオペレーターをつくります。そのオペレータから記録したポジション情報を取り出し、Positon Bornオペレータで新しいパーティクルを発生させる。スピードを0、lipespanを30、レート(count)を10にする。

簡単なトレイルのようなものが出来た。

ここで更に記録を取り出したMemoryオペレーターのdepthの数値を変えてみる。
Integerヘルパーを出してMemoryオペレーターのdepthに繋ぎ、数値を10にする。

するとこのような動きになる。

https://twitter.com/notchmen/status/207360148627398657
@notchmenさんの発言によると
depthを指定してやることで、過去情報を取り出せます

ということですので。 そのとおりdepthを10にすると10f過去の数値を取り出せているようですね。ちゃんとdepthを理解できたということでいいかな?