Blenderの流体シミュレーションをやってみました。つかいどころはよくわからなかったですが、なにかの参考になればと思い記事をのこしておくことにします。
Blenderの流体シミュレーションとは
Blenderの流体シミュレーションは液体の動きをシミュレーションできる機能です。正直いって、なににつかうのかよくわかりませんでしたが、次の映像のようなことができます。
水が流れて、コップみたいなものにたまっていきます。
流体シミュレーションを行うために必要なこと
流体シミュレーションを行うには、オブジェクトに流体の設定が必要になります。流体の設定は、プロパティパネルで行います。プロパティパネルに英語だとPhysics(物理)タブがあります。流体シミュレーションの場合はFluidを選択します。
Fuildはオブジェクトごとに設定を行う必要があります。Fluidの設定はいくつかポイントがあります。
- オブジェクトのいずれかひとつに Domain を設定する
- シーン上に必ず流体入力オブジェクトを配置しておく
- Domainを2つに設定するとBake時にエラーがでる。
- オブジェクトに障害物判定をつけるにはFluid→Obstacleを選択する
流体シミュレーションの流れはまず、オブジェクトに流体タイプのDomain(ドメイン)を設定します。ドメインは流体の制限範囲みたいなものです。ドメインを設定したオブジェクトは、はじめは何も起きませんが、Bakeを実行するとオブジェクトが流体オブジェクト変わります。
次に、オブジェクトのどれかに流体入力を追加します。(Fluid、Inflowなど) Inflowは蛇口のような役割を果たします。流体をせきとめる障害物をおきたい場合はオブジェクトにObstacleをつける必要があります。
これらの設定が終わったら、Domainを設定したオブジェクトを選択して、Bakeをおします。すると計算がはじまります。流体の計算はDomainを設定したオブジェクトのサイズによっては時間がかかることがあります。
Bakeを実行し流体の計算がおわるとAnimationが作成されています。Animationを再生すれば、流体の動きをみることができます。Animationの基本的な知識については、こちらの記事をご覧ください。
Blender Animationの始め方。必要となる知識。
Bake実行時のエラー
Bakeは流体の計算を実行しAnimationを作成します。しかしBake実行時にエラーが発生し、Bakeが実行できないことがあります。
there should be only one domain object
このエラーはドメインを設定しているオブジェクトが複数ある場合に発生します。ドメインを設定してよいオブジェクトはひとつだけです。流体を2つシミュレートする方法もあるようですが、ここではとりあつかいません。
No fluid input objects in the scene
このエラーはBlenderのシーン上に 流体入力オブジェクトがひとつも存在しない場合に発生します。流体入力オブジェクトはかならずひとつ配置しておく必要があります。流体タイプにFluidやInflowをもったオブジェクトが必要です。
流体は底穴があっても貫通しない?
画像の赤丸で示している部分は実をいうとオブジェクトに底穴があいています。ところが流体はそこを貫通しようとはしません。これははっきりとした理由がわたしにはわかりませんでした。おそらく貫通させる方法はあるとは思うのですが、知識不足です。
Blenderの流体シミュレーションまとめ
Blenderの流体シミュレーションを行うにはプロパティパネルの物理演算タブでFluidを選択し、オブジェクトに流体タイプの設定を行います。設定が終わったらBakeを実行し、流体の計算を行います。Bakeが終われば流体のAnimationが作成されているので、あとはすきに取り扱えばOKです。
この記事をもし読んだひとはおそらくなにを言っているかさっぱりわからないでしょう。動画を作っても良かったのですが、流体シミュレーションは正直なににつかうのかよくわからなかったし、あまり理解も深くないので動画はなしにします。
わたしの知る限りBlenderの流体シミュレーションの動画は日本人が作っているものもありました。外人が作った動画は検索してないですが、おそらく存在するでしょう。
コメント