VectorBlurを使用してモーションブラーを追加する

NukeのVectorBlurノードは、各ピクセルを直線にぼかしてモーションブラーを生成し、モーションベクトルチャンネル(uおよびvチャンネル)の値を使用してブラーの方向を決定します。ScanlineRenderノードを使用してモーションブラーを生成する場合と比較してMultiSampleコントロールの場合、これはそれほど正確ではありませんが、レンダリングは高速です。

VectorBlurで使用するために必要なモーションベクトルをいくつかの方法で作成できます。

ScanlineRenderまたはRayRenderノードを使用します。通常、これはMotionBlur3Dノード(以下で説明)を使用するよりも正確であり、静的カメラと移動カメラの両方、および線形カメラと非線形カメラの両方の動きに適しています。見るScanlineRenderでVectorBlurを使用するにはまたはRayBenderでVectorBlurを使用するには

または、3Dシーンが静的またはほぼ静的であり、シャッター時間にわたるカメラの動きがほぼ線形である場合は、 Filter > MotionBlur3Dノード。ただし、MotionBlur3Dはカメラ情報のみを使用してモーションベクトルを生成することに注意してください。シーンに動いているオブジェクトがあり、カメラが静止している場合、MotionBlur3Dは出力を生成できません。見るMotionBlur3DでVectorBlurを使用するには

いくつかのサードパーティ3Dアプリケーションは、VectorBlurで使用できる2チャネルの浮動小数点画像としてモーションベクトル情報を生成することもできます。可能であれば、これらのイメージを事前に乗算解除する必要があります。見るサードパーティのモーションベクトルでVectorBlurを使用するには

ScanlineRenderでVectorBlurを使用するには

1.   3Dシーンで、ScanlineRenderプロパティを開き、 Shaderタブ。
2.   確認してくださいmotion vectors次のいずれかに設定されます(ではありませんoff):

classic -モーションベクトルをクラシック(前処理、Nuke 6.1)方法。このオプションは後方互換性のためにのみ提供されており、常に正確であるとは限りません。

velocity -モーションベクトルチャネルのすべての単一ピクセルの速度を保存します(事前に、Nuke 7.0の方法)。このオプションは、後方互換性のためにのみ提供されています。と同じ動作をするためにNuke 6.3、設定samples 1に。

distance -ピクセルごとに、モーションベクトルチャネルのサンプル間の距離(ピクセル単位)を保存します。これは、通常、最良の結果が得られる推奨オプションです。また、VectorBlurノードは、2つのフレーム間の補間が線形ではなく曲線に従って行われる曲線ベクトルブラーを生成できます。

3.   使用するmotion vector channels生成されたモーションベクトルを保存する場所を選択します。

選択したチャネルを表示すると、モーションベクトルが含まれていることがわかります。

3Dシーンのレンダリング。

によって生成された動きベクトル
ScanlineRender。

4.   MultiSampleタブ、残すsamples 1に設定します。VectorBlurの線形アプローチを使用して非線形の動きを十分に近似できない場合、この値を後で増やすことができます。
5.   選択するFilter > VectorBlur ScanlineRenderの後にVectorBlurノードを挿入します。

ScanlineRenderとVectorBlurを持つノードツリー。

6.   VectorBlurプロパティで、 channelsドロップダウンメニューを使用して、ぼかしるチャンネルを選択します。
7.   からモーションベクトルチャネルを選択しますuv channelsドロップダウンメニュー。これらは、手順3で作成するために選択したチャンネルと同じチャンネルである必要があります。
8.   をセットするmv presetsドロップダウンを使用して、モーションベクトルに適用するレンダラー形式を設定します。各プリセットには、レンダラーに固有のスケールとオフセットが含まれているため、ベクトルは、 Nuke
9.   使用blur uvドロップダウンを使用して、画像をぼかす前にモーションベクトル自体をぼかすことにより、非常に異なるモーションを持つ領域間の結果を滑らかにします。次のいずれかを選択します。

uniform -小さな均一なぼかしを適用して、UVマップのエッジをソフトにします。または

linear -線形に重み付けされたぼかしを適用して、異なるモーションの領域間をブレンドします。これは、 uniformオプション。

ヒント:  uniformオプションを使用して、前と同様のぼかしを作成できますNuke 10件。

10.   セットするshutter offset 0に。これは、現在のフレームでシャッターが開くことを意味します。
11.   を選択blur typeドロップダウンを使用します。
12.   ぼかしの量を調整するには、 motion blurコントロール。

元の画像。

によって生成されるモーションブラー
VectorBlur。

RayBenderでVectorBlurを使用するには

1.   3Dシーンで、RayRenderプロパティを開き、 AOVsタブ。
2.   有効にするoutput AOVそして、使用しますmotion vector生成されたモーションベクトルを保存する場所を選択するドロップダウン。

選択したチャネルを表示すると、モーションベクトルが含まれていることがわかります。

3Dシーンのレンダリング。

によって生成された動きベクトル
ScanlineRender。

3.   MultiSampleタブ、残すsamples 1に設定します。VectorBlurの線形アプローチを使用して非線形の動きを十分に近似できない場合、この値を後で増やすことができます。
4.   選択するFilter > VectorBlur RayRenderの後にVectorBlurノードを挿入します。

RayRenderとVectorBlurを持つノードツリー。

5.   VectorBlurプロパティで、 channelsドロップダウンメニューを使用して、ぼかしるチャンネルを選択します。
6.   からモーションベクトルチャネルを選択しますuv channelsドロップダウンメニュー。これらは、手順2で作成するために選択したチャンネルと同じチャンネルである必要があります。
7.   をセットするmv presetsドロップダウンを使用して、モーションベクトルに適用するレンダラー形式を設定します。各プリセットには、レンダラーに固有のスケールとオフセットが含まれているため、ベクトルは、 Nuke
8.   使用blur uvドロップダウンを使用して、画像をぼかす前にモーションベクトル自体をぼかすことにより、非常に異なるモーションを持つ領域間の結果を滑らかにします。次のいずれかを選択します。

uniform -小さな均一なぼかしを適用して、UVマップのエッジをソフトにします。または

linear -線形に重み付けされたぼかしを適用して、異なるモーションの領域間をブレンドします。これは、 uniformオプション。

ヒント:  uniformオプションを使用して、前と同様のぼかしを作成できますNuke 10件。

9.   セットするshutter offset 0に。これは、現在のフレームでシャッターが開くことを意味します。
10.   を選択blur typeドロップダウンを使用します。
11.   ぼかしの量を調整するには、 motion blurコントロール。

元の画像。

によって生成されるモーションブラー
VectorBlur。

MotionBlur3DでVectorBlurを使用するには

1.   3Dシーン(静的またはほぼ静的)で、ScanlineRenderプロパティを開き、 Shaderタブ、および設定motion vectorsoff

これは、ScanlineRenderにモーションベクトルを生成しないように指示します。これは、MotionBlur3Dを使用してベクトルを生成する場合に必要なものです。

2.   選択するFilter > MotionBlur3Dこのノードを挿入して、ScanlineRenderノードの出力に接続します。
3.   レンダリングカメラをcam MotionBlur3Dノードの入力。これは移動カメラでなければならないことに注意してください。シャッター時間にわたるカメラの動きは、線形またはほぼ線形である必要があります。
4.   MotionBlur3Dプロパティで、使用しますOutput UV生成されたモーションベクトルを保存する場所を選択します。

選択したチャネルを表示すると、モーションベクトルが含まれていることがわかります。

5.   選択するFilter > VectorBlurこのノードを挿入してMotionBlur3Dノードに接続します。

MotionBlur3DとVectorBlurを含むノードツリー。

6.   VectorBlurプロパティで、モーションレイヤーを選択しますuv channelsドロップダウンメニュー。
7.   使用blur uvドロップダウンを使用して、画像をぼかす前にモーションベクトル自体をぼかすことにより、非常に異なるモーションを持つ領域間の結果を滑らかにします。次のいずれかを選択します。

uniform -小さな均一なぼかしを適用して、UVマップのエッジをソフトにします。または

linear -線形に重み付けされたぼかしを適用して、異なるモーションの領域間をブレンドします。これは、 uniformオプション。

ヒント:  uniformオプションを使用して、前と同様のぼかしを作成できますNuke 10件。

8.   を選択blur typeドロップダウンを使用します。
9.   ぼかしの量を調整するには、 motion blurコントロール。
10.   ぼかしの長さを調整するには、 Shutter MotionBlur3Dの設定Propertiesパネル。

低い Shutter値。

高い Shutter値。

サードパーティのモーションベクトルでVectorBlurを使用するには

1.   選択するFilter > VectorBlurモーションベクトルチャネルを含む2D画像の後にVectorBlurノードを挿入します。
2.   VectorBlurプロパティで、 channelsドロップダウンメニューを使用して、ぼかしるチャンネルを選択します。
3.   からモーションベクトルチャネルを選択しますuv channelsドロップダウンメニュー。
4.   をセットするmv presetsドロップダウンを使用して、選択したレンダラーのデフォルト設定に関連付けられているプリセットを適用します(存在する場合)。
5.   モーションベクトルがあらかじめ乗算されている場合は、チェックしますuv alpha画像の事前乗算に使用するチャネルを指定します。
6.   を選択blur typeを使用して必要なぼかし量motion blurコントロール。