HoudiniのVelocityBlurノード


こんにちは、篠島です。この間はVelocityパスをレンダリングしましたので、今回はそのパスを使ってどうやってHoudini内でコンポジットするのかを説明しようと思います。

 

今回のサンプルファイルです。
VelocityBlur1.zip

前回は下の様なレンダリングをしたのでした。これをHoudiniのCOP内でコンポジットしてみます。

a b

 

 

imgネットワークに入り、Fileノードでレンダリング画像を読み込み、VelocityBlurノードによってVelocityパスによるブラーを掛けます。VelocityBlurの使い方としてはVelocity Planeのところにパスの名前を指定するだけです。自分はvelという名前で書き出しているので、velと名前を指定しています。Velocity Scaleで強さなどを調節します。

Capture

 

VelocityBlurの結果がどうも思ったようになっていません。ブラーが球体の中だけに収まり、オブジェクトの外のピクセルと色が全く混ざり合っていません。

3

試しに Per Pixel Velocity をOFFにしてみると、Velocity Vectorで設定されている値によって綺麗に全体的にブラーがかかります。

Capture2

 

なぜPer Pixel Velocity によってVelocityパスに保存されたデータでブラーが綺麗にかけられないか・・・と言うと、これは単純にHoudiniのVelocityBlurノードの限界です。

VelocityBlurのアルゴリズムを簡単に説明したのが下の図です。COPノードはピクセル毎に実行され、一つのピクセルに対してなんらかの処理がされます。VelocityBlurは現在処理中のピクセルの位置にVelocityの値を追加した場所のピクセルの色をサンプリングします。ということはVelocityが無いピクセルは全く周りのピクセルとブレンドされないために、おかしな結果になってしまうのでした。

exp

 

なので、オブジェクトを別レンダリングしてVelocityを吐き出した時はHoudiniのCOPは諦めて素直に他のコンポジットソフトでモーションブラーをかけましょう。じゃあHoudiniのVelocityBlurは全く使えないのか!? というとそうでもなく、VelocityBlurがちゃんと動作するケースを次回説明してみようと思います。