Blenderで作成したモデルにSubstancePainterを使ってみました その3

2019年3月3日

前回は基本的なマテリアルの設定や、ポリゴンに対するレイヤの振り分け等を行いましたので、今回は作成したコップモデルにベイクやジェネレーター、フィルター等を使って汚れ、傷などを再現してみたいと思います。

 

※画像はクリックで拡大できます

 

スポンサーリンク

テクスチャーをベイクで作成する

 

ベイク(焼き付け)は、ライティング処理等の計算結果をテクスチャーに反映させるという処理のようです。

ベイク処理を行うにあたって、SubstancePainterで他の処理を行うよりも先にベイク処理を完了した方が良いようです。

また、一般的にローポリのモデルに対してハイポリのモデルを用いてベイクするようです

そのため、今まで使ってきたモデルを「cupModel_low」としてBlender上で各オブジェクトの名前に全て「_low」をつけて来ました。

CupModel_lowをBlenderのモディファイアー「細分割曲面(subdivision)」で頂点数を増やしたモデルをcupModel_highとして、各オブジェクトの名前に全て「_high」を付けて作成しました。

cupModel_lowとcupModel_highをそれぞれfbxでエクスポートします。

_highの方に細分割曲面を適用

 

SubstancePainterで「ファイル→新規プロジェクト」を選択し、Fileに「cupModel_low」を選択してプロジェクトを作成します。

プロジェクトを作成したら、「TEXTURE SET SETTINGS」ウィンドウの「Bake Mesh Maps」ボタンを押します。

Bake Mesh Mapsボタンを押す

 

「Baking」というウィンドウが出ますので、各部分を設定して行きます。

左側「Mesh maps:」が作成するテクスチャーになるようです。必要な物のみチェックボックスを入れて作成しますので、今回は「厚み」のチェックボックスのみオフにします。

「通常」というのがありますが、これはノーマルマップの事みたいです(汗

右側「Common parameters」内にある「High Definition Meshes」の項目に、右側に小さいファイルアイコンボタンがあるのでそれを押します。

ハイポリメッシュの読み込みになるので、「cupModel_high」を指定します。

「Match」項目を「By Mesh Name」に変更します。これによってローポリの各オブジェクト名の末尾に「_low」、ハイポリの各オブジェクト名の末尾に「_high」が付いている事でローポリ、ハイポリを判別するようになります。

全ての設定が完了したら、右下のボタンでベイクを開始します。

ベイクの設定

 

ベイクが完了すると、「Mesh maps」に各テクスチャーが作成されている事が確認できます。

テクスチャーが作成された

 

マテリアルの作成

 

ベイクが完了したので、塗りつぶしレイヤを追加してマテリアルの設定を行いました。

「PROPERTIES – 塗りつぶし」ウィンドウにて、Base Colorを灰色にしてMetallicを1付近の値にして、鉄っぽくします。

Roughnessをクリックして、RESOURCESで「Grunge Scratches」を指定して、傷の入った鉄のコップのような見た目にします。

Grunge ScratchesをRoughnessに適用すると傷が入ったようになる

 

塗りつぶしレイヤを複製して、新しいレイヤのRoughnessを「Grunge Dirt Scratchy」にします。

さらに複製先レイヤを右クリックして「黒のマスクを追加」を選択してレイヤにマスクを追加します。この状態で、複製先マスクは黒でマスクされ全て透過された状態になっていると思います。

 

ジェネレーターを使用する

 

複製先のレイヤでマスクが選択されている事を確認し、右クリックで「Add generator」を選択してレイヤにジェネレーターを追加します。

ジェネレーターが追加された状態

 

この先の作業で、ビューポートの表示をマテリアルからマスクに切り替えて置くと見やすくなります。

「PROPERTIES – GENERATOR」ウィンドウのGeneratorボタンを押して、「Mask Editor」を選択します。

GeneratorにMask Editorを指定する

 

「PROPERTIES – GENERATOR」ウィンドウにパラメーターが表示されるようになるので、Curvature Opacityの値を1に、Curvatureのタブを開いて詳細設定に移り、「Large」、「Big」、「Huge」の値を0にし、「Medium」の値を0.5にします。

マスク表示のビューポートを確認すると、モデルの縁の部分が白くなっているのが見えます。

Curvatureのパラメーター
モデルの縁の部分が白で強調されます。

 

こうする事で、新規で追加した塗りつぶしレイヤは、マスクの白い部分程強調して表示され、それ以外は表示しないといったメリハリに富んだマテリアル作成が可能となります。

マスク+ジェネレーターのレイヤを上に乗せた結果

 

黒マスクとジェネレーターを使う事で、下記画像のように様々な表現を行う事ができるようです。

汚れが目立ってきた木製
塗装が剥げてきた

 

フィルターを使用する

 

フィルターを使用する事で塗りつぶしレイヤにノーマルマップが設定できるので、より立体的なエフェクトをかける事ができます。

レイヤに塗りつぶしレイヤを追加し、右クリックで「Add filter」を選択します。また、フィルターを追加したレイヤを一番下に持っていきます。

塗りつぶしレイヤにAdd filterした状態

 

このフィルターを追加したレイヤを下地とするため、マテリアルのBase Color、Metallicを設定して鉄っぽくし、Roughnessに「Grunge Dirt Scratchy」をセットします。

さらにフィルタを選択し「PROPERTIES – フィルタ」ウィンドウから、「MatFinish Raw」を選択します。

この時点で立体的な凸凹が見られるようになります。

フィルタにノーマルマップが設定され浮き上がって見える

 

ここで、下地のレイヤは順番的に一番下にもかかわらず、上のレイヤによって塗りつぶされずノーマルマップの効果が出てしまっています。

これを修正するため、レイヤの設定項目を「Base Color」から「Normal」に変更し、上のレイヤのNMdt(Normal map detail)を「通常」に変更します。

下のレイヤのノーマルマップが上のレイヤで塗りつぶされていない状態
レイヤのNormalを修正する

 

「通常」に変更した事で、下のノーマルマップは塗りつぶされました。

上のレイヤを右クリックし「Add generator」を選択しジェネレーターを追加し、「PROPERTIES – GENERATOR」ウィンドウで「MetalEdge Wear」をセットします。

同様に右クリックし「Add fill」を選択して塗りつぶしを追加し、「PROPERTIES – 塗りつぶし」ウィンドウのグレースケールに「Grunge Paint Scratched」をセットします。

後は各レイヤのパラメーターで「Balance」,「Contrast」などを調整してお好みの見た目にします。

フィルター、ジェネレーターを使って起伏と傷のあるコップ

 

ジェネレーター、フィルターを駆使する事で、汚れ、傷などを再現してよりリアルにする事ができそうですね!

スポンサーリンク