>   >  Houdini Cook Book:Vol.111 Flame
Vol.111 Flame

Vol.111 Flame

02 Source Flow

ソースのセットアップを解説します。


シミュレーションに必要なSourceの準備をします。まず、Pyro Source SOP【A】を使って指定したエリアにSourceのPointを作成します。この際に作成するAttributeはTemperatureのみです。Temperatureの設定温度は「0」にしておきます。Group SOP【B】を使って部分的にPointを選び、その部分のみの温度をWrangle【C】で「1」に変更します。これで温度の差ができます【1】


Pyro Source Spread SOP【D】を使って、温度差を利用した燃え広がりをつくり出します。CombutionタブではIgnition Temperatureが設定可能で、発火の温度を設定することができます。それにより、着火のSourceを作成できるようになります。厳密には、ここで作成しているのはburnのFieldのSource Pointです。また、Temperatureの拡散なども変更しています【2】


burnを作成する際には、それの基となるFuelをつくるようにしています。このように、これまでPyro Solverが行なっていた燃焼の設定をSOP内で行うことで、Sourceとしてあらかじめ準備と管理がしやすい設計になっています。このセッティングが全てではありませんが、目に見えて制御が可能となったことで無駄なリテイクをしなくて済むため、非常に効率的な作業が可能となります。どのような変更が加えられたかについては可視化できます【3】

ここで作成したPointのAttributeを基に、Volume Rasterize Attribute SOP【E】を使ってSource Volumeを作成します【4】


必要に応じてForce Fieldも作成していくわけですが、今回は簡易的な風のFieldを作成しています。ベースのジオメトリのBounding Box【F】からVector VDBをつくり【G】、Volume Velocity SOP【H】を使って値を追加。Volume Trail SOP【I】を使うことで可視化できます【5】


また、今回はベースのジオメトリからCollision Source SOP【J】を使ってSDFのCollisionを作成しています。



シミュレーションのセットアップを解説します。


シミュレーションはシンプルなセッティングです。炎の細かいパラメータの調整は必要ですが、今回は煙などはなく、単純な燃焼のみをシミュレーションしています。今回のテーマでもあるSparseですが、Smoke ObjectのSparse対応のものを使用します【A】。これによりコンテナの初期サイズを設定するのではなく、リミットをもたせつつ、基本的には自由領域にすることができます。発生している箇所に自動的にコンテナを生成することこそ、Sparse最大の特徴といえるでしょう。そのため、FieldをSolveできるPyro Solverも、Sparse対応のものが必要となります【B】

こちらのセッティング自体は基本的に大きく変わるわけではありませんが、細かいパラメータはSparse対応に変更されています。ただ、燃焼やFluidのShapeを決めるパラメータ等の意味に変わりはないので、従来のPyroを使用している方であればすぐに対応可能な変更になっています。今回は炎のセッティングですが、これまでと大きく異なる部分として、燃焼のセッティングが挙げられます。これはSOPで作成しているので、Pyro上で燃焼の設定をする必要性がなく、ゆえにCombustionの設定がなくなっています。その変わり、Shapeなどは変わりがないので炎にふさわしい設定を調整します。特に、DisturbanceやShreddingなどです【1】

次にSourceの設定です。これも、これまでと変わりはないのですが【C】、これまでは燃料であるFuelを読み込みDOP内で燃焼させていましたが、ここではすでに燃焼をシミュレーションしたBurnを読み込んでいます【2】。これが燃焼の基になるわけです。後は、気流を生み出すTemperature【3】が読み込まれていれば、基本的な炎のシミュレーションのセッティングは完了です【4】


必要に応じて、Velocity Fieldを追加でSourceとして読み込んで動きを調整します【D】。また、コリジョンにはSDFでVolume Sample VOPを適用したものを使用します【E】



04 Operators

主要ノードを解説します。

●Pyro Source Spread SOP

PyroがSparce対応してからしばらく経ちますが、少し前にアップデートしたHoudini 18.5でも様々な機能が追加されました。DOP内で調整しなければならかった部分がSOPで調整できるようになったり、複雑なSourceのしくみを簡単にセットアップできるようになったりと便利なものばかりです。これもPoint AttributeベースのSource設定に変更になり、より高精細なシミュレーションが可能になったSparseの恩恵とも言えます。

ただ、まだまだ発展途上でもあるため、便利機能、いわゆるHDAが蔓延していくという弊害もあります。例えば、今回紹介したPyro Souce Spread SOPですが、非常に便利で「延焼していく効果」を簡単につくり出せる優れものではあるのですが、あくまでも「ベーシックなものに限る」ということを理解しておく必要があります。これを参考にカスタマイズする必要はどうしても発生するかと思います。そういった場合に、HDAに頼りっきりで細かなオペレーターに対する理解不足や、フローの分解ができない状態に陥らないよう、こういったHDAは必ず使用する前に内部を確認し、大まかな内部構造を理解しておくことが大切です。


  • 「Houdini COOKBOOK +ACADEMY」
    Houdiniを基礎から楽しく学ぶオンライン講座

    公開日程:毎週金曜日公開(予定)
    価格:1,300円(税込)※セットでの割引販売有
    ※第一回「Houdiniの基本概念とインターフェイス」は無料公開中
    受講対象:Houdiniをこれから学びたい方、Houdiniの勉強で挫折した方など
    cgworld.jp/special/houdinicookbookacademy



その他の連載