Loading

炎のシェーディング

視覚的には、炎の実体は高温ガスと発光するスス粒子とで構成されています。 たいていの炎は、主にスス (炭素) で構成されています。 炭素はいわゆる黒体の一種です。 黒体が黒いのは、それに入射するあらゆる光を吸収するからです。 しかしそれは、温度が約600ケルビンを超えると、特徴として発光し始めます。 おなじみの赤/オレンジ/黄/白色は、ここから生じます。 これが炎の色を特徴付けるのは、火が主にスス粒子からなるためです。

スス粒子から炎の光が放射されるということは、スス粒子の数が多いほど炎は明るくなるということです。 その一方で、黒体は光を吸収するので、スス粒子の数が多いほど炎は不透明にもなります。 これら2つの効果は、炎シェーダの不透明度グループで正確に調整できます。 これにより、炎の形状を調整できます。

色の調整方法は2つあります。 1つはカラーグラデーションを直接指定すること、もう1つは発光する黒体の色を計算するための物理モデルを用いることです。 前者では完全に自由に処理できるようになり、後者ではリアルな色が簡単に得られます。 ただし、カスタムグラデーションを用いるときは、ハイダイナミックレンジカラーを用いるよう留意してください。 (また、必ずクランプのチェックボックスをオフにしてください。) たとえば、デフォルトのカラーグラデーションの強度値は、 実際のところ常にオレンジ色が含まれています。 この強度値は0%?2000%です。

前述のとおり、炎のシェーディングは、各種のシミュレーションチャンネルを用いて行えます。 煙ベースの炎のサンプルプロジェクトでは、不透明度を得るために熱フィールドを用いて、色および煙チャンネルを操作できます。 一方、燃料ベースの炎のサンプルプロジェクトでは、燃料および炎の各チャンネルを用いた場合とほぼ同じ結果が得られます。 燃料チャンネルでは、反応をシミュレートするうえでの自由度が高いですが、シェーディングに関する動作は同じです。 これらの例では、不透明度グループのマッピングによって、炎の典型的形状が作成されます。 立ち上る燃料の柱は、十分な酸素の存在する外側輪郭でしか燃焼しません。 つまり、ほとんどの光はこの部分からしか放射されません。 マッピングのFカーブは、煙および炎の各フィールドの属性 (柱/炎の内側では大きな値、外側では小さな値) に基づくものです。 このFカーブにピークを設けることにより、炎のサーフェスのどこで大半の光を放射させるかを指定できます。 マッピングのFカーブを描画する方法の詳細については、第19章「Fカーブエディタ」を参照してください。

また、炎チャンネルを用いて、色と不透明度のうち一方または両方を操作することもできます。 さらに、不透明度チャンネルを全く用いずに炎のシェーディングを行うこともできます。 ただしこの場合、後で炎を合成するためのアルファデータは得られません。 それでも、炎の明るさをマットチャンネルとして用いることで、炎を合成することはできます。 この方法が妥当なのは、炎は明るいほど、スス粒子の数が多く、不透明度が高いからです。