モーション ベクトル(mip)

 
 
 

| 設定 | 代替チャンネル | Render Tree の使い方

カテゴリ: アウトプット

シェーダ ファミリ: アウトプット

出力: カラー

[関連 mental ray シェーダ](Related mental ray shader): mip_motion_vector

モーション ブラーを適用する前に合成処理をしたり、特定の他社製品のモーション ブラー シェーダを使用したりすることがあります。このため、mental ray のモーション ベクトル用のプロダクション シェーダ(mip_motion_vector)を使用して、カラーにエンコードしたピクセル空間(mental ray 標準のモーション ベクトル フォーマットはワールド空間)のモーションを書き出すことができます。

他社製品のツールの大部分が、モーション ベクトルをカラーとしてエンコードするときに、赤を X 軸、緑を Y 軸としています。カラーの制限に合わせるため(特に浮動小数点を使用せず、カラーが黒から白にのみ変化する場合)、モーションは係数([最大動き])でスケーリングされ、-1 ~ 1 の範囲がカラー チャンネル 0 ~ 1 にマッピングされます。

設定

浮動小数フォーマット(Floating Point Format)

  • [OFF]: シェーダは真の浮動小数のモーションベクトルを赤および緑のカラーチャンネルに書き出します。[最大動き]に正規化されていない、またクリップもされていないことから、正の値も負の値も含まれます。[最大動き]および[青は大きさ]のオプションはともに無効になります。

  • [ローデータ](Raw): 実際のピクセル数がそのまま浮動小数点に書き出されます。

  • [Toxik]: ピクセルのアスペクト比が考慮され、ピクセルが移動した距離の測定は Y 方向のピクセル値で表され、X コンポーネントはピクセル アスペクト比によってスケーリングされます。このオプションは Autodesk Toxik に対応しています。

最大動き(Maximum Movement)

エンコードされたモーション ベクトルの最大長を設定し、このピクセル数(またはそれ以上)のモーション ベクトルはカラーの制限範囲内で表現できる最大値(たとえば、白または黒)としてエンコードされます。

選択したイメージ フォーマットの解像度を最大限に活用するには、一般的には、8 ビット イメージの場合は[最大動き]を 50 に(実際にはこの目的では非推奨)、16 ビット イメージの場合は 2000 に設定します。シェーダはフレームに存在する最大モーション ベクトルの情報を出力するため、参照してこのパラメータを調整できます。詳細については、使用している他社モーション ブラー シェーダのマニュアルを参照してください。

[最大動き]が 0 の場合は、モーション ベクトルがイメージの解像度を基準にエンコードされます。たとえば、幅 600 ピクセル、高さ 400 ピクセルのイメージの場合、正の X 方向への 600 ピクセルの動きは赤チャンネルの 1.0 としてエンコードされ、負の X 方向への 600 ピクセルの動きは 0.0 としてエンコードされます。正の Y 方向への 400 ピクセルの動きは、青チャンネルの 1.0 などとしてエンコードされます。

青は大きさ(Blue is Magnitude)

オンにすると、青のカラー チャンネルはブラーの大きさを示し、赤と緑のカラー チャンネルは 2D 方向のみエンコードします。オフにすると、青のチャンネルが使用されず、赤と緑のチャンネルが方向と大きさの両方をエンコードします。詳細については、使用している他社モーション ブラー シェーダのマニュアルを参照してください。

環境のブラー(Blur Environment)

カメラ環境(たとえば背景)にカメラの動きによるブラーをかけるかどうかを指定します。オンにすると、環境からのピクセルにブラーがかけられ、オフにするとかけられません。

背景がシーンのジオメトリによって作成された場合は、この設定は適用されず、背景のブラーはそのジオメトリのモーション ブラーになります。

スキャンライン レンダラを使用する場合は、このオプションは無効です。

ピクセルしきい値(Pixel Threshold)

ブラーを追加する前に、オブジェクトを移動させる必要のある、最小のモーション ベクトル長(ピクセル単位)。実際には、書き出す前にこの長さがモーション ベクトルから単純に減算されます。

利用可能であれば、適用範囲チャンネルを使用(Use Coverage Channel If Available)

オンにすると、アルファ チャンネルではなく[ピクセル範囲]レンダ チャンネルの情報を使用して、移動する 2 つのオブジェクトのミックスにアンチエイリアスをかけたものを含むエッジ ピクセルを使用する方法が決定されます。

代替チャンネル

以下のオプションでは、モーション ベクトルおよび深度データに代替のレンダ チャンネルを設定します。このアウトプット シェーダを使用できるようにするには、リファレンス チャンネルを定義してレンダリングするパスに対して有効にする必要があります。

レンダ チャンネルの一般的な操作方法については、「レンダ チャンネルとフレーム バッファ」(「レンダリング」)を参照してください。

使用できるレンダ チャンネルとデータ タイプについては、「[Scene Render Options]プロパティエディタ」(「プロパティ リファレンス」)を参照してください。

結果(Result)

結果を書き出すレンダ チャンネルを指定します。

[<None>]は、組み込みの mental ray の Main レンダ チャンネルを使用することを示しています。ここで指定するレンダ チャンネルは、カラーのデータ タイプを持つものとして定義する必要があります。

モーション(Motion)

モーション ベクトル情報を取得するレンダ チャンネルを設定します。

[<None>]は、組み込みの mental ray の Raster Motion レンダ チャンネルを使用することを示しています。ここで指定するレンダ チャンネルは、ベクトルのデータ タイプを持つものとして定義する必要があります。

深度(Depth)

深度情報を取得するレンダ チャンネルを設定します。

[<None>]は、組み込みの mental ray の Depth レンダ チャンネルを使用することを示しています。ここで指定するレンダ チャンネルは、深度のデータ タイプを持つものとして定義する必要があります。

Render Tree の使い方

このアウトプット シェーダは直接 Render Tree に使用するのではなく、レンダ パスのシェーダ スタックで適用します。詳細については、「パーティションへのシェーダーの適用」(「レンダリング」)を参照してください。