Substance Designer Getting Started: 01 - Creating a base material part Two
Getting Started 01: Creating a base material part Two
入門01 ベースマテリアルの作成パート2
前編はこちら
錆の付き方を変更する
前回までで錆のベースカラーは作成しましたが、このままではまだ錆の色がただ乗っているだけで現実味が足りませんので、 金属の凹凸を考慮した錆を作成します。
ノーマルマップの情報を使用する
ノーマルマップデータを作成しているノードを左に移動し、ノーマルノードを選択&2Dビューに表示します。
一旦アルファ透過を無効にしておきます。
(これは2Dビューの表示上だけで、実際のデータが変わるわけではありません。)
Curvature Smoothノードを追加します。
金属の凹凸を表現しているノーマルマップからCurvature Smoothノードに接続し、曲率を基にしたマスクを作成します。
このマスクで錆を金属の凹凸を考慮したより良い表現にしていきます。
マスクの調整
2Dビューを拡大すると分かるのですが、このままでは凹凸の差が少なくて使いづらい状態です。
そこで、差を調整するためにレベルノードを追加します。
凹凸の境目となる縁の形状をマスク化するために、レベルノードを調整していきます。
白と黒を入れ替えるために、レベルノードのヒストグラム下にあるバーを反転します。
凹凸の根元が白くなるようにヒストグラムの上のバーを調整します。
錆を表示させるところ(窪んでいるところが錆やすい)を白く、錆びにくい(一番出っ張っている)ところを黒にしたマスクができました。
マスクの合成
前回作った錆のマスクと、先ほど作った凹凸のマスクをブレンドします。
この時のブレンドモードはAdd(Linear Double)(加算(覆い焼き))に変更します。
このままでは少しマスクが強すぎると、BlendノードのOpacity(不透明度)を調整しますが、影響を受けるのは先ほど作成した凹凸のマスクだけで、 前回作成した錆のマスクは影響を受けません。
これでは都合が悪いので、少しノードを組み替えます。
解決策として、Histogram Scanノードを最後に来るようにします。
というのも、前回やったようにHistogram ScanノードはPosition(位置)とContrastで、マスクの影響度合いと強さを調整できるからです。
これで、凹凸を考慮したうえで、錆の影響範囲と強さを一度に調整できるようになりました。
Metalマップの修正
先ほど作成したマスクの白い部分は錆を表示させる位置です。
現在はMetalマップが白になっているので、錆の部分も含めて金属の質感に設定されてしまっています。
マスクの白い部分が錆で、Metalマップの白い部分が金属を意味するので、マスクの白と黒を入れ替えるだけで良いです。
レベルノードで白黒反転する方法を使いましたが、単純に白黒を反転させる場合にInvert Grayscaleノードがあります。
Invert Grayscaleノードを確認すると、マスクと白黒が反転しています。
これで正しいMetalマップが得られました。
白黒反転したマスクをそのままMetalマップに接続するだけで、正しいシェーディング結果が得られます。
白黒反転でレベルを使わなかった理由
レベルノードでも白黒反転はできますが、レベルノードの場合は同時にコントラスト調整も行ってしまうため、白黒反転だけを行いたいときには無駄な処理になってしまいます。
処理を最適化するためにも、無駄な処理を行わないInvert Grayscaleを使ったのです。
そしてもう一つ、このSubstanceを他のアーティストと共有する場合に問題があります。
「白黒を反転させる」という目的でレベルノードを使った場合、このレベルノードが単に白黒反転させているだけだと理解しづらい点です。
しかし、Levelノードが二つの処理をできるがゆえに何を意図しているのか読みづらくなることもあります。
そのような時は図のように処理を二つに分けることもできます。
ですが、これは少し最適化から外れる行為でもあります。
プログラムと同じく、グラフの見やすさと処理の最適化のどちらを取るべきかはケースバイケースということですね。
後編はこちら