| On this page |
Note
FlowソルバはCOPであるものの、使用するにはDOPレベルの権限が必要になります。 つまり、FlowソルバはHoudini Coreでは 利用不可 で、Houdini FX、Houdini Apprentice、Houdini Indie、Houdini Educationでは利用可能です。
このノードは、膨張または収縮を引き起こすUVレイヤの発散を 射影 (除去)します。 その結果は、2次元のIncompressible Flow(非圧縮性流れ)に有効なVelocityとなります。 このノードは、Flow Block内でこの目的のために使用します。
基本的な例として、Distortオペレータを使用して一般的な方向フィールドを持つ画像を歪ませると、一部のソース領域が引き伸ばされるのに対して他のソース領域が収縮されるので、色の分布が変化します。 一方、その方向フィールドをまず Flow Project Non-Divergent Multigrid に通すと、その結果の歪んだ画像には、(シンクに流出したり、ソースから流入するような動きではなく)シンクやソースの周囲で渦巻く動きが適用されます。 これによって、各カラー量が元の画像とほぼ同じ画像が生成されます。
このノードは、オプションで目標発散レイヤを受け取ることができます。
この画像のプラスの領域は、その結果に膨張領域を生成し、マイナスの領域は、沈み込む領域を生成します。
さらに、コライダー用の入力も用意されています。
collisionMono画像はマスクとして機能します:1の値はコライダーの位置を示します。
collisionvには、コライダーのVelocityを格納し、Pressure Projection(圧力射影)がそのVelocityに合わせようと試みます。
Note
Pressure Projection(圧力射影)は、衝突を柔軟に取り込む手法を採用しています。 生成されたVelocityフィールドがコライダーと十分に上手くマッチしない場合、収束を良くするために、このノードを何回も反復させることができます。
パラメータ ¶
Collision Iterations
実行する衝突反復処理の回数。 反復回数を増やすと衝突オブジェクトの回避精度が向上しますが、実行時間が長くなります。
Multigrid Iterations
実行するマルチグリッド反復処理の回数。 反復回数を増やすと目標の発散へのマッチングが良くなりますが、実行時間が長くなります。
X Borders
画像の左辺と右辺の境界の状態。 Open 境界は、流れが抵抗なく画像境界外へ流出することを許可します。 Closed 境界は、固体壁のように振る舞います。 Periodic に設定すると、右辺へ流出する流れは左辺から再流入します(逆も同様です)。
Y Borders
画像の上辺と下辺の境界線の状態。 Open 境界線は、流れが抵抗なく画像の境界外へ流出することを許可します。 Closed 境界線は、固体壁のように振る舞います。 Periodic に設定すると、上辺から流出する流れは下辺から再流入します(逆も同様です)。
入力 ¶
v
補正する初期Velocityフィールド。
goaldiv
目標発散フィールド。
出力されるVelocityフィールドでは、goaldivがプラスの領域がソース、マイナスの領域がシンクになります。
collision
コライダーが存在する位置を指定したマスクレイヤ。 このレイヤの1の値は、コライダーが占有する領域を示します。
collisionv
コライダーのVelocityフィールド。
collisionが指定されていてもcollisionvがない場合、コライダーは静止していると見なされます。
出力 ¶
v
Pressure Projection(圧力射影)後の補正されたVelocityフィールド。
pressure
Velocityフィールドは、スカラーフィールドの勾配を加算することで補正されます。 この出力には、そのスカラーフィールドが含まれます。 流体シミュレーションのコンテキストでは、この補助スカラーフィールドは、流体の内部圧力に呼応します。
| See also |