ZBrush → Substance Painter → Modo → Unity までの記録(5) : Modo – マテリアル設定編

広告:超オススメUnity Asset
  広告:超オススメUnity Asset

Modo – マテリアル設定編

ZBrushで作成したローメッシュと、Substance Painterで作成したテクスチャを合わせて、Unity用に書き出す手前までのMEMOです。

  1. ZBrush → Substance Painter → Modo → Unity までの記録(1) : 蟲籠式再稼働
  2. ZBrush → Substance Painter → Modo → Unity までの記録(2) : ZBrush – お試し編
  3. ZBrush → Substance Painter → Modo → Unity までの記録(3) : ZBrush – 書き出し編
  4. ZBrush → Substance Painter → Modo → Unity までの記録(4) : Substance Painter – ベイク編
  5. ZBrush → Substance Painter → Modo → Unity までの記録(5) : Modo – マテリアル設定編 ←このMEMO
  6. ZBrush → Substance Painter → Modo → Unity までの記録(6) : Unity – 読み込み編

Modoのバージョンは、12です

ローポリFBXを読み込み

ZBrushで書き出したローポリFBXファイルをModo12に読み込みます。 読み込みオプションはすべてデフォルトのままです。

01

読み込むとこんな感じ。アイテムツリー上に各パーツが並びます(いまさらですが、ZBrushのサブツールでちゃんと名前つけておけばよかった)また、マテリアルの情報もシェーディングツリーに見えます。Modo上でSubstance Painterから書き出したテクスチャーを再構成するには、このシェーディングツリーに画像をきちんと並べていきます。(もっと簡単かと思ったら、なかなかの作業が必要。。)

テクスチャーファイルを読み込むために、画像タブをクリックして、「クリップの追加」から「(画像の読み込み)」を選びます。

02

マテリアルの適用

ここからは、はっきり言ってこのドキュメントを見なければ、何をどこにどうすればいいかさっぱりわかりませんでした。

03

このドキュメントはSubstance Painterで「Unity 5 (Standard Metallic)」で書き出した感じの記述なのですが、Specularの場合でも同様の属性の変更をしてあげる必要がありそうです。

まず、各パーツ3枚ずつのファイルを書き出しているので、これらの画像をシェーディングツリーの同じ名前のツリーのところにぶら下げます。

04

まず、上からNormal、SpecularSmoothness、Albedoとなるように並び替えます(この必要ないかもですが)、そして、エフェクトのところから、それぞれ、Unity NormalUnity SmoothnessUnity Albedoに変更します。

あと、「レイヤー追加 – カスタムマテリアル – Unity Material」を追加して「Material」の上に配置します。これによってUnity書き出ししたマテリアルに対応できるようになるようです。

05

これら3つの画像のプロパティの「テクスチャロケータ」を見ると、プロジェクションタイプが「立方体」になっているので、それを「UVマップ」に変更し、UVマップ欄を「DiffuseUV」に変更します。

なお、こうしたプロパティ変更作業は、複数選択して、プロパティインスペクタでまとめて設定することが可能です。

06

次に、NormalとSmoothnessについて「プロパティ – 静止画像」タブにある「カラースペース」を「リニア」にします。これは上記ドキュメントの表で「Colorspace」が「Linear」となっているからです。

07

Albedoのみ「sRGB」にします。

08

「Unity Smoothness」のマテリアルは、「Alpha」に収めるようになっているようで、「プロパティ – テクスチャレイヤー」の「スウィズル」をオンにしてアルファチャンネルを「Alpha」に設定する必要があるようです。

09

08 2

この作業を各パーツに対して行います(もうちょい自動でやってくるかと思いましたが、これでもだいぶ自動処理となったんでしょうね^^;)

ちなみに、Substance Painterで「Unity 5 (Standard Metallic)」の方で書き出した場合、ほぼ同様の作業でマテリアル設定できますが、「Unity Metallic」と「Unity Smoothness」が1枚の画像のRedとAlphaのチャンネルに収まっているようなので、この画像は2枚分ドラッグして、それぞれ、「プロパティ – テクスチャレイヤー」の「スウィズル」をオンにしてアルファチャンネルをUnity Metallicは「Red」、Unity Smoothnessは「Alpha」に設定するようです。

Modoでレンダリング

これでようやくSubstance Painterで作成したマテリアルを適用することができました。Modoで一度レンダリングすると、こんな感じです。ちなみに、Unityでリアルタイムにレンダリングされるのは、このレンダリングのクオリティではなく、「アドバンスト」で見えてる状態だということがどっかに書いてありました。

10

あとは存分にModoの機能を使い倒して、Unityのアセット用として出力してあげればいいはずです。

Modoでやれることはかなり豊富なので(アニメーションとか)、今後やっていくとして、仕上がったこのモデルやModo自体で作成したものをUnityのアセットとして、どのように出力するかだけ最後にやっておこうと思います。

次回は、ついにModoからアセット書き出しをして、Unityで読み込むところまでをMEMOしようと思います。