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