サブスタンスペインター初心者さん向け講座②(ベイク編)

はじめまして!そして前回のブログをご覧になられた方はこんにちは!
背景デザイナーの奈良です。
前回に引き続きよろしくお願いいたします!

第2回の今回はベイク編ということで、「メッシュマップ」の作成をしていきます。

~~~
※前回の記事はこちらです!
第1回:サブスタンスペインター初心者さん向け講座①(モデリング編)
~~~


目次
1.ベイクメッシュマップ
2.メッシュマップの確認


1.ベイクメッシュマップ

ちなみに前回も何度か出てきたこのメッシュマップという単語ですが、
コレはいったいナニモノなんでしょう?

これはですね、ものすごくざっくり言うと
「ハイモデルのディティール情報を、ローモデルのUVマップに画像化したもの」なんです。

え~、まだテクスチャ作らないの?と思われるかもしれません。
確かにプロジェクトも作成したので、実はもうテクスチャを作ろうと思えば作れるんです。

でもですね、SPの真価を発揮させ、効率良く綺麗なテクスチャを作る上ではメッシュマップは絶対に欠かせないものですので、
まずこれを真っ先に作成することを強くオススメします!

それでは、Texture Set Settingsというウィンドウにある、
[Bake Mesh Map]ボタンから、メッシュマップの作成をしていきます。

file

Bakingウィンドウを開くと、なんだか呪文みたいな細かい設定がびっしり出てきます。
「あ、無理」とそっ閉じしたくなります...。
私も最初は全然わかりませんでしたし、実は今もよく分かっていない設定があります…。
でも、全部分かってないとダメなんてことは全然無いです。
触りながら少しずつ少しずつ覚えていけば大丈夫です!

ということで今回作成するメッシュマップは「法線マップ」「アンビエントオクルージョンマップ(以下AOマップ)」「曲率マップ」の3つです。
ほとんどのケースで、この3つがあれば大概のテクスチャが上手い事作れますので、
他のマップはスルーさせていただきます...。

まず、左にある[Mesh maps]以下のリストを確認すると、SPで作成できる各メッシュマップがリストされています。
この各マップの左にチェックが入っていると、そのメッシュマップが作成されます。
で、このバナーをクリックすると右の欄がそのマップの設定に切り替わります。
(作成したいマップ以外のチェックは外しておきます)

file

●Common

これは、全てのメッシュマップの大元になる各種設定です。
【Output Size】
作成されるメッシュマップの解像度ですね。
今回は1024x1024にします。

【Dillation Width】
UVアイランドの外に何ピクセル同じ色をはみ出させるか?のピクセル数です。
この値が小さすぎると、UVエッジがピクセルを跨いだ時に変な色が出てきてしまいます。
今回は解像度もそんなに大きくないので、8(ピクセル)という値にします。
※Apply Diffusionというのにチェックを入れると、Dillation Widthが働きます。

【High Definition meshes】
モデリング編で作成したハイモデルはここで使用します。
右のテキストペーパーのようなアイコンをクリックして参照ハイモデルを選択します。
しれっと書きましたが、これこそハイモデルを使う唯一にして最大の大変重要な項目です

【Antialiasing】
Noneだとジャギジャギするので、2x2で少しマイルドになるようにしました。

【Match】【Low poly mesh suffix】【High poly mesh suffix】
皆さん、ローモデルとハイモデルを作成した時、
同じパーツのメッシュは名前を揃えて「_low」とか「_high」とか付けたのを覚えているでしょうか?
あのオペレーションは、これらの項目の為のものだったのです。
例えば、ローモデルとハイモデルの同じパーツの柱メッシュに、
それぞれ「Pillar_01_low」「Pillar_01_high」と命名したとします。
この時、Match設定を「By Mesh Name」に、
Low poly mesh suffixを「_low」、High poly mesh suffixを「_high」にしておくと
同じパーツ名でsuffix(語尾)が「_low」「_high」になっているメッシュ間でだけベイクのやりとりがされます。

もしMatch設定が「Always」だと、
パーツ名もSuffixも無視されローメッシュもハイモデルも全メッシュでベイクのやりとりをします。
経験上、この設定は色々とおかしなメッシュマップになってしまうことが多いので、オススメしません。

●通常

これは誤訳で正しくは[法線]ですね…。
(ずいぶん前からなんですが、もうAllegorithmicさんもネタにしてるんでしょうかね)

ってあれ?パラメータが見当たりません。
ちょっとマウスホイールで上にスクロールしてみます、
なんと[common]の設定に戻りました。
これはつまりですね、法線マップはなんと[common]でベイクの設定をするんです。
なのでここの設定は空っぽなんです。

つぎは

●AOマップ

【Secondary Ray】
サンプリングで飛ばすRay(光線)の数です。
数が多いほど高品質になりますが、多すぎるとベイクに時間がかかるので程々で良いと思います。

【SelfOcclusion】
Commonで出てきた、Match設定と同じです。
これは[Only Same mesh name]にしておきます。

file

●曲率

【Algorithm】
どの情報をもとに曲率を判定するかです。
今回はハイモデルのトポロジー情報だけで良いので、[Per Vertex]にします。

file

以上で設定は終了です。ウィンドウ一番下の
[Bake Selected Texture]をクリックしてメッシュマップ作成を実行します。
(作成が終わるまで、プログレスバーのダイアログが出ます)

file

作成が終わると、[TextureSetSettings]ウィンドウのMesh Mapに
作成されたメッシュマップが表示されます。


2.メッシュマップの確認

では、試しにどんなメッシュマップが作成されたのか、確認してみましょう。
確認はキーボードのBキーをバシバシ押します。
すると3Dビュー、2Dビューがメッシュマップでマッピングされた表示に切り替わります。
これでどんなメッシュマップが作成されたか確認することができます。

file

で、元のマテリアル表示に戻すにはMキーを押します。

もし不満だった場合でもメッシュマップは何度でも作り直せますので、
納得のいくメッシュマップになるまで、何度でもベイクし直しましょう。

もしどんなに設定を変えても結果が変わらない上手くいかない、
そんな時はモデルのスケールを疑ってみてください。
というのもモデルが大きすぎたり小さすぎるとベイクが上手くいかない事があります。

Mayaの場合はプリファレンスで単位を確認し、ビューでグリッドとモデルを比較します。


↑このように小さすぎたり大きすぎたりするとベイクが上手くいきません。

あとですね、この作り直しについてとても重要なことがあります。
前回のモデリング編で、モデルの形状やUVを変更した時、
モデルを更新するのにProject Configurationを実行する、と書きました。

ですが、メッシュマップはProject Configurationでは更新されませんし、自動ベイクもしません
もう一度Bake Mesh Mapで作り直す必要がありますので、忘れないようにしてください。

ということで、ベイク編はこの辺で終わりたいと思います。


あ、そういえば、なんでメッシュマップの作成フローなのに"ベイク編"て言うんだ?って
思われた方いますか?

3Dで言うところのベイクというのは、
3Dモデルの色や影、形状などの情報を画像に焼きこむこと、を意味するんですね。
例えばAモデルの頂点カラー情報を、Bモデルにはテクスチャカラーマップに変換する、みたいな。
で、今回のメッシュマップで言えば、
ハイモデルの形状情報をローモデルのUVマップに画像変換しますので、まさにベイクなんです。
(作成ウィンドウや実行ボタンにもBakeって書いてありますしね!)
なので、ベイク編としたほうが総合的なオペレーションの類としては合理的なんです。

という感じで今回はここまでとなります。
是非メッシュマップについて理解を深めていってください。

でわいよいよ次回、テクスチャの作成をしていきたいと思います。

ありがとうございました!

Author: narahazuki

COYOTE 3DCG STUDIO 背景CGデザイナー。 現在AD的な仕事もしています。 ゲーム・アニメ・漫画と広く浅く手を付けるオタク。 座右の銘は「明日は明日の風が吹く」