Mudbox 2020 リトポロジーの方法

ZBrush Core Miniでスカルプトモデリングしたモデルを、MudboxでリトポロジーしてMayaなどに持っていく方法を整理してみました。

ZBrush(有料製品版)を使用した場合はこのワークフローは必要ないのですが、ZBrush Core Miniしか手元にない場合にこのワークフローが役立つのではないかと思います。


ZBrush Core MiniからOBJデータをエクスポートする

ZBrush Core Miniを開き、スカルプトモデリングします。
ZBrush Core Miniは四角ポリゴンで作業することができないため、ポリゴンは全て三角ポリゴンです。

モデリングができたらエクスポートしていきますが、その前にポリゴン削減のスイッチを押します。これは、ポリゴン数を削減するという目的と、エラーのメッシュを減らすという目的があります。

High:500Kポリゴンまで削減します。
Med:300Kポリゴンまで削減します。
Low:150Kポリゴンまで削減します。

このポリゴン削減ですが、できるだけディテールを失いたくないため、500Kを超える場合は「High」を押す、300Kを超えて500K未満の場合は「Med」を押す、といった具合に、なるべく高い数値でポリゴン削減します。

「ActivePolygons:〇〇〇…」と書いてあるところが、現在モデルが持つポリゴン数です。

このポリゴン削減を行わずにMudboxに持っていくと、エラーのメッシュがたくさん出てリトポロジーできないことが多いです。

次に、モデルを「.obj」形式でエクスポートします。

3Dプリンタのアイコンを押すことで「.obj」形式でエクスポートできます。Export for 3D Printingと書いてあるので、てっきり「.stl」形式でのエクスポートかと思いました…。わかりづらい!


Mudboxでリトポロジーする

Mudboxを開きます。
先ほどエクスポートしたオブジェクトファイルをインポートします。

オブジェクトのメッシュエラーが出ることがあります(ZBrush Core Miniで作成した場合ほぼ確実に出ますね)。

「Keep All」で進みます。

次に、下記ポップアップも出てきますが、OKで進みます。

オブジェクトが読み込まれたら、リトポロジーをかけていきます。
オブジェクトが読み込まれなかった場合、メッシュのエラーが致命的で読み込めなかった可能性があります。ZBrush Core Miniに戻って怪しい部分をなくしていく作業をするか、あきらめてMudboxで作り始める必要があります。Blenderなどのソフトを使ってみてもいいかもしれません。
ちなみにZBrush Core Miniでモデリング後、ポリゴン削減をかけないで直接エクスポートしてみましたが、その場合は読み込みエラーが出てしまい、Mudbox側でインポートができませんでした。参考までに。

「Mesh」>「Retopologize」>「New Operation…」をクリックします。

ウィンドウが立ち上がります。

上から3段目「Target Base Face Count」は、今回3000にしました。
この数値を上げたり下げたりすることでリトポロジー後のポリゴン数を設定します。

下のほうの「Symmetry」を「Based on Axis」にすると、左右対称のトポロジーでリトポロジーしてくれます。
今回のモデルは左右対称なので、そのように設定しました。

「Retopologize」でリトポロジーを実行します。

しばらくの計算が終わると、オブジェクトに整ったワイヤーフレームが表示されます。
こんな感じです。


MudboxのUV展開 vs MayaのUV展開

リトポロジー後のモデルの続きです。

Object Listでリトポロジー後のモデルを見てみると、サブディビジョンレベルを5段階含んでいることが確認できます。

Level_0 ~ Level_5

が表記されています。

サブディビジョンレベルは下記キーで切り替えができます。

「Page Up」:サブディビジョンレベルを1上げる。
「Page Down」:サブディビジョンレベルを1下げる。

「Shift」+「D」:サブディビジョンレベルを1追加する。

UV展開を行う前に、サブディビジョンレベルを最低レベルまで下げておく必要があります。

「Page Down」を複数回押して、Levelが0になるまで下げます。
※MudboxではLevel_0が最低レベルです。ZBrushではLevel_1が最低レベルなので、表記の違いに注意が必要ですね。

最低レベルにすると、こんな感じの見た目になりました。

まず、MudboxでUV展開してみます。
結論から言うと、Mayaでなければ綺麗にはUV展開できません。
なので、MudboxでUV展開をしてみた後で、MayaでUV展開します。

最低レベルにしたオブジェクトを選択した状態で、「UVs & Maps」>「Create UVs…」をクリックし、出てきたCreate UVsウィンドウで「OK」を押します。

UV Viewを開くと、UVが配置されたことが確認できます。

お世辞にも綺麗なUVとは言えないので、Mayaを使用してUVを開きなおしてみます。

一旦最低レベルにしたこのオブジェクトをMayaにエクスポートします。


「.obj」形式でエクスポート出来たら、Mayaを開いて「.obj」形式のモデルをインポートします。

下の画像は、最低レベルのオブジェクトデータをMayaに持って行った際の画像です。

UVは先ほどMudboxで仮に開いたため、UV EditorにはUVが存在します。

開きたいエッジを選択し、カットしていきます。
MayaでのUV展開の仕方は、今回の記事のメインではないので詳しくは記述しません…。

切りたいエッジを指定して、自動展開しました。

UVの範囲が

U:0~1
V:0~1

からはみ出さないようにレイアウトします。

できたら、オブジェクトを選択して再びMudboxで読み込むためにエクスポートします。
この時も「.obj」形式で大丈夫です。


先ほど開いていたMudboxのシーンに戻ります。

Mudboxで、最低レベルにしたオブジェクトを選択した状態で「File」>「Import UV…」をクリックします。

別ウィンドウが開くので、VertecIDにチェックが入った状態で「OK」を押します。

UV viewを開くとMayaで展開したUV情報が現在のモデルに適用されていることがわかります。

これでディテール情報を持ったまま、UVを綺麗に展開することができました。

サブディビジョンレベルを上げてみると、ディテールが確認できます。


MudboxでNormalmapを書き出す

最後に、ローポリゴンモデルにノーマルマップをアサインしてみます。
今回UV展開を行ったので大丈夫ですが、UV情報が無いままだと情報を書き込む場所がなくてノーマルマップを生成できないので注意です。

「UVs & Maps」>「Extract Texture Maps」>「New Operation」

で別ウィンドウが開くので、Normal Mapにチェックを入れます。
チェックを入れるとその下に設定項目がいろいろ出てきます。

①「Target Models (low…)」:最低レベルのリトポロジー済みモデル
②「Source Models (high…)」:非表示されているリトポロジー前のハイモデル

になるように、オブジェクトを選択して「Add Selected」で追加していきます。
下の画像のようになります。

このウィンドウを下のほうにスクロールしていくと、さらに設定項目があります。
以下のように設定します。

「Choose Samples」:Closest to lowres mesh
「Search distance」:Best Guessをクリックすると自動入力
「Image Size」:書き出したいテクスチャサイズ

この辺りを調整し、

「Base File Name」の右端の「…」をクリックし、ファイル保存先とファイル名を指定します。

「Extract」を押せるようになるので、押してテクスチャを書き出します。

少し計算処理をした後、下の画像のように最低レベルのオブジェクトデータにNormal Mapが自動的にアサインされます。

ちなみにテクスチャは指定先のフォルダに保存されています。


まとめ

①ZBrush Core Miniでハイモデルデータを作る
②Mudboxでリトポロジーする
③MayaでUV展開する
④Mudboxでノーマルマップを書き出す

というワークフローをメモしてみました。
ZBrush(有料製品版)があれば、Mudboxを経由しないでよかったり、ZBrush側でUV展開ができたりします。Mudboxが挟まると何度かソフトを経由してわかりづらいかもしれないですね。しかし、そのソフトで何がしたいか?何の素材がほしいか?を考えて「リトポロジーがしたい」「Nomal mapが出したい」というように目的の核を理解すると、ソフトは手段でしかないことがわかります。

では!(-_-)zzz

コメントを残す