ArnoldでVector Displacementを使う際の設定をご紹介します。
今回はMayaとZBrushを使用します。
目次
方法
ZBrush
- FlipAndSwitch: 11、Tangent FlipAndSwitch: 11 に設定
Preferences > ImportExport

- UVのスムースを設定(Suv)をMayaと合わせます。
・Suv: OFF
※上記は参考です。プロジェクトの仕様に合ったものを使用してください。

- 書き出しを設定をします。
・SubDiv Level: 1
・vd Tangent: ON
・32Bit: ON
・exr: ON
・vd SUV: OFF
・vd SNormals: ON
※上記は参考です。プロジェクトの仕様に合ったものを使用してください。

- UDIMの設定をします。
[***-VD1001.exr]という命名のテクスチャになります。
-VDの部分を_vdm.に変更したい場合はMap type suffixの[-VD]のところをクリックすると任意の文字に変更できます。
変更すると[***_vdm.1001.exr]となります。

- Map Sizeを設定して、FlipV: ONにしたら、Create All Mapsをクリックするとテクスチャをかき出します。
※書き出すモデルのSDivは最大(書き出したいサブディブの数)にしておきます。
ZBrushはUVの上下(V方向)がMayaなどのソフトと逆になっているので、FlipVはどのテクスチャでもONが基本です。
これでZBrushでの作業は完了です。

Maya
- マテリアルの設定
・aiStandardSurfaceマテリアルを作成し、メッシュに適用しておく
・Displacement ShaderにFileノードをつなげる
・FileノードにZBrushから書き出したVectorDisplacementテクスチャを読み込む
・Color Space: Utility – Raw、もしくはRaw(例ではOCIOをしようしているのでUtility – Rawを使っています)
・UV Tiling Mode: UDIM(Mari)に(UDIMを使用していない場合はOffでOK)
・Ignore CS File RulesをON(環境の異なるシーンに読み込んだ際に設定が自動更新されないようにONにします)

- displacementShaderノードを設定
・File ノードの[Out Alpha – Displacement]を[Out Color – Vector Displacement]に変更
・Vector Space: Tangent
・Auto Bump: ON(Mesh > Arnold > Displacement Attributes > AutobumpのほうをONでもOK)

- メッシュの設定(Arnold > Subdivision > )
・Type: catclark
・Iterations: 3~(ほしいデイテールが出るまで上げるが、レンダリングが重すぎるので注意。個人的には3~4くらいをよく使います)
・UV Smoothing: pin_borders(ZBrushで使ったUVスムースと合わせる)

設定は以上です。
これでレンダリングをすると適用されています。
VectorDisplacementの大変なところはZBrushを使う場合、レンダラーによってFlipAndSwitchとTangent FlipAndSwitchの設定を適切なものに変更しなければならないことです。
Mudboxでのテクスチャ書き出しのほうを好むかたも多く、スカルプトはZBrushで行い、書き出す際にMudboxに持っていくという方は昔からいらっしゃいます。
私は面倒なのでどうしてもという場合以外はZBrushで済ませています。
(昔はVray用のVectorDisplacementはうまく出せなかったりしましたが今はできるのでしょうか?最近Vrayを使用する機会がなく調べていないですが、知ることがあれば別途記載したいと思います。)