被写界深度ぼかしのシミュレーション

ZDefocusノードは、深度マップチャネルに従って画像をぼかします。これにより、被写界深度(DOF)のぼかしをシミュレートできます。

元の画像。

ZDefocusを使用して、より狭い被写界深度をシミュレートします。
この場合、緑色の記号の下の領域は引き続きフォーカスされ、
一方、その前後の領域はぼやけています。
画像内の焦点が合っていないハイライトは形状に咲きます
フィルター画像のボケ効果を作成します。

画像の焦点をぼかすために、ZDefocusは画像をレイヤーに分割します。各レイヤーには同じ深度値が割り当てられ、単一のぼかしサイズで処理されます。ZDefocusがすべてのレイヤーを処理した後、画像の背面から前面にそれらをブレンドし、新しいレイヤーがそれぞれ前のレイヤーの上に移動します。これにより、画像内のオブジェクトの順序を保持できます。

クイックスタート

ワークフローの概要は次のとおりです。

1.   ZDefocusノードを作成し、スクリプトに接続します。

見るZDefocusを接続する

2.   ぼかし設定を調整します。

見るぼかし設定の調整

3.   焦点が合っていないハイライトの形状を調整します。

見る焦点外のハイライトの形状を調整する

4.   必要に応じて、ハイライトを強調して、レンズの形状効果をより見やすくします。

見る焦点外のハイライトの強化

5.   必要に応じて、ぼかし効果をマスクします。

見るぼかし効果のマスキング

ヒント:  確認してもいいUse GPU if availableノードを中央処理装置(CPU)ではなくグラフィック処理装置(GPU)で実行する。

最小要件の詳細については、を参照してくださいWindowsMac OS XおよびmacOS 、またはLinuxまたはを参照してくださいNukeリリースノートはHelp > Release Notes

環境設定で使用するGPUを選択できます。押すShift+S開くPreferencesダイアログ、表示していることを確認してくださいPreferences > Performance > Hardwareタブ、および設定default blink device使用したいデバイスに。再起動する必要がありますNuke変更が有効になるため。

のレンダーライセンスを使用している場合Nuke、追加する必要があります--gpuコマンドラインで。

ZDefocusを接続する

ZDefocusを接続するには:

1.   をクリックしてZDefocusノードを作成しますFilter > ZDefocus
2.   ZDefocusノードのimageぼかしたい画像への入力。

注意:  この画像には、深度マップチャネルも含まれている必要があります。デプスチャンネルとrgbaチャンネルが2つの異なるファイルに存在する場合、シャッフルノードを使用してそれらを結合できます。

3.   使用channelsドロップダウンメニューで、ぼかしたいチャンネルを選択します。
4.   セットするdepth channelチャンネルへimage深度マップを含む入力。デフォルトでは、深度情報はdepth.Z

デプスマップはアンチエイリアス処理しないでください。そうである場合、2つのオブジェクト間のエッジに沿ったピクセルに、前面オブジェクトと背面オブジェクトの中間の深さを割り当てることができます。これは、これらのエッジピクセルがオブジェクト間のどこかにフローティングしていることを示唆しているため、間違っているように見えます。

5.   独自のフィルターイメージ(定義済みではなく)を使用する場合discまたはbladed画像)、それをZDefocusノードのfilter入力および設定filter typeimageノードのプロパティで。

フィルター画像は、入力フッテージの撮影に使用されるカメラの絞りの形状とサイズを表します。のクリップとしてimage入力がぼやけ、クリップのハイライトがfilter画像、ボケ効果を作成します。

注意:  pre-からのスクリプトの読み込みNuke 8.0v7により、 legacy resize mode後方互換性のために自動的にチェックボックスをオンにし、 filter boundsドロップダウンを使用して、フィルタリングで使用される画像のサイズ変更方法を決定します。
新しいZDefocusノードを追加すると、 legacy resize modeチェックボックスを使用すると、 image filterドロップダウンを使用して、ぼかしを計算する際の柔軟性を高めます。
見るカスタムフィルターイメージの使用詳細については。

Rotoノードを使用してフィルターイメージを作成できます(Draw > Roto)またはFlareノード( Draw > Flare )、 例えば。

高速フーリエ変換を使用して大きなフィルター画像の畳み込みを高速化するため、必ずしもフィルター画像を小さいサイズにトリミングする必要はありません。

6.   ビューアーをZDefocusノードに接続します。

ZDefocusスクリプト。
7.   に進む焦点外のハイライトの形状を調整する未満。

ぼかし設定の調整

ぼかし設定を調整するには:

1.   使用するmath使用方法を指定するにはdepthchannelカメラとオブジェクト間の距離を計算します。たとえば、いくつかのプログラムはより高い値を使用して遠くを示しますが、他のプログラムではカメラに近いことを意味します。

direct -のZ値depth channelぼかしを直接制御します。たとえば、Zが0.5の場合、ブラーサイズは、 size制御(これがmaximum、その場合、それはにクランプされますmaximum)。

depth -のZ値depth channelカメラとそのピクセルの画像にあるものとの間の距離です。

far = 0 -のZ値depth channel 1 /距離に等しい。値は、カメラに近い大きな正の値から無限大でゼロに減少すると予想されます。これは、によって生成された深度マップと互換性がありますNukeとRenderMan。

far = 1 -ニアプレーン= 0、ファープレーン= 1。これは、OpenGLによって生成された深度マップと互換性があります。

-direct -と同様directモード、Z値depth channelぼかしを直接制御します。言い換えると、各レイヤーは、 directモード。ただし、このモードでは、レイヤーは逆の順序であると解釈されるため、深さの値を大きくすると、レイヤーが背後ではなく前に配置されます。

-depth -のZ値depth channelカメラの前の距離です。これはと同じですdepth、しかし距離は最初は負です。

far = -0 -のZ値depth channel -1 / distanceに等しい。これは、Mayaによって生成された深度マップと互換性があります。

far = -1 -ニアプレーン= 0、ファープレーン= -1

2.   ビューアで、 focal point完全に焦点を合わせたい領域の上部にあるウィジェット。

これにより、 focal point ZDefocusプロパティの座標と設定focus planeそれらの座標でZ深度値を制御します。このZを持つレイヤー 深さの値はフォーカスされたままです。焦点が合っている焦点面の周りに深度スライスを設定することもできます(手順4で説明)が、画像の他の領域は深度マップに従ってぼかしられます。

緑色の記号の下の焦点ウィジェット。
遠くの車の近くにある焦点ウィジェット。

ヒント:  fill foregroundデフォルトで有効になっているコントロールは、フォアグラウンドが焦点から外れたときに表示されるフォアグラウンドの領域を埋めることにより、失われた情報を補正しようとします。ただし、これらの地域では真の画像情報を利用できないため、 fill foreground存在しないものを追加することにより、望ましくないアーティファクトを導入することがあります。
鋭いエッジのアーティファクトではなく、前景にぼやけたアーティファクトが表示される場合は、このコントロールを無効にしてみてください。

変更の効果をよりよく見るために、設定することもできますoutputfocal plane setup。ZDefocusは、被写界深度(DOF)情報をrgbチャンネル:

red -DOF未満(焦点が合っているエリアの前)。

green -内部DOF(フォーカス)。ことに注意してくださいdepth of fieldに設定されています0、緑色では何も表示されません。

blue -DOFより大きい(フォーカスされている領域の背後)。

いつshow image有効にすると、この情報は入力画像にオーバーレイされます。

下の焦点点ウィジェット
緑のサイン。
近くの焦点ウィジェット
遠くの車。
3.   完全に焦点が合っている領域を広げるには、増やすdepth of field。これにより、完全に焦点が合っているフォーカスプレーンの周囲に深度スライスが設定されます(常に緑色で表示されます) outputに設定されていますfocal plane setup)。真の理論的な被写界深度はこれをゼロに設定します。

Depth of field 0に設定します。 Depth of field 1に設定します。
4.   焦点の合った領域に少量のぼかしを適用するには、 blur inside有効になっています。これにより、焦点の合った領域とその周りの焦点が合っていない領域との間の移行がよりスムーズになります。
5.   セットするoutput戻るresultを設定して、無限の深さでぼかしの量を調整しますsize値。焦点面よりもカメラに近いブラーの量が大きくなる可能性があることに注意してください。

設定した場合mathdirect、サイズに深さを掛けて、その深さでのぼかしサイズを与えます。設定size 1にすると、深度マップの値をブラーサイズとして直接使用できます。

6.   あなたが増加した場合sizeステップ5の値は、 maximum値。オブジェクトがカメラに対してどこにあっても、この値を超えるブラーは生成されません。

処理速度を最大にするために、この値をできるだけ低く保つことができます。

7.   デフォルトでは、 automatic layer spacing有効になっています。つまり、ZDefocusは、最大ブラーサイズ(maximum)。このモーlayer curveレイヤーを手動で制御する場合、値を1に設定します。手順8を参照してください。

レイヤーを視覚化するために、設定できますoutputlayer setup。これはfocal plane setup、ただし、深度がレイヤーに分割された後、被写界深度(DOF)情報を表示します。

Outputに設定layer setup

0と0の間で使用されるぼかしサイズの最大数maximum 256です。これは、焦点面の後ろに最大256のレイヤーを持ち、その前に最大256のレイヤーを持つことができることを意味します。

8.   チェックを外した場合automatic layer間隔を使用して、レイヤーの数を手動で制御できますdepth layers。使用するレイヤーが多いほど、ぼかしの処理に時間がかかることに注意してください。

Depth layers 10に設定します。 Depth layers 50に設定します。

必要に応じて、増やすこともできますlayer curve焦点面の周りにレイヤーを集中します。デフォルト値の0は、等間隔のレイヤーを生成します。

Layer curve 0に設定します。
これにより、等間隔になります
層。
を増やすlayer curve
価値は層を集中させる
焦点面の周り。
9.   に進む焦点外のハイライトの形状を調整する

焦点外のハイライトの形状を調整する

のクリップとしてimage入力がぼやけ、クリップ内の焦点が外れたハイライト(ボケ)は、 filter画像(のfilter type選択済み)。

元の画像。 ピンぼけのハイライト
(ボケ)の形で
そのfilter画像。

フィルター画像の作成方法はユーザー次第です。あなたはできる:

定義済みのディスク形状をフィルター画像として使用します。見る定義済みのディスクイメージを使用する

定義済みのブレード画像(ポリゴン)をフィルター画像として使用します。見る定義済みのブレードイメージを使用する

で独自のカスタム画像を使用するfilterフィルター画像として入力します。見るカスタムフィルターイメージの使用

定義済みのディスクイメージを使用する

1.   変更の効果を確認するには、設定しますoutput ZDefocusコントロールでfilter shape setup
2.   セットするfilter typedisc
3.   使用 filter shape 0のガウスと1のディスクの間でフィルター形状をディゾルブするコントロール

Filter shapeセットする
0(ガウス)。
Filter shapeセットする
1(ディスク)に。これは
デフォルト値。
4.   使用aspect ratioフィルターのアスペクト比を設定するコントロール(デフォルトでは1:1)。1より小さい値はx軸でフィルターを絞り、1より大きい値はy軸でフィルターを絞ります

これにより、いくつかのレンズ設計に固有のケラレによって引き起こされる猫の目の効果をシミュレートできます。

Aspect ratioセットする
0.5に。
Aspect ratioセットする
1.5に。
5.   に進む焦点外のハイライトの強化

定義済みのブレードイメージを使用する

1.   変更の効果を確認するには、設定しますoutput ZDefocusコントロールでfilter shape setup
2.   セットするfilter typebladed
3.   使用bladesカメラの絞りを構成する絞り羽根の数を設定するコントロール。値3は、三角形、4は正方形、5は五角形、6は六角形などを生成します。

このフィールドは、1より大きい整数のみを受け入れます。

Blades 5に設定します。
これがデフォルトです
値。
Blades 8に設定します。
4.   調整するroundnessフィルターポリゴンの側面の丸みを制御します。値が0の場合、丸めは行われません。

Roundnessセットする
0に。
Roundnessセットする
から8。
5.   使用するrotationフィルター画像を度単位で回転します。正の値は反時計回りの回転を生成し、逆の場合も同様です。
6.   使用aspect ratioフィルターのアスペクト比を設定するコントロール(デフォルトでは1:1)。1より小さい値はx軸でフィルターを絞り、1より大きい値はy軸でフィルターを絞ります。

これにより、いくつかのレンズ設計に固有のケラレによって引き起こされる猫の目の効果をシミュレートできます。

Aspect ratioセットする
0に。
Aspect ratioセットする
から2。
7.   焦点が合っていないハイライト内の光の分布を調整するには:

調整するinner size外側のポリゴンの割合として、内側のポリゴンのサイズを制御します。

Inner sizeセットする
0.2に。
Inner sizeセットする
0.8に。

使用するinner feather内側のポリゴンの周囲に外側または内側のぼかしを追加します。値が0.5より大きい場合、ぼかし効果は外側になり、値が0.5より小さい場合、ぼかし効果は内側になります。値が0.5の場合、フェザリングは生成されません。

Inner featherセットする
0.2に。
Inner featherセットする
0.8に。

内側の明るさを調整して、内側のポリゴンの明るさを制御します。0は黒、1は白になります。

Inner brightness
0.3に設定します。
Inner brightness
0.7に設定します。

反射屈折レンズをシミュレートする場合は、チェックcatadioptric。反射屈折レンズを使用すると、画像の焦点がずれた領域は環状になり、ドーナツ型のボケが生成されます。使用できますcatadioptric sizeフィルターの反射屈折穴のサイズを調整します。

 

Catadioptric size
0.3に設定します。
Catadioptric size
0.7に設定します。
8.   に進む焦点外のハイライトの強化

カスタムフィルターイメージの使用

1.   セットするfilter type ZDefocusコントロールでimage

これにより、ZDefocusがfilterフィルターイメージとして事前定義された形状ではなく入力。

ことに注意してくださいfilter画像はカラー画像にすることができます。これは、たとえば、色ずれを焦点外のハイライトに追加して色収差をシミュレートする場合に役立ちます。

filter画像。
2.   表示したい場合filterビューアの画像、設定outputfilter shape setup

注意:  pre-からのスクリプトの読み込みNuke 9.0v2により、 legacy resize mode後方互換性のために自動的にチェックボックスをオンにし、 filter boundsドロップダウンを使用して、フィルタリングで使用される画像のサイズ変更方法を決定します。
新しいZDefocusノードを追加すると、 legacy resize modeチェックボックスを使用すると、 image filterドロップダウンを使用して、ぼかしを計算する際の柔軟性を高めます。

3.   使用するチャンネルを選択するにはfilter入力するには、次のいずれかを実行します。

をセットするfilter channel 使用するチャンネルのドロップダウンメニュー。デフォルトでは、このメニューはrgba.alpha

から同じチャンネルを使用するにはfilterとして入力image入力(つまり、何でもchannelsに設定されている)、チェックuse input channels

4.   より新しいNukeスクリプト、使用image filterドロップダウンをクリックして、必要なフィルターを選択します。見るフィルタリングアルゴリズムの選択利用可能なフィルターの詳細については。

注意:  次のようなシャープニングを使用するフィルターを使用する場合RifmanそしてLanczos、ハロー効果が見られる場合があります。必要に応じて、確認してくださいclamp image filterこの問題を修正します。

より古いNukeとスクリプトlegacy resize mode有効にしたfilter boundsドロップダウンを使用して、フィルター画像を以下に制限するかどうかを選択します。

shape - filter入力の境界ボックス。この場合、ZDefocusは境界ボックス領域のみを使用し、フィルターの中心は境界ボックスの中心になります。これがデフォルト値です。たとえば、次の場合に使用できます。 filter入力は、フォーマット領域全体を満たさない小さな境界ボックスを持つロト形状です。

format - filter入力の形式。この場合、ZDefocusはフォーマット領域全体を使用するため、フォーマット内でフィルター画像をオフセットできます。

5.   に進む焦点外のハイライトの強化

焦点外のハイライトの強化

ピンぼけのハイライトを強調するには:

1.   ピンぼけのレンズ形状の効果をより暖かく見やすくするには、チェックgamma correction

これは、ぼかしの前に2.2のガンマルックアップカーブが適用され、最終出力に対して反転されることを意味します。

なしでgamma correction gamma correction
2.   有効にすることで、レンズの形状効果をより見やすくすることもできますbloom

上のハイライトbloom threshold値にbloom gain値。下のハイライトbloom threshold影響を受けません。

これにより、ハイライトをより細かく制御できますgamma correction;しかしながら、 gamma correctionハイライトのいくつかをより良く引き出すかもしれません。

なしでbloom bloom
3.   に進むぼかし効果のマスキング

ぼかし効果のマスキング

ぼかし効果をマスクするには:

1.   行う1次のいずれか:

ZDefocusノードのマスクチャネルがあることを確認してくださいimage入力し、何も接続されていませんmask入力。

マスクをmask ZDefocusノードの入力。見えない場合mask入力、ノードのコントロールを開き、確認しますmaskに設定されていますnone

マスクが必要な場合mask事前定義にコピーされた入力mask.aチャンネル、チェックinject。この方法では、使用できますmask下流に再度入力します。

2.   アルファチャンネルをマットとして使用したくない場合は、使用するチャンネルをmaskドロップダウンメニュー。

デフォルトでは、ぼかしはこのチャンネルの黒以外の領域に制限されています。

3.   必要に応じて、確認してくださいinvertマスクを反転して、ぼかしがマスクの非白領域に制限されるようにします。
4.   マスクのエッジのみをぼかすには、チェックしますfringe
5.   元の画像(0)と完全なZDefocus効果(1)の間でディゾルブするには、 mixスライダー。ノードグラフのノードに小さな明るい灰色の正方形が表示され、完全な効果が使用されていないことが示されます。