まず、FumeFxのコンテナはインスタンスコピーされたものはレンダリングされない模様。
なので、たくさんコピーしたコンテナのパラメーターを一括変換するためスクリプトが必要になった。
コンテナのパラメーターは「showproperties $(選択物)」で確認したり、
リスナーでレコードして確認する。
そこで、RenderタブのSmoke内のOpacityにアクセスしてみたいと思う。
まず、「showproperties $"Smoke*"」でそれっぽいパラメーターを検索。
.SmokeDetailStrength (Smoke_Strength) : float
.SmokeThreshold (Smoke_Threshold) : float
.SmokeFromFuelDensity (Smoke_Density) : float
.SmokeBuoyancy (Smoke_Buoyancy) : float
.SmokeIllumStrength (Smoke_MS_Strength) : float
ん~見当たらない。。
リスナーのレコーダーで見てみる。
$[#Standard].smokedensity = 0.93
とでる。
なので、「$.smokedensity = 1」と入力してみる。
一瞬できたと思ったが、シュミレーションタブのFuelパラメーターのSmokeDensityが1になった。
僕の引き出しはここまで。もう迷子。
適当に「$.smokeopacity = 1」やらいろんなの試したけど駄目。。。
ツイッターでいつものように助けてとつぶやく。
そこでKei Yoneokaさんがいつものようにすぐ助けてくれた。
ほんとに毎度ありがとうございます{%万歳webry%}
-------------------------------
Keiyoneoka
@notchmen あー、あれは最初にFumeのシェーダーを変数として定義しないとだめぽいです。
myshader=(i.getshader()) とやって、myshader.smokedensity=0.1とかする流れです。
--------------------------------
解決!!
私的解釈では
RenderタブのSmoke内のOpacityはFumeFxシェーダのプロパティにあたるらしい。
上記で見られる「$[#Standard].smokedensity = 0.93」の[#Standard]がそうだ。
なのでFumeFXシェーダーを作成して、そのシェーダーのプロパティにアクセスするという流れだ。
キーとなるのはこいつだ。こいつさえ知っておれば。。
↓↓↓↓↓↓↓
[#Standard]
ほんと仕組みがまだまだ理解できてないので勉強しなければ。。。
0 件のコメント:
コメントを投稿