このシェーダは、モーション ブラーを適用する前に合成作業を行いたいユーザや、特定のサードパーティ製モーション ブラー シェーダを使用したいユーザに適しています。このシェーダの目的は、カラーとしてエンコードしたピクセル空間(mental ray の標準モーション ベクトル フォーマットはワールド空間)のモーションを書き出すことです。
ほとんどのサードパーティ製ツールは、赤を X 軸、緑を Y 軸とするカラーとしてエンコードされたモーション ベクトルを必要とします。カラーの範囲内に収めるため(特に浮動小数点を使用せず、カラー範囲が黒から白までのみの場合)、モーションは係数(ここでは[Max Displace])でスケーリングされ、結果の値の範囲 -1 ~ 1 は、カラー チャネルの 0 ~ 1 の範囲にマッピングされます。また、シェーダは、いくつかの浮動小数点出力モードもサポートしています。
エンコードされたモーション ベクトルの最大長を設定します。このピクセル数以上のモーション ベクトルは、カラーの範囲内で表現可能な最大値としてエンコードされます(つまり白または黒)。
選択したイメージ フォーマットの解像度を最大限に活用するため、[Max Displace]の値を、8 ビット イメージ(実際にはこの目的に適していません)では 50.0 (既定値)に、16 ビット イメージでは 2000.0 に設定することをお勧めします。シェーダは、パラメータの調整に役立つよう、フレーム内で見つかった最大モーション ベクトルの情報記述を出力します。詳細については、サード パーティのモーション ブラー シェーダのドキュメントを参照してください。
[Max Displace]を 0.0 にすると、モーション ベクトルはイメージの解像度に相対的にエンコードされます。たとえば、幅 600 ピクセル、高さ 400 ピクセルのイメージでは、X の正方向への 600 ピクセルの移動は、赤のチャネルの 1.0 としてエンコードされ、X の負方向への 600 ピクセルの移動は 0.0 としてエンコードされます。Y の正方向への 400 ピクセルの移動は、青チャネルの 1.0 としてエンコードされます。
オンにすると、青色チャネルはブラーの強度を表し、赤と緑のチャネルは 2D 方向だけをエンコードするようになります。オフにすると青のチャネルは使用されず、赤と緑のチャネルが方向と強度の両方をエンコードするようになります。
[Off]以外に設定すると、シェーダは赤と緑のチャネルに、実際の浮動小数点のモーション ベクトルを書き込みます。これらは、最大ディスプレイス長に正規化されず、クリップされません。また、正と負の両方の値を含んでいます。このオプションを使用する場合、[Max Displace]と[Blue Channel Is Magnitude]はどちらも効果を持ちません。
浮動小数点フォーマット オプションには以下があります。
チェック マークを付けると、空のバックグラウンド領域に、カメラの動きによって制御されるモーション ベクトルが生成されます。