このシリーズの第5回チュートリアルでは、Blender 4.5 の Fluid シミュレーターを使った fire と smoke の simulation において、Domain の主要なパラメータのいくつかを見ていきます。


このチュートリアルは、Blender 4.5 における炎と煙の基礎に関する全10回のミニシリーズの一部です。エピソードの完全な一覧を見るには、ここをクリックしてください。


動画の書き起こし

皆さん、こんにちは!このシリーズの第5回チュートリアルでは、Blender 4.5 の Fluid シミュレーターを使った fire と smoke の simulation において、Domain の主要なパラメータのいくつかを見ていきます。具体的には Settings、Gas、Fire、Collections セクションのものです。これらのパラメータの一部を使えば、炎や煙をより生き生きと、均一でない見た目にすることができます。

まず Settings セクションの主要な要素から始めましょう。これまでに Resolution Divisions パラメータを見てきましたが、Domain の下の角に表示される小さな Cube によって示される Voxel のサイズが非常に小さい一方で Domain 自体が大きい場合、simulation を実行するために必要な計算量とメモリが増えることを理解しています。

Settings セクションの下部にある Adaptive Domain オプションを有効にすると、Blender は simulation の間に Domain のサイズを動的に変更できます。

ただし、Adaptive を有効にしても Domain の高さはある程度までしか伸びません。その後、煙が Domain の天井に触れると Outflow として扱われ、消え始めます。Gas セクションには煙をより早く消散させる専用のオプションがあり、後ほど確認しますが、まずは Adaptive Domain を無効にして Border Collisions セクションを見てみましょう。

Border Collisions パラメータを有効にすると、バウンディングボックスの側面が障害物として扱われ、炎や煙が反射されます。デフォルトでは無効なので Outflow として扱われ、fire と smoke は境界に触れた瞬間に消えてしまいます。Domain の天井に Border Collision を有効にすると、煙はそこで蓄積し、横に広がりながら端に到達すると消えます。これは側面の Border Collision が無効だからです。

他の側面にも Border Collision を有効にすると、Domain は閉じた箱のように振る舞い、fire と smoke は壁に触れても消えず、内部に蓄積し続けます。

Settings パネルの上部に戻ると、Time Scale と Adaptive Time Steps があります。Time Scale は simulation の進行を遅くしたり速くしたりできます。

Adaptive Time Steps チェックボックスはデフォルトで有効になっており、アルゴリズムがアニメーションの各フレームに必要な中間ステップ(Steps)をいつ追加計算するかを決定します。このチェックボックスの下にある3つのパラメータは、それぞれアルゴリズムが毎回何ステップ計算するかを直接制御します。Maximum と Minimum はその名のとおりですが、CFL Number は少し複雑です。実装の詳細には触れませんが、知っておくべきことは、CFL Number を大きくすると必要な Steps が少なくなり計算時間も短縮されますが、精度が低下するということです。炎や煙が特に速く動く simulation では、CFL Number を低めに設定することで品質を改善するのが良いでしょう。

Gravity パラメータはデフォルトで無効になっています。なぜなら Scene タブのグローバル設定が使用されるからです。もし Scene タブでグローバルの Gravity を無効にすると、Physics 内でこれらのパラメータが再び有効になり、編集できるようになります。

Empty Space は Smoke 要素でのみ機能します。具体的には、このしきい値以下で満たされた Voxel は空と見なされ、simulation で無視されるため、計算時間を節約できます。

Gas セクションに移ると、最初に Buoyancy Density と Heat パラメータがあります。これらは気体に働く上向きの力を表しており、ひとつはガスの密度に基づき、もうひとつは温度に基づきます。これらの値は直接的に温度や密度を表すのではなく、それらによる上向きの力を示しています。

幸い、このパラメータのツールチップは非常に分かりやすく、値を上げればガスがより速く上昇することが説明されています。特に Buoyancy Heat は煙の熱による上昇力です。

煙の温度と周囲環境の初期温度差は、各 Inflow オブジェクトで Initial Temperature パラメータによって定義されます。また、Inflow オブジェクトのパネルには Density パラメータもあり、Domain の Buoyancy Density と関連しています。

Vorticity は煙の乱流を制御し、間接的に炎にも影響を与えます。

値が高いほど煙が乱されます。ただし注意が必要です。

低い値でも非常に強い乱流を生み出すことがあるからです。

画面では Buoyancy Density を変化させると結果がどのように変わるかも示しています。

Buoyancy Density が大きいと煙の上昇が速くなります。

ガスが天井に蓄積するのを防ぎ、一般的により早く消えるようにするには、Dissolveを有効にして Dissolve Time パラメータを調整します。これはフレーム数で測られます。当然、値を小さくすればするほど煙は早く消えます。表示されるフレーム数が減るからです。Dissolve Slow オプションを有効にすると、煙が対数的に消えていきます。つまり最初は速く、時間が経つにつれてゆっくりと消えるようになります。

Gas セクションには Noise と Fire も含まれており、炎に乱れを加えることができます。特に Noise は炎の輪郭に強く影響を与え、多くのディテールを追加するので、たとえば焚き火や暖炉の炎をより乱れて均一でない見た目にするのに便利です。Strength と Scale パラメータは直感的に乱れの強さを制御します。

Upres Factor パラメータは、Domain のベース解像度に追加の細分化を適用してノイズのディテールを作り出すもので、このためシミュレーションは遅くなります。ノイズが加えられる領域は高い解像度で計算されるからです。Fire セクションのパラメータを見ると、Gas セクションと同じように Vorticity パラメータがあることに気づきます。煙と同じように、Vorticity は炎に乱流を与えます。炎にも温度があり、値を高くすれば煙と同様に炎も速く上昇します。この2つのパラメータを組み合わせることで、炎はより高く、より生き生きとした見た目になります。

Collections セクションには Flow と Effector という2つのフィールドがあり、それぞれに Collection を指定できます。これにより、指定された Collection に属する Flow オブジェクトや Effector オブジェクトだけを simulation に含めることができます。

Effector は fire と smoke の経路をそらすことのできるオブジェクトを定義する特別な要素です。

Effector の種類である Collider と Guide については、後のエピソードで解説します。

デフォルトでは Collection は指定されていないため、すべての Flow オブジェクトと Effector オブジェクトが simulation に含まれます。

チュートリアルを検索

フレーズ、または複数のキーワードをカンマで区切って入力してください。

このウェブサイトは個人サイトであり、販売チャネルではありません。3Dモデルに関するページは、私の作品の一部を記録するためのものであり、販売案内、価格、購入方法、商用リンクは掲載していません。現在、カスタム制作、コンサルティング、その他の業務上の協力依頼は受け付けていません。


プライバシー及びクッキーの使用に関する拡張情報の通知