Loading

炎のシミュレーション

炎はいくつかの方法でシミュレートできます。 必要なものは、炎のシェーダを設定するためのベースとする1つまたは2つのフィールドだけですが、そのためにおそらく大半の時間を費やすことになります。 また、適切なシェーディングパラメータを用いるだけで、最も単純な煙を見事な炎に変えることさえできます。 この効果の様子は、煙ベースの炎のサンプルプロジェクトに示されています。 炎のシェーディングの詳細については、次章を参照してください。

より自由に炎のシミュレーションを使いこなすための方法は、いくつかあります。 これらの方法は、燃料チャンネルに基づいたものです。ボクセルの温度が発火熱パラメータの設定値を超えると、オブジェクトから燃料が放たれます。 燃料が燃焼すると、膨張パラメータの設定値に従って、空気が加熱され膨張します。 このパラメータは、爆発や大きな火球を制御するうえで不可欠です。 また、燃料の燃焼には、熱/煙の放射効果もあります。 これらに対応する熱放射/煙放射パラメータにより、熱/煙チャンネルに対する、単位燃焼燃料あたりの熱/煙の追加量を調整できます。 熱放射パラメータは、火がどれだけ燃え続けるか、つまり発火後のeを発火点よりどれだけ高く保つかを決めるためのものです。

燃料チャンネルには、その動きを他の流体のそれより鈍らせられるという特徴もあります。 このため、炎の形状をいっそう調整しやすくなります。 たとえば、拡散パラメータでは、実質的に燃料フィールドの効果をぼかすことができるので、流体内の動きにかかわらず、あらゆる方向へゆっくりと燃料を拡散させることができます。

炎チャンネルでは、別のチャンネルを用いて炎をレンダリングできます。 炎の度合は、燃料が燃焼する場所では必ず大きくなり、そこから離れた場所では小さくなります。 これにより、炎の中心までの距離を基にそのシェーディングを可能にするフィールドを作成できます。 次章では、炎のシェーディングについて詳述します。