見出し画像

FLIPFluids 歯磨きペーストの作り方


インフォメーション

FLIPFluidsを使って、こちらのシミュレーションを作っていきます。

基本的な設定や用語はこちらの記事をご一読ください。
https://note.com/yokoyokko/n/n0570341f1d86

必要なモデルはこちらからダウンロードできます。
https://www.dropbox.com/scl/fi/hoc318lvvz6xsvkud8bv8/dentifrice.fbx?rlkey=n9f07j732wuvm75yc4j2hun37&st=6an3g6ut&dl=0

※ダウンロードモデルは当チュートリアルで学習用として使用する場合、また、学習成果をSNS等で動画・画像として公開する場合のみ利用許可とします。

テーマとモデルの配置

”粘度のある液体”がテーマです。
必要なモデルは歯ブラシとチューブのモデルです。
チューブは液体を出し切る高さより上へ配置します。

ドメインの作成

まずは作成したシーンを囲むようにドメインを作ります。
チューブの先端とブラシの先端がドメイン内に入るように大きさを整えます。チューブは一旦非表示にしておきます。

こんな感じです

このドメインの範囲内でシミュレーション計算がされます。

FLIPとAPIC

液体シミュレーションの計算方式で、FLIPとAPICの2種類があります。
今回は小規模なシーン+穏やかな流体作成ですので、APICを選択します。

ドメイン設定のシミュレーションに項目があります

障害物の設定

ドメイン内にブラシの毛が入り過ぎている場合、障害物の設定を行います。
モデルを選択し、FLIP Fluids項目から障害物かObstacleを押します。
ドメインが毛先程度の所にある場合は設定しなくても大丈夫です。

Nパネルのここにあります

流入口の設定

チューブの口と同じくらいの球体オブジェクトを作り、流入口(Inflow)を設定します。

こんな感じです
Nパネルの場合はココ

チューブの動きに合わせてアニメーションさせたいので、親子付けします。
親:チューブ
子:球オブジェクト(Sphere)
これでチューブが動くと球も連動するようになります。

アウトライナだとこんな感じです

アニメーション設定

チューブのアニメーション

ブラシに沿うようにチューブの位置をアニメーションします。
正面図で動く距離と高さのキーフレームを設定させると作りやすいです。
上面図でブラシの幅に沿っているかも確認します。

こんな感じにしました

流入口のスイッチオン・オフ

球体から液体を出す・液体を止めるのオンオフ設定をしていきます。
何フレームから水を出す、止めるというタイミングを決めましょう。

プロパティの設定画面です

有効チェックボックスのオンオフで流入の開始・停止ができます。
右クリックを押して任意の場所にキーフレームを打ちます。
液体を出すタイミングでオン、止めるタイミングでオフにします。

粘りを加える

Viscosity(粘度)を加えて、モチっとした感じを出していきます。
一旦、Enable Viscosityにチェックを入れておきます。後程、数値を調整します。歯磨き粉っぽい柔らかさになるまでベイクと調整を繰り返します。

ドメインのプロパティにあるワールドタブにあります

※下記公式動画を参照

シミュレーションの仮確認

低解像度で仮シミュレーションを行います。
シミュレーション計算はベイクを行うとスタートします。

Nパネルにあります

液体の動きを見ながらベイク

デフォルトではベイク時、液体の様子が分かりません。
NパネルのDisplay and PlaybackにあるAuto-Load Baked Framesにチェックを入れるとベイクしたフレームが表示されるので液体の動きが分かります。

Nパネルにあります

ベイクを行います。
完了したらドープシートでシークバーを動かして流体を見てみます。

チェックポイント

この段階でチェックするポイントはおおまかな挙動です。
球体からブラシ先端へ液体が出てこない
・上や左右に流れる
・流水ではなく水滴が一度だけ出る
・流体が表示されない
など挙動が作っているものと大きく異なる場合は設定を見直しましょう。

よくある問題の対処

流水方向が違う場合
・シーンの重力方向を-Z(デフォルト-9.8)にする

シーンプロパティの重力設定

・FLIP Fluidsの重力設定をシーン(上記設定)に揃える

FLIPFluidsドメインのワールド設定

・流入口の速度設定をXYZ共に0にする

FLIPFluids流入口の速度設定

流水ではなく水滴になっている
・流入(Inflow)ではなく液体(Fluid)になっていないかチェック

流体が出てこない
・解像度をデフォルトの65から80、100と少しずつ大きくする
・アウトライナで非表示になっていないか確認する

段々ができた時の補正方法

サブステップ一例

1.流入口のオブジェクトに高さのある厚みを持たせる。
2.サブステップ(1フレーム中の流体の計算回数)を調整する。
  数値が大きい程、滑らかなります。8以上は推奨されていません。

FLIPFluids流入口の設定

3.流体のスムースモデファイアの係数・リピートの数を調整する。

液体のモデファイア欄に自動で追加されています

マテリアル設定

流体のマテリアル

流体のマテリアルはプリセットのシェーダーを割り当てます。

今回はFF Waxをベースとして質感をカスタムしています

アセットブラウザから選んでもOKです。

FLIPFluidsにはシェーダーなどのプリセットが多数あります

※他のマテリアルを使いたい場合はそちらを適用します。


シーン保存・ベイク・レンダリング

書き出し範囲を指定

フレームレート(1秒あたりの枚数)を設定します。
フレームレート数値が高いとヌルヌルした動きに、
フレームレート数値が低いとカクカクした動きになります。

【フレームレート数 × 秒数】フレームの範囲を設定します。
5秒の動画を24フレームで書き出す場合は、
【 5 × 24 = 120 】なので、0から119までを範囲とします。
※0が1フレーム目の画になります。

書き出すフレーム数が多いと、ベイクやレンダリング時間が増すので注意

シーン(プロジェクト)の保存

シーン(プロジェクト)を保存します。
FLIP Fluidsはシーンを保存しないと、ベイク(シミュレーション計算)ができません。
保存ファイルの階層にフォルダが作られ、そこに計算結果を書き込みます。

ベイク(シミュレーション計算)

ベイクボタンを押すと、シミュレーション計算が始まります。
解像度を決めて、Bakeボタンを押します。

STOPボタンを押すと中止しますが、それまでの計算結果は残ります。

やり直す場合はリセットをします。

1回で思い通りの結果になる事は少なく、トライ&エラーの繰り返しです。
はじめは解像度を落とした状態で全体の動きを見て、納得のいく動きになったら解像度を上げて本番ベイクを行います。

ビューポートで流体の動きを確認する

ベイク時に流体の動きを反映するには、
Auto-Load Baked Framesにチェックを入れるだけです。

レンダリング準備

保存先、ファイル形式の設定を行います。

OPTIXとCUDA

Windws版BlenderでnVidia製GPUを使ってCyclesレンダリングを行う場合、
OptiXとCUDAというレンダリング方式が使えます。

OptiXは新しく、計算が早い方式です。
CUDAは対応GPUが多く、安定性が高いです。
自分に合ったデバイスを選択しましょう。

カラーマネジメントについて

◆Blender出力が最終アウトプットの場合
 カラーマネジメントのビューをAgx(3.6以前であればFilmic)にします。

◆出力画像を色補正(カラコレ)をする等、後工程がある場合
 カラーマネジメントのビューを標準にします。


Blenderが落ちる時はコマンドライン

レンダリング時に計算が重すぎてBlenderがシャットダウンする場合は、
コマンドラインでレンダリングをしてみましょう。
Blenderのアニメーションレンダリングよりも安定して書き出しを行ってくれます。
 ※コマンドラインレンダリング中はBlenderは閉じてもOKです。

Blenderレンダーメニューからコマンドライン

レンダリング

通常のアニメーションレンダリング、あるいはコマンドラインレンダリングを行って、レンダリングを行います。


この記事が気に入ったらサポートをしてみませんか?