motion_vector AOV を使用したモーション ブラー(イメージの上にカーソルを合わせて確認)


Arnold のモーション ブラーは、一般的に自然なモーション ブラー サポートを使用するのが最も効果的です。このサポートでは、カメラのシャッターを開いてからシャッターを閉じる間に、オブジェクトのトランスフォームと頂点が時間の経過とともにサンプリングされます。モーション ブラーによるノイズを解決するには、AA サンプルの数を増やす必要がありますが、通常これらのサンプルは、被写界深度、直接光と間接光、ボリュームレンダリングなどからのノイズのために必要になります。厳しい時間制約がある場合には、代わりにモーション ベクトルを出力し、後で合成パッケージ内でイメージをブラーする方が高速です。このタイプのモーション ブラーは、精度が低く、オブジェクトの移動や、カメラに対する深度の複雑な相互作用などによるライティングの変化をキャプチャしません。ただし、場合によってはそれでも十分です。


ここでは、モーション ベクトルの使用が望ましい場合のために、モーション ベクトルを生成する方法を説明します。モーション ベクトルを生成するには、2 つの方法があります。1 つはシェーダを使用する方法、もう 1 つは Arnold が提供するビルトインの AOV を使用する方法です。このチュートリアルでは、ビリヤード台のシーンで motion_vector AOV を使用する方法について説明します。 本当の 3D モーション ブラーと比較して、この手法を使用した場合の利点と欠点について確認します。 motion_vector AOV は、シーン内のオブジェクトの動きを示すカラー チャネルを出力します。 この AOV は、2D モーション ブラー エフェクトを計算するためにポスト プロセッシング ソフトウェアで使用することができます。本当の 3D モーション ブラーと比べて、一般的にレンダリング時間が短いという利点があります。 

ビリヤード台のレンダリングを作成する

モーション ベクトル AOV をレンダリングするには、最初にバックグラウンドからビリヤードの球を分離する必要があります。 ビリヤードの球を(motion_vector AOV を使用して)個別にレンダリングし、Nuke などのポスト プロセッシング プログラムで球を 1 つにコンポジットします。

  • ビリヤードの球を個別にレンダリングする前に、Motion Blur 設定で Instantaneous Shutter を有効にする必要があります。その理由は、レンダリングでモーション ブラーは適用しないけれども、モーションの速度情報をモーション ベクトル AOV に追加するためです。
  • シーン内のジオメトリ(モーション ブラーを適用するビリヤードの球以外)を選択し、アトリビュート エディタで primary_visibility を無効にします。 ビリヤードの球が単独でレンダリングされたのが確認できます。

ビリヤードの球のレンダリング(残りのシーンでは primary_visibility は無効)

バックグラウンド レイヤを作成する

  • ここで、モーション ブラーを適用するビリヤードの球の primary_visibility を無効にします。 レンダリングすると、バックグラウンド オブジェクトと、モーション ブラーが適用されたビリヤードの球のシャドウのみが表示されます。

バックグラウンドのレンダリング(primary_visibility が無効に設定されたビリヤードの球)

コンポジット

  • ポスト プロセッシング パッケージ(この場合は Nuke)で 2 つの EXR ファイルを開きます。
  • 「Vector Blur」ノードをビリヤードの球のレンダーに接続します。Vector Blur ノードを使用し、「モーション ベクトル AOV」を使用してビリヤードの球にブラーを適用します。


  • VectorBlur ノードを選択します。uv channelsmotionvector に、mv presetsArnold に変更します。uv alpha を有効にして rgba.alpha を選択し、ブラーが motionvector AOV のアルファで固定されないようにします。

Nuke での Vector Blur ノードの設定


  • 「merge」ノード(動作を「over」に設定)を A 入力ではベクトル ブラーとして、B 入力ではバックグラウンド レンダーとして使用します。


最後に、バックグラウンド レンダーにコンポジットされたビリヤードの球のレンダーが次のように表示されます。

制限事項

Arnold のネイティブ 3D モーション ブラーのレンダリングと比較すると、2D モーション ベクトルのレンダリングにはいくつかの制限事項があります。 その制限事項には、反射面のモーション ブラー、デフォメーション ブラー、実際にはない 3D モーション ブラー エフェクト(カメラに向いていないホイールの回転など)、モーション ブラーが適用されている光源を使用したタイム ラプス エフェクトなどがあります。

反射モーション ブラーは、モーション ベクトル ブラーを使用している場合には適用できません(イメージの上にカーソルを合わせて確認)。

モーション ベクトル AOV にはデフォメーション モーション ブラーの処理に問題があります。 デフォメーション モーション ブラーに適切なモーション ベクトル AOV をレンダリングする必要がある場合、このモーション ベクトル AOV に添付された motion_vector シェーダを使用してカスタム AOV を作成する必要があります。