見出し画像

FLIPFluids MixBoxプラグインの使い方


インフォメーション

FLIPFluidsを使って、こちらのシミュレーションを作っていきます。
※カラコレのチュートリアルはありません

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

必要なモデルはこちらからダウンロードできます。
https://www.dropbox.com/scl/fi/bcyx2ydfxhsqk6gfk3qiv/mixbox.fbx?rlkey=nge1ncxjvg30nb6oy9suyx130&st=453taxkh&dl=0

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

テーマとモデルの配置

”Mixboxプラグインを使った混色”がテーマです。
必要なモデルは2色の色を出すモデルと入れ物のモデルです。
砂時計のモデルを用意しました。
こちらを使う際はガラスのマテリアル(M_glass)の伝播ウェイトを1まで
あげて透明度を足してください。

参照:マテリアルプロパティ

Mixboxとは

RGBの制限の中で現実的な色の混ざり具合を表現するものです。
リンクで詳しく説明されています。


Mixboxプラグインのインストール

FLIPFluidsアドオンにはプラグインデータが提供されています。
購入元から【Mixbox.plugin】をダウンロードします。
FLIPFluidsのプリファレンスの【Enable Developer Tools】を選択します。

【Mixbox Installation】タブからインストールをします。

正しくインストールされた状態

※バージョンによって一覧かタブ表示で分かれますが項目は同じです。
Blenderの再起動をします。

ドメインの作成

まずは作成したシーンを囲むようにドメインを作ります。
ガラスモデルがドメイン内に入るように大きさを整えます。

アニメーションする範囲を想定して囲います

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

FLIPとAPIC

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

障害物の設定

ガラスに障害物の設定を行います。
(ダウンロードデータを使っている場合はglassの方です)
モデルを選択し、FLIP Fluids項目から障害物かObstacleを押します。

ガラスを選択
プロパティから障害物設定

オブジェクト内だけで液体を扱う時は

オブジェクトの内側だけでシミュレーションを行いたい時は、
障害物のタイプを有効だけでなく、反転を使います。

オブジェクトの外側が障害物となり、内側だけが空洞の状態になります。
オブジェクトの面がすべて閉じられている状態でないといけません。

Mixboxプラグインをセット

プラグインのおおまかな使い方の流れは、
・FLIP FluidsにMixboxのセット
・オブジェクトを複数作成して色の割り当て
・シェーダーで属性を追加
となります。

Mixboxをセット

1.ドメインのプロパティからサーフェスを選択します。
2.Color and Mixing Attributesを開きます。
  ・カラー属性
  ・Enable Mixing にチェックを入れます。
3.MixingModeはMixboxを選択します。

下部のMixbox Plugin Status: Installedになっていない場合は
正しくインストールがされていません。

複数の液体を追加する

ガラスの内側に2つの球を配置し、2つの液体(Fluids)を追加します。

片方にそれぞれ球を配置
どちらともFluid設定

青い液体と黄色い液体の2つを混色させていきます。
カラー属性をそれぞれ変更します。

物理演算プロパティのFLIP Fluid項目にあります
もう片方も設定します

シェーダーにノードを加える

Fluid Surfaceに割り当てるマテリアルにカラー情報を付け加えます。

ドメイン作成をしたら出てきます

fluid_surfaceを選び、マテリアルを追加します。
HyperShadeタブへ移動し、属性ノード(flip_color)を追加します。

画像のようにベースへ繋ぎます。

流体のマテリアル

流体のマテリアルは先程カラー情報をベースに繋げたものを割り当てます。

デフォルトではfluid_surfaceが流体になります

アニメーション設定

親子付け

枠のモデルを親として、2つのガラスと球(障害物と厚み)を子にします。
枠をアニメーションさせたときに同じ動きをするようになればOKです。

枠にキーフレームを打ってアニメーションさせます。
今回は回転のみで位置は動かさないようにしました。
2つの液体がしっかり混ざるようなアニメーションにします。

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

低解像度で仮シミュレーションを行います。

パラメータを変更 -> 仮確認
この繰り返しがとても重要で、何度も行う事になります。

Nパネルにあります

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

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

Nパネルにあります

チェックポイント

この段階でチェックするポイントは2つあります。
液漏れと、色の混ざり具合です。

液漏れ
障害物・流出口の設定が正しく作動しているかどうかを見ます。
ガラスから流体が漏れる場合は下記修正します。
解像度を上げる、流体の反転チェック、ポリゴンが欠けていないか、など

色の混ざり具合
色の混合ができていない場合はMixboxの設定を見直します。
プリファレンスのMixboxタブで混色パターンをテストできます
好きな色で試してみるといいでしょう。

プリファレンスのMixboxタブ


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

書き出し範囲を指定

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

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

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

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

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

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

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

STOPボタンを押すと中止しますが、それまでの計算結果は残ります。
やり直す場合はリセットをします。

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

※ダウンロードモデルを使用している際は、
本番のシミュレーションベイクが完了したらglassは非表示に、glass_solidを表示してレンダリングに臨みます。

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

ベイク時に流体の動きを反映するには、
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レンダーメニューからコマンドライン

レンダリング

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


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