このシリーズの第8回チュートリアルでは、Blender 4.5 の Fluid シミュレーターを使った fire と smoke の simulation において利用できる2種類の Effector オブジェクト、Collision と Guides について見ていきます。
このチュートリアルは、Blender 4.5 における炎と煙の基礎に関する全10回のミニシリーズの一部です。エピソードの完全な一覧を見るには、ここをクリックしてください。
動画の書き起こし
皆さん、こんにちは!このシリーズの第8回チュートリアルでは、Blender 4.5 の Fluid シミュレーターを使った fire と smoke の simulation において利用できる2種類の Effector オブジェクト、Collision と Guides について見ていきます。
Effector オブジェクトは物理シミュレーションの要素をそらしたり、その流れに影響を与えたりするために使われます。画面に表示しているシーンでは、flame と smoke が鍋をそのまま通り抜けてしまいます。これは、鍋が障害物として検出されていないためです。
この問題を解決するには、鍋に Fluid コンポーネントを割り当て、タイプを Effector に設定し、専用メニューで Collision を選択する必要があります。

ご覧のとおり、パラメータは非常に少なく、実際にはその多くが Flow オブジェクトで見たものと似ています。例えば Sampling Substeps はフレーム間に追加の計算を行うものでした。また、Use Effector オプションは Use Flow と同様にアニメーション可能で、衝突を任意に有効または無効にできます。さらに Is Planar はボリュームを持たないジオメトリや、内側と外側を定義できない場合に役立ちます。ここで新しいパラメータは Surface Thickness で、オブジェクトの周囲に外殻のようなものを作ります。これは simulation で fire や smoke がオブジェクトの表面に食い込むような問題が起きる場合に便利です。
ただし simulation を再生すると、一部のフレームで flame がまだオブジェクトを通り抜けてしまうことに気づきます。

この問題を解決するため、Domain の resolution はそのままにしてテストを繰り返し、Surface Thickness の値を徐々に上げていきました。
Thickness を 1 に設定したところ、画面に表示している結果が得られました。Substeps 値は変更していません。ツールチップには、この値は主に高速に動く Effector に役立つと説明されているからです。今回のオブジェクトは静止しているので、Thickness だけを調整し、これが最終結果です。

Guide オブジェクトに進む前に、Collision についてもう1点確認しておきましょう。今回のシーンでは、上向きに particle を放出する Plane があります。particle を上昇させるため、particle system 設定で Gravity を無効にしました。この emitter オブジェクトは fire simulation の Inflow オブジェクトでもあります。そこで Flow Source を Particle System に変更し、対応するフィールドに作成した particle system を指定しました。fire particle が system の particle よりも大きくブロック状にならないように Domain の resolution を上げています。ご覧のとおり、particle は Domain 内のオブジェクトと一切相互作用していません。

この場合、fire particle をオブジェクトに当たったときに跳ね返らせるには Collision コンポーネントを追加する必要があります。このコンポーネントは particle を跳ね返しますが、その煙や flame の一部は依然としてオブジェクトの中に入ってしまいます。したがって、fire と smoke の simulation を正しく扱うには、Collision Effector タイプの Fluid コンポーネントも追加する必要があります。

今回のエピソードを締めくくるにあたり、Effector オブジェクトの Guide タイプについて見ていきましょう。
これは特別なオブジェクトで、速度を持ち、simulation 内の flame と smoke の動きに影響を与えます。例として、simulation Domain 内に奇妙な軌道を描いて動く sphere を追加しました。この sphere にはまだ Fluid コンポーネントがないので、simulation には何の影響も与えていません。
Fluid Effector コンポーネントを追加し、そのタイプを Guide にすると、これまで見たことのあるパラメータに加え、新しいものがいくつか表示されます。
その中でも後ほど特に重要になるのが Velocity Factor です。
simulation を再生すると、パフォーマンスが低下しますが、オブジェクトが fire や smoke に与える目に見える効果はありません。
これは、計算コストの非常に高い Guides を使用するには、Domain 側でも有効化する必要があるためです。
有効化しないと効果が出ません。そこで Domain の Guides セクションを有効にして simulation を再起動しました。計算に時間がかかるので、Blender に処理させ、その結果をお見せします。


結果は Guides を使わなかった場合と比べて明らかに違いますが、まだそれほど印象的ではありません。オブジェクトの simulation への影響を強めるために、その Velocity Factor を高い値に設定してテストしてみます。こちらは Velocity Factor を 5 に設定した simulation です。smoke が引きずられていく様子がより明確になりました。

こちらは Velocity Factor を 20 に設定した simulation です。Guide オブジェクトは Collider ではなく、simulation の要素をかき乱し、引きずる特別なタイプであることがよく分かります。

ただし fire と smoke の動きに影響を与える方法はもうひとつあります。それが Force Field の利用で、次回のチュートリアルで解説します。