仕事で水ものをやる可能性があるので、以前勉強したことを思い出しがてら書いていきます。


【エミッタープロパティ】


Resolution

パーティクル数を直接増減させるが、絶対値ではなくエミッタの大きさに対する相対値。

つまり同じレゾリューションでもエミッタが大きければパーティクルは少ないし、エミッタが小さければパーティクルは多くなる。


Density

密度というよりは重さ(質量)。低くするとパーティクルがはじける印象。

 

Int Pressure

内部からの圧力。高くするとパーティクルが互いに引き離されるようにバラける。

 

Ext Pressure

外部からの圧力。高くするとパーティクルが互いに押し合うようにつぶれる。

 

Viscosity

パーティクルの粘性。

 

Speed

パーティクルの速度。0にするとパーティクルの放出が止まる。

 

V/H random

パーティクルの放出をV(垂直)方向、H(水平)方向にランダム化する。

デフォルトだとエミッタから放出されたパーティクルを見ると、一定間隔でエミッタの形状通りに放出されているのが見える。ランダム化することで自然な形になる。

 

Initial State

現在のパーティクルの状態を保存しておき、いつでもその状態を呼び戻すことができる。Make Initial Stateで現在の状態を記録し、Use Initial StateをYesすると、タイムライン右のResetボタンのドロップダウンリストでInitial Stateを選択できるようになる。

 

【デーモン】

パーティクルの挙動に影響させるスペースワープみたいなもの。重力、風、乱流、渦、ドラッグなどがある。

K=Kill パーティクルフローのDeleteオペレータっぽい。ボリューム、エイジ、スピードなどが許容範囲を越えると該当パーティクルが消去される。

 

【グローバルリンク】

デフォルトではすべてのエミッタ、デーモン、オブジェクトがGlobal Linksにリストされ、すべてが相互作用するようになっている。その状態だとエミッタから放出されたパーティクル同士がぶつかり合い、すべてのパーティクルに重力がかかり、落ちていくすべてのパーティクルがオブジェクトをコリジョン判定するといった具合になる。

Exclusive Linksでは各エミッタ、オブジェクト、デーモンがそれぞれにどう相互作用するかを設定できる。

例えばシーンにエミッタAとBがあり、重力デーモンがあって、


●エミッタA、エミッタB、重力デーモンの相互作用を一切なくす場合

エミッタA、エミッタB、重力デーモンをグローバルリンクからリムーブする。


エミッタAのみに重力をかけたいが、パーティクル同士を接触させたい場合

重力デーモンをグローバルリンクからリムーブし、エミッタAをノードリストからエクスクルーシブリンクに追加する。そのエミッタAに対してノードリストの重力デーモンをドラッグする。ツリー構造ではエミッタAの下に重力デーモンがある。エミッタAとBはグローバルリンクのまま。

 

●エミッタAとエミッタBの両方に重力をかけたいが、パーティクル同士の衝突を無くしたい場合

エミッタAとBをグローバルリンクからリムーブした後、それぞれノードリストからエクスクルーシブリンクに追加し、重力デーモンをノードリストからエクスクルーシブリン クのエミッタAとBにドラッグする。ツリー構造ではエミッタAとBの下にそれぞれ重力デーモンがくる。重力デーモンはグローバルリンクのまま。

 

●エミッタAのみに重力をかけて、エミッタBはAから影響を受けないがAはBから影響を受ける場合

エミッタAと重力デーモンをグローバルリンクからリムーブし、エミッタAをノードリストからエクスクルーシブリンクに追加する。ノードリストから重力デーモンとエミッタBをエクスクルーシブリンクのエミッタAにドラッグし、ツリー構造ではエミッタAの下にエミッタBと重力デーモンがある。AとBの上下関係イメージで言えば逆のような気がするが、下の階層にあるものの影響を受けるという考え方らしい。

 

【タイムライン】

Aボタンでシミュレーションの再生/停止。Ctrl+Aでシミュレーションの消去。

タイムライン左のロックがオンの間はパーティクルアニメーションがキャッシュされず、オフにした状態からキャッシュが開始される。

 

【キーフレームアニメーション】

エミッタやデーモンなどの設定項目で右クリック→Add keyでキーを打てる。

Open  curveでカーブエディタを開き、Pre-behaviorとPost-behaviorでループなどカーブの範囲外の処理をできる。

 

【メッシュ化】

パーティクルをメッシュ化するために、Add a new mesh to the sceneボタンを押す。シーンにエミッタが1つしか無い場合は自動的にそのメッシュに割り当てられる。複数のエミッタがある場合はノードリストのメッシュを右クリック→Insert fluidsで任意のエミッタを割り当てる。

パーティクルのメッシュ化をシーケンスで確認したい場合はBuild meshesボタンを押す。

1フレーム単位での形状を確認したい場合はノードリストのメッシュを右クリック→Build。

 

【メッシュプロパティ】

Type

メッシュのタイプをメタボール、メタポリゴン(板ポリ)、クローンオブジェクト(インスタンスジオメトリ)から選択できる。

 

Polygon size

メッシュを構成するポリゴンのサイズ。小さいほど詳細になる。

 

Filter

メタボールのままだとごつごつして水には見えないのでフィルターをかけてそれらしくする。

 

Relaxation

メタボールのごつごつを滑らかにする。ただし、小さな数値調整が大きな変化になってしまうので気をつけること。リラックスをかけすぎるとパーティクルのディテールが失われる。

 

Field

ノードリストでメッシュの下階層にあるエミッタノードのプロパティ。

 

Blend factor

離れたメタボール同士がどの程度くっつきあうか。低くすると細く糸を引いたような感じになる。

 

Radius

メタボール1個の半径。Blend factor値を低くして細く穴があいた状態になっても、Radius値を上げると穴が補完され良い感じになったりするので、この2つのパラメータは密接に関係している。

 

Deformation

ノードリストでメッシュの下階層にあるエミッタノードのプロパティ。Speed stretchingをYesにするとスピードによるメッシュのデフォームを調整できる。

 

Min/Max str scale

Min/Maxスピードより下/上回ったときのメッシュのストレッチの量。

 

【ビューポート表示】

●水の動きを確認するためコップをバウンディングボックス表示、メッシュをシェーディング表示にしたい場合

コップを選択しView→Element→Bounding Box

水を選択しView→Element→Shading

 

●選択したオブジェクトを中心に回転・ズームしたい場合

オブジェクトを選択し右クリック→Zoom selected