Houdini – ZDepth Passes

ZDepthパスの作成

・Image Planeを作成

MantraノードにてZDepthパス用のimage Planeを作成。

Mantraノード -> Propertiesタブ -> Outputタブ -> Extra Image Planes

+ボタンでイメージプレーンを追加し、VEX VariableパラメータでPzを指定。
Quantizeは最も高精度な32bit Floatにしておくのがいい。

以降のレンダリングで、同時にZDepthパスがレンダリングされるようになる。

20140510_01_1

ZDepthパスの確認

MPlayやRender Viewで、表示するパスを切り替える。

20140510_01_2
Render View

20140510_01_3
MPlay

20140510_01_4

ZDepthパスの最適化

アンチエイリアスがかかった画像に対するZDepthパスイメージは、カラーパスイメージと同様にアンチエイリアスがかかっているため、正しくない深度情報になっている。

また、Depthパスのアンチエイリアス処理は、コンポジットの段階で処理するのが最も柔軟に扱えるので、ZDepthパスだけアンチエイリアスをオフにしてレンダリングする。

・Image Planeの設定

Sample Filter=Closest Surface
Pixel Filter=Closest Sample Filtering

この設定でアンチエイリアスがオフになるはずだが、ならない・・・とりあえずこのまま進める。

ZDepthパスをimgコンテキストで利用

・大枠のimgコンテキストでの作業フロー

fileノードを使用してファイルを読み込み、必要に応じて各種ノードを接続し、画像合成を進める。

使用するビューは Composite View

Composite Viewも、Render ViewやMPlayと同様の操作で表示チャンネルの切り替えなどが行える。

・imgコンテキストのノード

imgコンテキストのノードは、上に入力コネクタ、下に出力コネクタ、左にマスク入力コネクタを持つ

マスクはその他のコンポジットソフトのように、エフェクトの強さを操作するといった場合に使える。

・ZDepthパスの使用準備

画像読み込み
20140510_01_5

深度情報を使用する処理を行う際は、まずDepth of Field(DOF)ノードを作成し、以降の処理で使うマスク画像を生成する。

20140510_01_6

マスク画像はチャンネル名[M]になる。

20140510_01_7

このマスク画像は、DOFノードを有効化し、Mチャンネルを表示して確認できる。
Mチャンネルを表示しながら焦点の設定を行うと作業しやすい。

・Focus Distance パラメータ

焦点距離

カメラからの各サンプリングポイントへの距離は、そのままZDepthパスのピクセルに焼きこまれる。

焦点をあわせるポイントのおおよその距離を知りたいときは、Pzチャンネル表示中にIキーを押して各ピクセルの情報を見られるようにし、焦点を合わせたいピクセルの深度を調べる。

20140510_01_8

この例では、8.2239がそのピクセルが持つ深度の値。

・Depth Adjust

焦点の合う幅。

・Distance Adjustment

焦点距離と焦点のドロップオフを調整できる。(挙動を見る限り、焦点距離がわかりにくくなりそうなので、極力使いたくない)

・Default Mask Value

ZDepth情報を持たないピクセルが持つ値を指定。

Fake DOF

Depth Of Fieldから出力されるマスク画像を、DefocusノードのMaskに入力することでDOFエフェクトをかけられる。

その際、DefocusノードのMaskタブで、マスクに使用するチャンネルをMに指定して、入力されたMaskチャンネルを有効化する。

・Defocus

ぼかしの強さ

・Defocus Shape

シャッター形状

・Per-Pixel Defocus

どう動作しているか不明だけど、これがオンになっていないと、画像にかかるブラーがただのブラーになっており、レンズボケというよりは画像をにじませただけの状態になる。

↓Per-Pixel Defocus オフ
20140510_01_10

↓Per-Pixel Defocus オン
20140510_01_9

Fog

Defocusと同様にFogノードを使用してフォグを追加できる。

コメントを残す