CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【Blender2.9】流体:エフェクター ~コリジョンとガイド~
こんにちは!
Blenderの使い方や機能、ノウハウについてまとめているUEDAです。
自分のためのアウトプットの意味合いもありますが、読んだ方の参考になれば嬉しいです。
今回は流体に影響を及ぼす〔エフェクター〕についてまとめていきます。
流体をより自由自在に扱うためには必要な機能ですね。
特に〔コリジョン〕は様々な場面で活躍します!
エフェクターとは?
〔エフェクター〕とは、オブジェクトに流体との衝突判定を加えたり、流体の流れに影響を与えるための機能です。
〔エフェクター〕は流体の〔タイプ〕の中の1つになります。
さらに〔エフェクタータイプ〕として、コチラの2種類があります。
コリジョン | 設定オブジェクトに流体との衝突判定を追加 |
ガイド | 設定オブジェクトの動きで流体を誘導 |
その他の〔フロー〕と〔ドメイン〕について詳しくはコチラの記事でまとめているので、ぜひ読んでみてください。
追加方法
追加方法は、フローやドメインと同じになります。
コリジョンまたはガイドを追加したいオブジェクトを選択して、流体を追加します。
次に〔タイプ〕を〔エフェクター〕に変更します。
最後に〔エフェクタータイプ〕を、〔コリジョン〕か〔ガイド〕に設定すれば完了です。
では、それぞれの機能を見ていきましょう!
コリジョン
〔コリジョン〕とは、設定オブジェクトに流体との衝突判定を追加します。
例えば、コップに水を入れるシミュレーションを作りたいとします。
この場合はコップに〔コリジョン〕を設定することで、コップから水が流出することなく貯めることができます。
水のマテリアルはコチラを参考にしたので、ついでにリンク貼っておきます。
因みに物理演算の〔コリジョン〕とは異なります。
流体との衝突判定の場合は、〔エフェクター:コリジョン〕を使いましょう!
サンプリングサブフレーム
〔サンプリングサブフレーム〕は、移動するコリジョンの処理をより正確にする機能です。
0.00000 | |
5.00000 |
コリジョンを動かさない場合は関係ありませんが、動かす場合は値をあげて違和感を軽減する必要がありますね。
上げると処理は重たくなるので注意です。
表面の厚さ
〔表面の厚さ〕は、設定したオブジェクトの表面から何センチの部分で衝突判定を行うかを設定できます。
値を上げることで流体がオブジェクトからより離れていることが分かります。
0.00000 | |
1.00000 |
コリジョンを設定したオブジェクトが複雑な形状の場合は突き抜けがちなので、値を上げて微調整するとよいですね。
エフェクターを使用
〔エフェクターを使用〕は、流体への影響の無効/有効を切り替える機能です。
チェックマークを外すと無効にできます。
ドメイン内でコリジョンを複数使用する場合に、削除や追加をしなくても一発で切り替えることができます。
試す場合なんかにも便利に使用できますね。
平面
〔平面〕は、閉じていないメッシュをコリジョンとして認識させるための機能です。
〔閉じていないメッシュ〕というのは、メッシュで覆われていないオブジェクトのことを指します。
以下では、底面だけメッシュのない立方体を使用しています。
無効 | |
有効 |
どこかに穴が空いているオブジェクトの場合は、使用しましょう!
ガイド
〔ガイド〕とは、設定オブジェクトの動きで流体を誘導する機能になります。
例えばカーブを使用して複雑な形状に煙を沿わせることができたりします。
煙は〔ICO球〕にとどまる設定にしているので、動きはガイドの力でのみ発生しています。
コチラの記事を参考に作りました。
〔カーブ〕について詳しくはコチラの記事でまとめているので、ぜひ読んでみてください!
煙をその場にとどまらせる設定は、速度に関する〔初期速度〕と〔密度の浮力〕、〔ヒート〕の3つを”0.00”にすることで可能です。
設定方法
まずは先に紹介したようにオブジェクトに〔エフェクター〕を追加して、〔ガイド〕の変更します。
今回用意したシミュレーションでいうと、円柱にガイドを追加しました。
このままでは円柱にガイドが追加されただけで、ドメイン内のフローを誘導する能力はありません。
ガイドの左にチェックを入れることで、機能自体が有効になります。
これでガイドがそのドメイン内のフローを誘導するようになります。
ドメイン側の機能については後述します。
機能
コリジョンで紹介した機能以外にも、ガイド内での項目もあるのでそちらを紹介していきます。
- 速度係数
- ガイドモード
速度係数
〔速度係数〕は、ガイドと流体との遅延を縮める機能です。
値を大きくするほど、流体がガイドの動きにより合わさっていることが分かります。
0.500 | |
2.000 |
複数個のガイドを使用する場合に、それぞれの調整に使用できます。
ガイドモード
〔ガイドモード〕は、ガイドの処理方法を選択することができます。
このモードでは、ドメインのグローバルな誘導速度フィールドに誘導速度を書き込む方法を記述します。
以下の4種類があります。
- 最大化
- 最小化
- 平均化
- オーバーライド
それぞれ試してみたのですが、今回の用意したオブジェクトでは〔最大化〕と〔最小化〕は上手くいきませんでした。その都度適したモードがあるようです。
作成したシミュレーションに合わせて、試してみるとよい結果が得られるかもしれません。
基本的には〔平均化〕と〔オーバーライド〕をメインで使用すれば問題はなさそうです。
ドメイン側での調整
先ほど設定方法で〔ガイドの親〕については触れましたが、それ以外にもドメインでの調整が可能です。
項目はガイドの親を含めて5種類あります。
- ウェイト
- サイズ
- 速度係数
- 速度のソース
- ガイドの親
ウェイト
〔ウェイト〕は、ガイドとフローの遅延を調整できます。
値を大きくすることで、フローがガイドから遅れていることが分かります。
1.000 | |
5.000 |
サイズ
〔サイズ〕は、ガイドによって生成される渦の大きさを調整できます。
値を大きくすることで渦のサイズを大きくすると処理が若干重たくなるので注意です。
5 | |
10 |
また値を大きくすることで、フローの動きが遅くなります。
速度係数
先ほど紹介した〔速度係数〕と同じ機能になります。
コチラはドメイン内の機能なので、ドメイン内にあるガイド全てに適用されます。
全体的には〔速度係数〕で調整して、それぞれのガイドの〔速度係数〕で細かい調整を行ってみてください。
速度のソース
〔速度のソース〕には2種類あります。
- ドメイン
- エフェクター
まず〔ドメイン〕は、液体の動きをトレースした煙を作成することができます。
これは逆も然りで、煙の動きをトレースした液体も作成可能です。
詳しい使用方法は先ほども紹介したコチラの動画で解説しているので、ぜひ見てみてください!
次に〔エフェクター〕は、用意した〔エフェクター〕の動きに合わせて流体が動作します。
今回の様に動くガイドを用意した場合はコチラのソースを使いましょう。
まとめ
コリジョンは流体をシーンの中に使用する場合は、必須の機能ですね。
ガイドも流体にありえない動きをさせたい場合なんかには重宝しそうです。
どちらも難しい機能ではないので、使ってみてください。