Zbrushで書き出したディスプレイスメントマップをMAYAで適用する方法。

141005_displacementmap_zbrush_maya_01

MAYAで作ったジオメトリーをZbrushに持って行きてスカルプトしたディスプレイスメントマップを書き出してそれをMAYAに適用する方法を書きました。ノーマルマップの書き出し方法はこちらに書きましたのでこちらも気になった方はご参考にしてください。

MAYAで作ったジオメトリーをUV展開する。

まずは作った物をUV展開しましょ。これをしないといくらZbrushでスカルプトし終わったー!となっても、あれ?UV展開されてなかった!という事になり後々困ります。ZbrushでもUV展開は出来ますがそれよりMAYAで僕は今の所展開してますのでその話はまた今度で。

141005_displacementmap_zbrush_maya_02

エクスポートして書き出す。

File→Export Selectionで展開したデータを選んでから、

141005_displacementmap_zbrush_maya_03

Files of type:はOBJexportを選んで書き出してください。MAYAでOBJが選べない時はプラグインでOBJを読み込める様にしないとダメです。

141005_displacementmap_zbrush_maya_04

ZbrushでOBJデータを読み込む。

Zbrushを起動すると右上のToolより

141005_displacementmap_zbrush_maya_05

Importを選んで

141005_displacementmap_zbrush_maya_06

MAYAで作ったOBJデータを読み込みます。読み込んだらEditモード(ショートカットTキー)にして編集可能にしてください。

141005_displacementmap_zbrush_maya_07

Morph Targetを使う!

MorphTargetというのは一度だけその形状を保存しておく事が出来て、変形前、変形後をボタン1つで交互に切り換えれる機能です。今回Zbrushで簡単な模様をディスプレイスメントマップで作るには、現在のローポリをハイポリにして模様を描き、その後、ローポリとハイポリの差から書き出した白黒画像をMAYAに持って行き使うんですが、その時に差を書き出す時の最初の変形前のローポリが何故かDivid7からDivid1に戻すと、形が変わってしまうんですね。読み込んだ時と、Divid7から1にした時の形状が同じローポリなのに形状が変わってしまうんです。

これだと本当は変形前のローポリに使うはずのディスプレイスメントマップなのに、形状が変わったローポリからハイポリの差の白黒画像が制作されてしまうので、奇麗に使えないという事になります。

これを防ぐために、Morph Targetというのを使い、最初の形状を一度記憶させておくという事なんです。ちょっとややこしいですね・・・。

141005_displacementmap_zbrush_maya_08

読み込んだ状態でToolのMorphTargetから「StorMT」を1度押すと現在の形状が記憶されますので、それでOK。

141005_displacementmap_zbrush_maya_09

そのまま今度はGeometryのDivideを何回か押して、自分がスカルプトしやすい細かさにしてください。ここだと僕は7です。

141005_displacementmap_zbrush_maya_10

こんな感じに細かくなりました!

141005_displacementmap_zbrush_maya_11

細かくなたtのでスカルプトして模様を書きました。こんな感じです。本当はグラスを想像してたけど・・・花瓶かな?

141005_displacementmap_zbrush_maya_12

ディスプレイスメントマップを書き出す為の設定をします!

ディスプレイスメントマップは先ほども書きましたが、ローポリと、ハイポリから計算された高低差として使える白黒画像を作れる画像で、それを書き出す設定方法を書きますね。

Divideを1にして最初の形状を読み戻す!

ハイポリから一気にローポリのDivideを1にしてください。7を1にします。スライダを動かしてもいいし、ショートカットのshift+Dでもなります。しかしこのままだと、最初の読み込んだ時の形状と違ってるんです。少し歪んでたり膨らんでたり、とにかく違います。違ってるからこのローポリで計算されても奇麗な模様が出来ないんです。

141005_displacementmap_zbrush_maya_13

しかし、先ほどMorph Targetで最初の形状を保存しておいたので、その時の記憶を読み戻してあげます。Swithボタンを押すと、形状が変わります。あら不思議!こんな機能があるなら最初からこれを実装してくれよと思うんだけどね・・・。

141005_displacementmap_zbrush_maya_14

膨らみが治ったのが分かりますか?最初に読み込んだ時の形状です!

141005_displacementmap_zbrush_maya_15

ZpluginのMulti Map Exporterでディスプレイスメントマップを書き出す!

形状をいじるのはこれで以上ですので、今度は高低差として使える白黒画像をZbrushに計算させる為に、ツール上のZpluginの「Multi Map Exporter」をクリックしてください。

クリックするとずらーっと長い表示が出ます。正直こりゃ大変だなと思いますが、そんな事ありません。使う所は限られてます。

141005_displacementmap_zbrush_maya_16

ディスプレイスメントマップの設定値

141005_displacementmap_zbrush_maya_17

分かる範囲で書いてますが、間違えてたらご指摘お願いします。

①Displacement これをONにすると白黒画像を書き出されます。

その下のExport MeshもONにすると、作ってるローポリデータも保存されます。

②Map Size 書き出されるUV画像の大きさです。数値が大きければ大きい程鮮明になりますがその分重たくなります。今回は2048

③Map Border UV 書き出される白黒画像がUV展開のキワ ギリギリじゃなく余裕をもって自動で幅を増やしてくれますのでエッジがスパット切れたりしなくなる。

④Flip V MAYAではUVが逆さまになるのでそれを直してくれる。

⑤SubDiv level 今回作ったジオメトリーの書き出す細かさを設定出来る。7でスカルプトしたけど、数値を5にすると粗い画像のUVを書き出したり出来る。

⑥Adaptive  これをONにするとより奇麗なディスプレイスメントマップの白黒画像が出来る。

⑦SmoothUV スムーズになる。OFFにするとカクカクな白黒画像が出来る。

⑧3 Channels

⑨32bit 奇麗な階調の持った白黒画像が出来る。グラデーションが奇麗になる。

⑩exr 階調の沢山もってる拡張子

⑪Mid  最初は0.5と入ってるので何もない部分もグレーになるが、0にすると真っ黒になる。ここは0にする。

これで「Create ALL Maps」を押せば自動でメッシュデータと、ディスプレイスメントマップが指定場所に保存されます!

MAYAでZbrushで作ったディスプレイスメントマップを貼付けましょう!

ここまで来たら出来たも同然!MAYAに戻り、Importから

141005_displacementmap_zbrush_maya_18

書き出したOBJデータを読み込みます。

141005_displacementmap_zbrush_maya_19

Hyper shadeを開き、今回はMiaマテリアルにディスプレイスメントマップを使ってみたいので、Miaを選択後、Work Areaの

①SGを選択して、

②横ボタンをクリックしてください。

141005_displacementmap_zbrush_maya_20

Attribute editorのSGを表示して、Displacement mat.右にあるチェッカーマークをクリック。

141005_displacementmap_zbrush_maya_21

Fileを選び、

141005_displacementmap_zbrush_maya_22

フォルダーアイコンに

141005_displacementmap_zbrush_maya_23

先ほど出来た.exrのデータを読み込みます。これがディスプレイスメントマップのデータです。

141005_displacementmap_zbrush_maya_24

読み込みとWrok Areaがグチャグチャになってると思うので、

141005_displacementmap_zbrush_maya_25

ここのボタンを押すとWork Areaが整理され見やすくなります。で、このmiaマテリアルをジオメトリーに設定してあげてください!

141005_displacementmap_zbrush_maya_26

ディスプレイスメントマップはMental Rayでレンダリング!

ディスプレイスメントマップはmental rayじゃないとレンダリング結果が表示されないので、レンタリングの環境設定より、

141005_displacementmap_zbrush_maya_27

Render Usingからmental rayを選んでください。

141005_displacementmap_zbrush_maya_28

レンダリング!

来ましたね〜奇麗に出ました。

141005_displacementmap_zbrush_maya_29

細かく見てみましょうか。Zbrushでキワ部分にこんな感じで処理しましたが、

141005_displacementmap_zbrush_maya_30

Mayaだとちょっと汚く見えますね。 あれ、ちょっと汚いですね。

141005_displacementmap_zbrush_maya_31

ディスプレイスメントマップをスムーズにするApproximation editorの使い方。

なんだかジャギジャギして少し汚く見える部分がありましたが、MAYAでスムーズにする方法があります。

window→Rendering Editors→mental ray→Approximation Editorをクリックして

141005_displacementmap_zbrush_maya_32

SubdivisionsからCreateを押します。

141005_displacementmap_zbrush_maya_33

するとAttribute aditorにN.subdivisionsという部分に数値が追加されました。

N.subdivisions 3

レンダリング時間 3秒

うーん。柔らかすぎて形状が分からない。

141005_displacementmap_zbrush_maya_34

N.subdivisions 4

レンダリング時間 4秒

少し形がでてきましたが、まだZbrushで作った形状と違いますね。

141005_displacementmap_zbrush_maya_35

N.subdivisions 5

レンダリング時間 6秒

キワ部分がもうちょっと鋭角になってもらいたいです。

141005_displacementmap_zbrush_maya_36

N.subdivisions 6

レンダリング時間16秒

結構良い感じです!が、レンダリング時間が一気に上がりました。

141005_displacementmap_zbrush_maya_37

N.subdivisions 7

レンダリング時間 1:06秒

文句のつけ様がないぐらいエッジがシャープでZbrushの画像と同じだと思います!が、レンダリング時間が長過ぎてて使いづらい。

141005_displacementmap_zbrush_maya_38

検証結果から、Approximation editorは数値を上げると変なギザギザは無くなり、よりZbrushの近い見た目になりますがレンダリング時間が大幅に上がるという事が分かりましたので、
用途によって数値を使い別ける必要がありそうです。

ZbrushとMAYAをお使いの方は参考にしてみてください。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする