Mudbox から Arnold へのベクトル ディスプレイスメント

このチュートリアルでは、球とベクトル ディスプレイスメント マップだけを使用して頭部モデルをレンダリングする手順について説明します。ベクトル ディスプレイスメント マップは、複雑なジオメトリを管理する負担を気にせずに、強力かつ効率的な方法でシーンにディテールを追加します。また、3D スカルプト アプリケーションと Arnold でモデルを処理する場合、非常に効率的なワークフローを提供します。頂点法線に長い線分を使用するだけの従来のグレー スケール ディスプレイスメント マップとは異なり、ベクトル ディスプレイスメント マップには、XYZ のディスプレイスメント方向とサイズを表す RGB 値があります。つまり、固定されたサーフェスの法線に沿って移動するのではなく、互いにオーバーラップするなどして、あらゆる方向に移動できます。

ただし、ベクトル ディスプレイスメント マップは通常のディスプレイスメント マップより多くの情報を格納する必要があるため、ファイル サイズが大きくなります。また、ベクトル ディスプレイスメント マップは、通常のディスプレイスメント マップと同じで、すべての状況に対応するわけではありません。たとえば、ベクトル ディスプレイスメント マップを使用すると、UV の継ぎ目が問題になる場合があります。

このチュートリアルの資料とサポートを提供してくれた Zeno Pelgrims 氏に感謝いたします。

sphere.obj、ベクトル ディスプレイスメント マップ、拡散反射光カラー マップは、こちらからダウンロードできます。

重要:

sphere.obj ファイルを読み込むときには Texture Coords を有効にしてください(既定ではオフ)。そうしないと UV が失われ、間違ったディスプレイスメントが取得されます。

ベクトル ディスプレイスメントを使用していない球 ベクトル ディスプレイスメント マップ ベクトル ディスプレイスメントを使用した球

Mudbox

元の頭部のスカルプトは、次の設定を使用して Mudbox から抽出されました。

Mudbox のスカルプトの詳細

注:

必ず 32 ビットまたは 16 ビットの浮動小数点形式を使用してイメージを保存し、整数形式は使用しないでください。整数形式は正しく機能しません。これは、整数形式が負のピクセル値をサポートしないためです。一方、浮動小数点のディスプレイスメント マップでは負のピクセル値を使用します。

3ds Max

obj_base

ベクトル ディスプレイスメント シェーダ

vector_spacetangent に設定

サブディビジョン

下のイメージでは、サブディビジョンの反復が 4 の場合と 6 の場合で、品質にわずかな違いがあることが分かります。

2 4 6

ユーティリティ シェーダは、ディスプレイスメント マップをレンダーするときの問題を診断するのに役立ちます。

ユーティリティ シェーダ。shade_mode「ndoteye」 に設定し、overlay_mode「polywire」 に設定する。

以上で、MAXtoA を使用して Mudbox からのベクトル ディスプレイスメントをレンダリングするチュートリアルは完了です。