em {
font-weight: bold;
color: red;
}
.subtitles {
border: black thin solid;
color: white;
background-color: #cccc99;
}
table {
text-align: center;
}
th {
padding: 8px;
}
td {
padding: 8px;
}
Mudboxとは
Mudboxとは、Autodesk社が開発するソフトで、ペイント感覚で且つ直感的な操作を特徴とする3Dモデリングツールです。従来のポリゴン編集による3Dソフトとは異なり、彫刻を作るかのようにオブジェクトを編集する「スカルプティング」を得意とします。ペインティングも思いのままに表現することができ、テクスチャやノーマルマップの作成に非常に特化したソフトです。
作業環境
- OS : Microsoft Windows XP SP2
- CPU : Intel Core 2 Duo 2.13GHz
- Memory : 2.0GB
- Mudbox : Mudbox 2009
- 3ds Max : 3ds Max 2008 32bit, 3ds Max 2009 32bit
レビューの目的
Mudboxは従来のポリゴン編集ソフトと併用することで、その機能を最大限に発揮することができます。今回はAutodesk社の3ds Maxを用いて製作したモデルに、より優れたリアリティとディテールを持つノーマルマップを作成する方法を、順を追って解説します。そしてこのレビューを読んで下さった方に、このような3ds MaxとMudboxの併用による高次の表現方法を習得していただくことが、今回のレビューの目的です。
コンテンツ
3ds MaxのオブジェクトにMudboxで作成したノーマルマップを適用する、一連の流れは以下の通りです。
- 3ds Maxオブジェクトの適切なアンラップ
- 3ds Maxオブジェクトのエクスポート
- Mudboxでのスカルプティングとペインティング
- Mudboxでのノーマルマップのエクスポート
- 3ds Maxでマップを適用
この順序で解説を行います。
なお、今回のレビュー用に使用したオリジナルオブジェクト「PrecambrianPlant」ですが、練習用データを用意しました。参考にする場合はこちらからダウンロードしてください(3ds Max 2008以降対応)。
3ds MaxのオブジェクトにMudboxでマップをつくる
1. 3ds Maxオブジェクトの適切なアンラップ
・まずはじめに行う作業は、3ds Maxで作成したオブジェクトの適切なアンラップです。Mudboxでは、マッピング座標の重なっているオブジェクトをインポートするとエラーが生じてしまいます。そのためまずは3ds Max上で、オブジェクトのマッピング座標に重複がないよう、正しく配置する必要があります。
・3ds Maxを起動し、オブジェクトのファイルを開きます。
・オブジェクトを選択し、編集可能ポリゴンであることを確認します。設定されていなければ、編集可能ポリゴンに変換します。
・[修正]パネルを開き、モディファイヤリストから[UVWアンラップ]モディファイヤを選択します。
・オブジェクトが緑色のラインで分割され、UVWアンラップが適用されます。
・パネル内の[パラメータ]ロールアウトから[編集]を選択します。
・[UVWを編集]ダイアログボックスが開きます。
・[UVWを編集]ダイアログボックスに表示されたオブジェクト"PrecambrianPlant"のサブオブジェクトが、他のサブオブジェクトと重なってしまっているのが分かります。これではMudboxで正しく読み取れません。全てのマッピング座標に重複が無いよう、[修正]パネルや「UVWを編集」ダイアログボックスの機能を使って丁寧に修正します。
また、これらはUVタイル内の座標0から1の間に配置する必要があります。これも、はみ出しているとMudboxでエラーを引き起こします。具体的には、[UVWを編集]ダイアログボックスのチェックの背景の上で、なお且つ縦横に伸びるラインの内側でなければなりません。
・アンラップが完了したら、オブジェクトを選択した状態で[ユーティリティ]パネルを開き、[ユーティリティ]ロールアウトの[集約]をクリックします。次に[集約]ロールアウトの出力タイプを[モディファイヤ スタック結果]に設定し、[選択を集約]を実行します。これで、オブジェクトのスタックを編集可能ポリゴンに集約しました。[修正]パネルのモディファイヤスタックに[編集可能ポリゴン]のみがリストされていることを確認します。
・必要があれば、ここでオブジェクトをデタッチします。デタッチすると、後にMudbox上でそれぞれ異なったサブディビジョンレベル(後記参照)を設定することができます。
・これで、Mudboxで適切にインポートするための設定が完了しました。
続いてエクスポートします。
2. 3ds Maxオブジェクトのエクスポート
・[ファイル]メニューから[書き出し]を選択し、[書き出すファイルを選択]ダイアログボックスで保存場所とファイル名、ファイルの種類を設定してください。ファイルの種類はOBJ形式を選択します。
※保存場所ですが、Mudboxは日本語に対応していないため、保存パスに日本語が含まれているとインポートできない場合があります。保存パスは全て半角英数とするよう注意してください。ファイル名も同様です。
・[OK]をクリックすると[オブジェクト書き出しオプション]ダイアログボックスが表示されます。プリセットを[Mudbox]に設定し、[書き出し]をクリックしてください。
・しばらく処理を待ち、終了したら[完了]をクリックします。これでMudboxに適切な書き出しを行うことが出来ました。
3ds Maxのデータを保存して、アプリケーションを終了します。
3. Mudboxでのスカルプティングとペインティング
・ではいよいよMudboxを使ったプロセスに入ります。先のOBJファイルをインポートし、ノーマルマップとなるスカルプティングを行う作業です。
・Mudboxを起動します。
・[File]メニューから[import]を選択し、先ほどのOBJファイルを選択して[OK]をクリックします。 画面に先のオブジェクトが表示されます。 Alt+左クリックでビューを回転、Alt+スクロールでパン、Alt+右クリックでズームすることが出来ます。このショートカットは便利ですので踏まえておきましょう。
・オブジェクトのモデリングを詳細に行うために、オブジェクトを選択してサブディビジョンレベルを設定します。Shift+Dキーでレベルを1つずつ上げることができ、PageUpキーとPageDownキーでレベルを移動します。
サブディビジョンレベルは、詰まるところオブジェクトのポリゴン数のレベルです。ポリゴン数はレベルを上げるごとに格段に増加し、より密度の高いスカルプティングが行えるようになります。表現したいディテールに合ったレベルでの編集をしましょう。
またオブジェクトによっては、低レベルだとレイヤーを設定した際にポリゴンが壊れてしまう場合がありますので、レベル2以上で作業することを推薦します。
・ではスカルプトレイヤーとスカルプトツールを使用してみましょう。サブディビジョンレベルを適当な値に設定したら、画面右上の[Layer]タブで"Sculpt"が選択されていることを確認し、紙のアイコン[New Layer]をクリックします。リストに"Sculpt Layer 1"が新規作成されます。
"Sculpt Layer"が選択された状態で、画面左下の[Sculpt]タブから[Sculpt]のアイコンを選択し、オブジェクトを適当になぞってみましょう。なぞった部分が浮き出ます。その他のスカルプトツールも実験してみましょう。各ツールのサイズや強度は画面右の[Properties:○○○]タブで調整できます。
これが「スカルプティング」です。ちなみにレイヤーを設定しなくてもスカルプティングは可能ですが、レイヤーのある方が、各レイヤーの強度を調整したり一括して修正したりなど便利です。特に、レベル0のオリジナルを編集することはお勧めしません(失敗したときにリセット出来なくなる)。またレイヤーは、それが設定されたサブディビジョンレベルでしか編集することが出来ない、ということを知っておいてください。
・スカルプティングにおける「スタンプ」と「ステンシル」という機能を使用してみます。スタンプ機能は、画面右下の[stamp]タブの中から任意の模様を選択することで使用し、スカルプティングに模様を反映させることが出来ます。細かい設定は画面右の[Prpperties:○○○]内の[Use Stamp Image]で調整することが出来ます。
・ステンシル機能は、スタンプ機能とは似て少し異なり、オブジェクトに貼るような感覚で模様を反映させることの出来る機能です。画面右下の[stencil]タブの中から任意の模様を選択するとステンシルが表示されます。
Sキー+左クリックでステンシルを回転、Sキー+スクロールでパン、Sキー+右クリックでスケールを変えることが出来ます。
・以上のツールを活用して、オブジェクトのサーフェスを編集します。
・ペインティングについて触れますと、画面右上の[Layer]タブで"Paint"を選択し、紙のアイコン[New Layer]をクリックします。[Create New Paint Layer]ダイアログボックスが表示されるので、単純にペイントをする場合には[Channel]をデフォルトのまま[OK]をクリックします。"Paint Layer 1"がリストに表示されるので、画面左下の[Paint Tools]タブから[Paint Brush]のアイコンを選択し、オブジェクトをペイントします。サイズや強度、色は画面右の[Properties: Paint Brush]タブで調整してください。
※ペイントレイヤーを設定すると、画面左上の[UV View]タブでオブジェクトのUVWを確認することが出来ます。
4. Mudboxでのノーマルマップのエクスポート
・スカルプティングが完了したら、それを3ds Maxで表現するためにノーマルマップとしてエクスポートします。
・[Edit]メニューの[Select all]をクリックし、オブジェクトを選択します。
・[Map]メニューの[Extract Texture Maps]から[New Operation...]を選択します。[Extract Texture Maps]ダイアログボックスが表示されます。[Normal Map]にチェックを入れ、現れる項目を設定します。[Use Selected]、[Add all]をクリックし、[Compatibility]は"3ds Max"に設定します。[Coordinate Space]は"Tangent"のまま、保存先を選択して[Extract]をクリックしましょう。
処理を待ち、[Finished]ダイアログボックスが表示されたら、ノーマルマップのエクスポートの完了です。
・ファイルを保存し、Mudboxを終了します。
5. 3ds Maxでマップを適用
・それでは最終段階です。先ほどMudboxでエクスポートしたノーマルマップを、3ds Maxのオブジェクトに適用します。
・3ds Maxを起動し、オブジェクトのファイルを開きます。
・Mキーで[マテリアルエディタ]ダイアログボックスを開きます。任意の未設定のマテリアルを選択し、[マップ]ロールアウトの[バンプ]横の[none]をクリックします。[マテリアル/マップ ブラウザ]ダイアログボックスが表示されるので、[法線バンプ]を選択し[OK]をクリックします。
・[マテリアルエディタ]ダイアログボックスの[パラメータ]ロールアウトで、法線の[none]をクリックします。[マテリアル/マップ ブラウザ]で[ビットマップ]を選択し[OK]をクリックします。
・先ほどエクスポートしたノーマルマップを読み込みます。複数吐き出された場合には、イメージを参考に選択してください。
・[マテリアルエディタ]ダイアログボックスで、[親に戻る]ボタンをクリックします。表示される[パラメータ]ロールアウトの[手法]で"タンジェント"が選択されていることを確認したら、マテリアルをオブジェクトに割り当ててください。ノーマルマップを適切にオブジェクトに適用するため、[UVWマップ]モディファイヤを使用したり、オブジェクトをデタッチする必要がある場合があるので、臨機応変に設定します。
・パースペクティブビューポートでレンダリングしてみます。オブジェクトのサーフェスにノーマルマップが適用されたことを確認します。
まとめ
3ds Max、Maya等の従来のソフトはポリゴンによるモデリングを得意とする一方、Mudboxのような彫刻的な機能を持っていません。ですからポリゴン編集によって製作したオブジェクトにリアリティや複雑なサーフェスが求められる時には、Mudboxのようなスカルプティングソフトは非常に重宝します。また今回のレビューは最終的にノーマルマップを作成し、オブジェクトに適応することがメインだったためあまり触れませんでしたが、Mudboxのペイント機能もユーザの表現したいようにテクスチャを作成できる自由度の高いツールです。
そしてMudboxのような直感的な操作という特徴は、MaxやMayaといったソフトよりもシンプルで分かりやすく、今後も求められるインターフェイスであると言えます。
この機会にぜひMudboxを使っていただき、Max, Mayaでは表現しきれなかったクオリティを追求してみてはいかがでしょうか。MudboxはAutodesk社のサイトにて体験版がダウンロードできますので、ぜひ試用してみてください。