基礎知識
実世界では、ガソリンは一定の温度で酸素と化学反応を起こし、
炎(光、熱)とガス状の燃焼生成物を生成します。そして、時間 の経過に伴ってガソリンが完全に燃焼するまで燃えます。この状 況を、燃料、密度、温度の 3 つのプロパティを使用して流体エ フェクトでシミュレートすることができます。
このレッスンでは、コンテナの下部を燃料と密度で埋めてダイナ ミックな爆発エフェクトを作成し、それを温度で「燃焼」させま す。次の方法について学習します。
• プロパティ値をペイントすることによりコンテナに値を追加 する方法
• 3D コンテナでペイントする方法
• 燃料、密度、および温度を使用して爆発エフェクトを作成する方法
レッスンを開始する前に、「レッスンの準備」(56ページ)の手順を実行します。
3D コンテナを作成する
1 流体エフェクト > 3D コンテナの作成 (Fluid Effects > Create 3D Container )を選択 します。
3D コンテナの作成オプションウィンドウが開きます。
2 ウィンドウで編集 > 設定のリセット(Edit > Reset Settings)を選択して、解像度とサイ ズの設定をそれぞれデフォルトの 10 10 10 および 10 10 10 に戻します。
このレッスンの学習目標である概念を説明するには、デフォルトのコンテナ サイズと解像 度が適当です。
3 適用して閉じる(Apply and Close)をクリックします。
原点を中心とする空の 3 次元の流体コンテナが作成されます。
レッスン 3 > 燃料値と密度値をコンテナ内にペイントする
次に、コンテナに流体を追加します。最初のレッスンでは、流体をダイナミック グリッド に放出することによりコンテナに流体を追加しました。2 番目のレッスンでは、定義済み のグラディエントを選択することによりコンテナに流体を追加しました。このレッスンで は、コンテナ内でプロパティ値をペイントすることによりコンテナに流体を追加します。
燃料値と密度値をコンテナ内にペイントする
流体エフェクトでは、燃料は反応の状態(反応なし、完全に反応、中間)を定義します。密度 は反応する物質を表し、温度は反応を発生させます。密度と燃料を組み合わせると、反応を確 認できる状況が定義されます。この状況に温度を追加して反応を開始します。反応が発生する と、密度値と燃料値が小さくなり、あとどれだけの反応が発生するかが示されます。また、反 応によってさらに多くの温度が作成され、今度はそれによって光が作成されます。
以下の手順では、コンテナに燃料と密度の値をペイントします。3D コンテナにペイントする 場合、実際には、コンテナの「スライス」上に、2 次元のペイントを行います。スライスは、
ペイントする場所を表す X、Y、Z 方向のプレーンです(つまり、2 次元のキャンバスと考える ことができます)。それぞれのスライスを個々にペイントしますが、隣り合うスライスを積み 重ねた結果が 3D 流体になります。
燃料値と密度値をコンテナ内にペイントするには
1 コンテナを選択した状態で、流体エフェクト > コンテンツの追加/編集 > 流体ペイント ツール (Fluid Effects > Add/Edit Contents > Paint Fluids Tool )を選択します。
ツール設定(Tool Settings)ウィンドウが開き、流体コンテナの原点にスライスが表示されま す。このスライスは、エッジが点線で表示され、コーナーの 1 つに流体のサブボリューム マ ニピュレータがあるプレーンによって表されます。スライス上にマウス ポインタを移動する と、ポインタがペイントを行えることを示すブラシの形に変わります。
3 | 流体エフェクト
レッスン 3 > 燃料値と密度値をコンテナ内にペイントする
2 ツール設定ウィンドウの上部にあるツールのリセット(Reset Tool)ボタンをクリックし て、流体ペイントツールの設定をデフォルト値に設定します。
3 ペイントしたい流体プロパティを選択します。ツール設定ウィンドウのペイントアトリ ビュート(Paint Attributes)セクションで、ペイント アトリビュートを密度と燃料
(Density and Fuel)に設定します。この両方のプロパティを一度にペイントします。
各プロパティを別々にペイントすることもできますが、この例ではペイントする値はどち らも同じなので、一度にペイントしたほうが効率的です。
流体の燃料方法(Fuel Method)をダイナミックグリッドに設定するようにというメッセー ジが表示されます。燃料方法をダイナミックグリッドに設定すると、(この場合はペイン トすることにより)コンテナグリッドに配置する燃料値がシミュレーション時に流体ダイ ナミクスソルバによって再計算、変更されます。密度方法(Density Method)はデフォル トでダイナミックグリッドに定義されます。
4 ダイナミックに設定をクリックします。
5 シーンをタンブルし、スライスとマニピュレータを確認します。
スライスの向きは、見る位置との関係で変わります。スライスは、マニピュレータが表示 されている軸に対して垂直です。マニピュレータのカラーは、ビュー軸や原点軸の軸のカ ラーと一致しています。
サブボリューム ブラシ マニピュレータ
スライス
レッスン 3 > 燃料値と密度値をコンテナ内にペイントする
流体を別の角度から表示したときにスライス間に隙間ができないよう、それぞれの軸を基 準にしてプロパティをペイントするのが望ましい方法です。
6 スライスが Y 軸に対して垂直になるようにタンブルし、開いたロックアイコンをクリック してスライスの軸をロックします。
ロックが閉じます。これで、タンブルしてもスライスは Y 軸と垂直のままになります。ほ かの軸には切り替わりません。これにより、ビューをどのように変更しても同じスライス 上でペイントできるようになります。
7 上の移動矢印を、コンテナの最下部にある 1 番目のスライスまで軸に沿って下にドラッグ します。各軸に沿って存在するスライスの数は、流体コンテナの解像度と一致します。番 号は 0(各軸が交差する位置)から始まります。このコンテナの場合、解像度は 10 10 10 なので、スライスには 0 から 9 までの番号が付けられています。
ヘルプラインに、選択しているスライスの位置が表示されます。
流体スライス位置(Fluid Slice Location): 0.000
8 ツール設定ウィンドウのペイントアトリビュート(Paint Attributes)セクションで、値が クリックして軸をロック...
スライスを下に ドラッグして...
流体スライス位置: 0.000 に移動
3 | 流体エフェクト
レッスン 3 > 燃料値と密度値をコンテナ内にペイントする
9 スライス上でブラシをドラッグして、値をペイントします。スライス全体が値で埋められ るまでペイントします。
2 つのプロパティを一度にペイントしているので、値は黄色で表示されます。密度値は シェーディング値の不透明度で表され、燃料値はカラーで表されます。燃料値の範囲は、
青色(値 0)から黄色(値 1)までのカラーのランプと一致します。
流体を深くする場合、スライスを流体スライス位置 1 に移動してペイントし、次にスライ スを流体スライス位置 2 に移動してペイントし、さらに同様の操作を繰り返して行います。
ただし、もっと速いのは、スライスのサイズを変更してスライスを厚くしてからスライス 全体を値で塗りつぶす方法です。
10 ペイントスライスのサイズを変更し、スライスを厚くします。
• ターゲットアイコンを 1 回クリックして、サブボリュームスケーリングモードに切 り替えます。
スライスが厚くなり、マニピュレータの移動矢印の両端にスケーリング ボックスが表示さ れます。
ターゲットアイコンを クリック...
スケーリング ボックス 厚くなった
スライス
レッスン 3 > 燃料値と密度値をコンテナ内にペイントする
• 上のスケーリング ボックスをクリックし、ヘルプ ラインを見ながら流体スライスの 厚み(Fluid Slice Thickness)を 3.00 に決定します。スケーリング ボックスをドラッ グしてスライスの厚みを変更することはできますが、このレッスンにはこの厚さで十 分です。
11 ツール設定ウィンドウで、塗りつぶし(Flood)ボタンをクリックします。
塗りつぶされて、サブボリュームの各ボクセルが値 1 の燃料および密度で埋められました。
値がソリッドなかたまりではなくシェーディング プレーンとして表示されていることに 注意してください。これは、シェーディング表示モードのインタラクティブな表示機能で す。さらに多くのシェーディングプレーン(スライス)を表示すると細かいディテールが 得られますが、描画スピードは遅くなります。この表示機能(ボクセル単位のスライス
(Slices Per Voxel))やその他の機能は、アトリビュートエディタのディスプレイ(Display)
セクションで変更できます。
コンテナに密度と燃料がペイントされたので、温度を追加してその相互作用を開始する準 備ができました。これは、ガソリンの容器に火がついたマッチを入れることと同じと考え ることができます。
シェーディング プレーン
(スライス)