2012/06/20 過去記事の移行記事
TutorialのLearning Pyro FXにおいて、CubeのDivisionの値ごとに切り取りを行う手段があったので、それのメモ。
↑この動画資料が消えてた…。ノート残しといてよかった…。
まず、Geometry内にboxを作成、それにIso Surface nodeを追加、box1の下に繋ぐ。
Iso Surfaceは、Objectに等尺性のsurfaceを生成さる。
ParameterのImplicit Functionにexpressionを入れてbox1の表面を変化させる。
snoise($X*5+100, $*5, $*5)
snoise はsimulated noiseの一種で、ここではX, Y, Zにsimulationでnoiseをかける。
Divisionsの値を30に上げる。これで3方向に30づつの分割がされたことになる。
この立法方向へのDivisionは、これはBuild Volumeのcheck boxにチェックを居れる事で分かりやすくなる。
このチェックを入れると、Veiwport上で以下の様な表示になり、よく見ると、透けた面が何枚も重なってるようになっている。これが各立法方向への分割面となる。(Divisionsの値をいじってリアルタイムで確認するとさらに分かりやすい。)
Box nodeを追加する。box2のParameterのDivisionsにチェックを入れ分割する。
iso1をコピーしてIso Surfaceを増やす。
box2のDivisionsをCopy Parameterし、iso2のDivisionsのところでPaste Copied Relative Referencesしてbox2のDivisions parameterのアクションをiso2のDivisions parameterに同期させる。
ここで、iso2のDivision parameterの各値に
ch("../box2/divsx")
のdiv"x"の値が各方向のものが代入された。
box2の下にColor nodeをつなぐ。
iso1とiso2をSwitch nodeで接続する。
switch1の下にColor nodeをつなぎ、ParameterのColor TypeをBounding Boxに変更する。これで虹色のカラーが適用される。
後は、color1とcolor2をMerge nodeで接続する。
ここで、switch1でiso2が表示されるようにし、box2のDivisionsの値を弄ってる。
最初の設定だと10の値で、このままであればトップの画像と同じようになっているだろうが、例えば、iso1のDivisoionsの値と同じ30まで上げてみるとiso1で設定したsurfaceと同じsurfaceを生成する結果が生まれる。
TutorialでのDivisionに関する取り扱いはこれまでだが、Gas Solver系を扱って行く時やFluid Solver、Smoke Solverなどにも関わって来る基礎的知識なので理解しておきたい。
[References]
Learning Pyro FX - Side Effects Software Inc.