すあまの備忘録

誰得内容の自分のための非営利目的備忘録ブログ(筆者がわかっても内緒にしてください)

Houdiniで炎を作る

かなりシンプル。

複雑なことができるのはいいことだが、コントロールのし辛さや重さに繋がるので気をつける。

レンダリング時はACESカラースペースで行うこと。

https://youtu.be/olliAn9seEQ


fire

ただし、例の炎みたいなものはSideFX LabsのFire Presetを使用すれば一瞬で作れる。

ネットワーク

f:id:godofsuama:20200405232448p:plain

エミッター

f:id:godofsuama:20200405232650p:plain

Grid状にばらまいたPointにFuelとTemperatureを与え、Volume化

f:id:godofsuama:20200405232821p:plain

DOP内

f:id:godofsuama:20200405232918p:plain

あまり特殊なことはしていない

背の高い火にする場合はGas ReleaseとBuoyancy Liftを調整

f:id:godofsuama:20200405234257p:plain

f:id:godofsuama:20200405234322p:plain Emit Smokeもオフにする

f:id:godofsuama:20200405234405p:plain

f:id:godofsuama:20200405234428p:plain

f:id:godofsuama:20200405234454p:plain

Gas Resize Fluid Dynamicはheatに反応するように変更 f:id:godofsuama:20200405234539p:plain

Cache

heat, temperature, velを保存する

後述のPost処理をしない場合は、velは不要。

使う場合は解像度を4分の1にして保存する。 f:id:godofsuama:20200405234731p:plain

Post処理

f:id:godofsuama:20200405234913p:plain
Post処理あり

f:id:godofsuama:20200405235012p:plain
Post処理なし

場合によるが、滑らかな火や小さめの火が欲しい場合はPost処理したほうがいい。

f:id:godofsuama:20200406000116p:plain

  1. ConvertVDBでVDB化
  2. VDB Vector Mergeでvelをvectorにまとめる
  3. Splitでvelとそれ以外を分ける
  4. VDB Advectで再度Voxelを動かす f:id:godofsuama:20200406000308p:plain

Motion Blurとまでは行かないが、ちょっとvelで引き伸ばされてまとまりのある炎が作れる。

シェーダー

f:id:godofsuama:20200406002950p:plain

f:id:godofsuama:20200406003016p:plain

f:id:godofsuama:20200406003106p:plain

Color

f:id:godofsuama:20200406003255p:plain temperatureをFitしてRampを作る。

最後にAlphaでMultiplyする。

Intensity

f:id:godofsuama:20200406003418p:plain temperatureをFitしてRampを作る。

最後にAlphaでMultiplyし、Intensityを強くするための値を更にMultiplyする。

Alpha

f:id:godofsuama:20200406003522p:plain heatをFitしてRampを作る。

Alphaを強くするための値を更にMultiplyし、0-1にClampする。

レンダリング

f:id:godofsuama:20200406003651p:plain

Volume Step Rateと、Stochastic Samplesを上げるとVolumeがきれいにレンダリングできる。