Substance Designerを使うとプロシージャルなPBRテクスチャやフィルターなどをノードベースで作成することができます。
今回はベーステクスチャなどでよく使う「木目テクスチャ」を作成してみましたので、メイキングとして作成手順を紹介してみたいと思います。
自然物だけではなく家具などの人工物や、背景などにも加工して使えそうな感じの汎用性の高いテクスチャなので、Substance Designerを使い始めた方も実践練習として試してみてはいかがでしょうか。
【SubstanceDesigner】木目テクスチャの作成手順
Substance Designerを使ったテクスチャ制作の大まかな流れは以下の様になっています。
簡単な流れ
- グレースケールでシェイプを作成
- Basecolorマップを作成
- Roughnessマップを作成
- Normalマップ
グラフのテンプレートは「Empty」で2048px × 2048pxで作成しました。
木目の模様を作成
まずは一番下地にあたる木目のベース模様を作成していきます。
縦に伸びている木目の形状を適宜歪ませてることで、木目っぽくしていきます。
縦模様を作成
最初に「Gradient Linear 1」で横に伸びる白黒のグラデーションを作成。
それから「Tile Random」を接続して画像のようにパラメーターを調整します。
これで縦に伸びるベースの縞模様を作成します。
その後「Blur HQ Grayscale」を作成して、ぼかしを追加します。
木目のベース模様を作成
次に縦模様と合成するための木目のベース模様を作成します。
「Anisotropic Noise」(画像左下)を作成してパラメーターを設定、「Blur HQ Grayscale」でぼかしをかけます。
それから「BnW Spots 1」(画像左上)を作成してパラメーターを設定、こちらも同じ様に「Blur HQ Grayscale」ノードに接続してぼかします。
これらのふたつのノードを「Blend」(画像右)にそれぞれ接続してOpacityを調整します。
ドット模様を作成してブレンド
木目に部分的についているドット模様を作成してブレンドします。
「Tile Random」(画像左下)を作成してドットの模様になるようにパラメーターを設定します。
ボケたドット模様を引き締めるために「Levels」を追加、コントラストの強い点になるようにレベル補正をかけます。
その後「Blend」を作成して先程作成した木目ベース模様(画像上)とブレンドします。
ドット模様をForeground、ベース模様をBackgroundに接続して不透明度を下げてそれっぽい感じに調整します。
ベース模様と縦模様をブレンド
ここまでで作成した「縦模様」と「木目ベース模様」を「Directional Warp」(画像右)ノードでブレンドします。
するとこんな感じ模様になります。
一気に木目模様っぽい感じになりました。
ザラついた質感を追加
木目模様だけでは足りないのでざらついた質感を追加していきます。
先程先程した「Directional Warp」ノードに「Invert Grayscale」(画像中央下)ノードを追加して白黒を反転。
ざらつきノードとして「Directional Noise 2」ノードを作成、「Non Uniform Blur Grayscale」(画像上中央)ノードに接続してパラメーターを設定します。
「Non Uniform Blur Grayscale」と「Invert Grayscale」を「Directional Warp」にそれぞれ接続して合成します。
もうひとつのザラつき質感を追加
「Non Uniform Blur Grayscale」から「Blend」ノードに接続してざらついた質感をもうひとつ作成します。
BlendノードにはBackgroundに「Directional Noise 4」を接続しておきます。
もうひとつのザラつき質感はこんな感じです。
後ほど合成で使います。
基本のベース模様はいったん完成です。
BaseColorマップを作成
模様に乗せるベースカラーマップを作成します。
まず「Gradient Linear 1」を作成して「Gradient Map」と接続、グラデーションエディターでカラーを設定します。
色数の多い複雑なグラデーションを作成する際は写真からピックアップするのが速くて効率的なのでオススメです。
▼写真からグラデーションマップを作成する
-
【Substance Designer】写真からグラデーションマップを作成する
SubstanceDesignerではグレースケールで作成した質感ノードなどにカラーを割り当てる際に「Gradient Map」ノードを使うことが多いと思います。 &nbs ...
続きを見る
白黒グラデーションマップを作成
「Gradient Linear 1」から新しく「Gradient Map」を作成して接続、白黒のグラデーションを作成します。
グラデーションをブレンド
作成した白黒グラデーションマップを「Blend」のOpacityに接続。
「Uniform Color」を2つ作成してそれぞれBlendのForegroundとBackgroundに接続して調整します。
カラーのグラデーションマップと白黒グラデーションマップから作成したグラデーションを「Blend」でそれぞれ合成します。
Gradient(Dynamic)でブレンド
2つのグラデーションマップを合成したBlendノードから新しく「Gradient(Dynamic)」を作成してGrayscale Inputに接続します。
ベースの木目模様で作成した「Directional Warp」から「Gradient(Dynamic)」のGrayscale Inputに接続します。
するとこんな感じの見た目のテクスチャになります。
さらにもうひとつ「Gradient(Dynamic)」を作成します。
木目のベースの模様で作成したもうひとつのザラつきテクスチャの「Blend」からGrayscale Inputに接続します。
先程作成した「Blend」からGradient Inputに接続します。
するとこんな感じの剥がれた木目っぽい感じの見た目になります。
2つのGradient(Dynamic)をブレンド
作成したふたつの「Gradient(Dynamic)」を「Blend」で合成します。
さらに「Blend」ノードを追加して、ForegroundとBackgroundに接続してパラメーターを調整します。
ドット模様をマスクにブレンド
次は木目のベース模様で作成したドット模様が入っているテクスチャをベースカラーのマスクとして合成します。
ベース模様の「Blend」ノードから「Histogram Grayscale」を経由して、「Histogram Scan」に接続します。
「Histogram Scan」をベースカラーの最後の「Blend」のOpacityに接続します。
フレームをつけてベースカラーマップ完成
これで一通りベースカラーマップは完成です。
分かりやすいようにフレームを作成しておきます。
▼ノード管理を分かりやすくするフレームの使い方
-
【SubstanceDesigner】ノード管理をわかりやすくするフレームの使い方
SubstanceDesignerでノード接続作業を進めていると、ノードが増えすぎて複雑になってしまい管理が大変になってしまいますよね。 人にデータを渡す時にも後から自分が ...
続きを見る
完成したベースカラーマップです。
Roughnessマップを作成
ベースカラーマップが完成したので次はRoughnessマップを作成していきます。
木目のベース模様のノードを利用して作るので、RoughnessやNormalは比較的簡単です。
木目模様とザラつきをブレンド
まずは「Anisotropic Noise」を作成して「Gradient(Dynamic)」のGradient Inputに接続します。
次に木目模様で作成した「Directional Warp」を「Gradient(Dynamic)」のGrayscale Inputに接続します。
「Gradient(Dynamic)」から「Blend」ノードのBackgroundに接続して、Foregroundには木目模様の「Directional Warp」から接続します。
3Dビューに割り当ててみて大体こんな感じに粗さが表現できればRoughnessマップの完成です。
「Blend」のOpacityを適宜調整したりして、好みの粗さに変更するのも良いと思います。
Normalマップを作成
次に凹凸を表現するために必要不可欠なNormalマップを作成していきます。
Normalマップのベースは木目模様からでも良いと思いますが、ここではBaseColorから作成しました。
BaseColorからNormalに変換
BaseColorノード群の最後のノードを「Normal」ノードに接続します。
RoughnessからNormalに変換
次にRoughnessマップで作成した「Blend」から新しく「Normal」に接続します。
Normalをブレンド
BaseColorとRoughnessから変換した2つのNormalをブレンドしてます。
「Normal Blend」ノードを作成してそれぞれを接続、Opacityを調整して好みのNormalを作成します。
できたNormalはこんな感じです。
Opacityを調整することで、木目の模様が強くでて凹凸情報の強いNormalになります。
3Dビューに割り当ててみた状態。
画像ではわかりにくいですが、凹凸情報が追加されてより立体的な木目になりました。
色味をLevelsで調整
BaseColorの色味が若干足りないと感じたので、間に「Levels」ノードを挟んでレベル補正をかけました。
良い感じの色の濃さとコントラストが表現できたら「Output」ノードに繋いで完成です。
木目テクスチャが完成
完成したマップをそれぞれ3Dビューに割り当ててみた状態です。
ちょっとした古い建築物の柱にありそうな感じの木目になりました。
グラデーションマップを変更することで、フローリングっぽい見た目にもなるので汎用性が高いです。
まとめ
今回はSubstance Designerで木目テクスチャを作ってみたので、その作成手順について紹介しました。
ビットマップ画像を使わずに後から変更できる木目テクスチャは非常に便利なので、様々な場所のテクスチャで使えるオススメの素材です。
sbsarデータとして書き出せばSubstance Painterでのベースマテリアルとしてはもちろん、UnityやUE4などのゲームエンジンでも使えるので気になった方は試してみてはいかがでしょうか。