Substance Painter(2018)を用いたみたま式肌ベイク法
人物の3Dモデルを作るにあたって、肌のテクスチャを描くのはめんどくさい作業です。そんな時には、ゆきのみたまさんがあげていた、サブスタ(Substance Painter)を使った方法が役に立つのですが、
Substance Painterで肌の影を作る方法を動画にしました
— ゆきのみたま@VRChat (@yukinomitama) 2018年6月18日
是非試してみてください~!#VRChat #SubstancePainter pic.twitter.com/y1JgeBAyOt
自分が使っているバージョンと違っているせいか、用語が違っていたりするので解説・注釈をしていきます。同じ症状に陥っている方のために、注釈や操作ガイドをまとめておくことにしました。なお、自分が使っているSubstance Painterのバージョンは2018です。
まず、テクスチャを塗るサンプルを用意します。
サブディビジョンをかけたスザンヌちゃんです。サブスタは適当にUV開いてもなんとかなるのでUV展開もスマートUV展開で一発です。この手抜きが後で悲劇を生むことになるとは知る由もなかった……(伏線)。
サブスタを開きます。
サブスタを初めて触った人はひょっとしたらここで戸惑うかもしれないので注釈ですが、サブスタでは、右の赤丸部分にあるボタンでウィンドウを管理します(ツールバーからでもできまけど)。
- Texture Set List
- Texture Set Settings
- レイヤ(なぜこれだけカタカナ?)
- Properties
- Display Settings
- Shader Settings
- History
の7種類ありますが、使うのは
- レイヤ
- Properties
の2種類だけですので、削ったり足したりして今のうちに整理しておきましょう。
ここのボタンでアンロック!
こうなればよろし。
スザンヌを読み込みます。
fbxをドラッグ&ドロップで読み込みます。「プロジェクト構成」というメッセージボックスが出てきますが、何も考えずにOK押して大丈夫です。そしてまた例によって赤丸部分に注目してほしいのですが、今はここが「マテリアル」になっていると思います。これは「ベースカラー+ラフネス+ノーマル+ハイト」のチャンネルを足して物理的な演算をした後のプレビューになります。Unityに持っていく場合、例えばStandardシェーダーで各チャンネルを使うような場合ならこのプレビューを使う必要はありますが、トゥーン系シェーダーでテクスチャ1枚だけ使う場合はむしろ邪魔です。ベースカラーだけ分かればいいので、この部分を「Base Color」にします。
次はベイクします。さっき「レイヤ」と「Properties」しか使わないと言ったな、アレは嘘だ。一回だけ「Texture Set Settings」を使います。
これで「Bake Mesh Maps」を押します。いろいろメッセージボックスが出てきますが、脳死状態でOKを押し続けていれば大丈夫です。
次は塗りつぶしレイヤを追加します。
次はそのレイヤにフィルタを加えます。
後はみたまさんの動画通りに
- Baked Lighting
- Histgram Scan
- HSL Perceptive(みたまさんの動画だと「HLS」になっているので、注意!)
- Gradient
を加えれば大丈夫です。
Gradientについて注釈を加えると、初期状態だと
こんな感じになって3色指定しなければいけない状態になってると思います。「みたまさんの動画だと2色だったのになぜ?」となるかもしれませんが、これは色の下にあるバー(Color 1 Positionとか)が0, 0.5, 1という並びになっていることが原因で、要はこの位置でグラデーションを区切っている訳です。2色にしたいならColor1のポジションを0、Color2のポジションを1にすれば大丈夫です。奇抜な色にしたいとかがない限り、2色で十分だと思います。さあこれで大丈夫、最後の仕上げにGradientのPropertiesの中にある「Input Transformation」から「Blur Intensity」を調整して影をぼかして…
グラデーションが途切れ途切れになっとるやないかワレ!
どうやら、グラデーションの境目にブラーをかけるとUVマップの継ぎ目で途切れ途切れになってしまうという仕様のようです。南無。
解決策1
綺麗にシームを入れましょう。以上。
解決策2
Histgram Scanフィルターではこのような症状は起こらないので、ここの「Contrast」の項目でブラーをかけるのもアリです。
解決策2の補足
「クソUV」と名高いライトマップで実験してみましたが、ライトマップだとこの方法でもさすがにダメなようです。
皆さんもサブスタを駆使してよい3Dライフを。