Substance Designer チュートリアル #07
前回の記事の続きになりますー!
錆びのベースマテリアルを作る
メタルのベースマテリアルを作った時と同様に、新規SubstanceからNew Graphを作成する。
Graphができたら、大元のマテリアルからノードを全てコピーし、先ほど作成したGraphにペーストする。
Base ColorのOutputで繋がっているBlendノードとそのBlendのBackgroundに繋がっていたPBR Metal Reflectanceを削除する。
Base Colorに繋がってる以外のノードは全て削除する。(Outputのみ残す)
ライブラリから「Cloud2」のノイズテクスチャを追加し、「Levels」ノードで黒部分を少し濃いめに調節する。
先ほどのCloudノイズテクスチャと既にあるノイズテクスチャを「Blendnノード」で合わせていく。
Cloudノイズを「Foreground」に繋ぎ、もう一つのノイズテクスチャを「Background」に繋ぐ。
Opacityの数値は0.4ぐらいで調節する。
「Normal Sobel」ノードを追加し、先ほどのBlendノードと繋げる。OutputはNormalのOutputに繋げる。
「Histogram Range」ノードを追加し、Normal同様、Blendノードと繋げる。
Positionで少し薄めの色に変更し、RoughnessのOutputに繋げる。
長くなってきたので続きは次の記事にします!
Substance Designer チュートリアル #06
前回の記事の続きになりますー!
ベースメタルマテリアル作成の続き
NormalノードをNormal Sobelノードに変更することでよりスムーズでクオリティの高いノーマルマップを生成することができる。
Normal Sobelノードに変更したら前のNormalノードを削除し、NormalのOutputに繋げる。
Normalから繋がっている「Curvature Smooth」とそれに続く「Levels」ノードがある。
これはマスク画像を作るために使用していたものになる。
マスクは別のマテリアルとBlendして合わせるときに使用するので、Outputノードを追加して、繋いでおく。
Base ColorのOutputに繋がっているPBR Metal Reflectanceを編集する。
INSTANCE PARAMETERSのMetalがIronになっていることを確認し、右上のボタンから「エクスポーズ」をクリック。
Input Nameのダイアログが表示されるので「OK」を押して保存。
Metalプロパティ(ノード以外のところをダブルクリックすると表示される)の入力パラメータ内に「Metal Color」という名前で保存される。
RoughnessのOutputとBlendノードの間に「Histogram Range」ノードを追加し「Range」と「Position」を調節する。
チュートリアル内ではRangeは「1」でPositionは「0.5」に変更されている。
Positionの数値が低ければ画像が暗くなり、メタルのテカリが増す。
Base ColorのPBR Metal Reflectanceでエクスポーズして保存したのと同じやり方で
Histogram RangeのPositionをエクスポーズする。
名前をわかりやすく「Roughness Amount」に変更している。
こうすることで、Metalプロパティの入力パラメータ内に追加され、ノードの編集から調節せずとも変更が可能になる。
以上でベースメタルマテリアルは完成です。
次の記事では錆びのベースマテリアルを作成していきますー!
Substance Designer チュートリアル #05
前回までのチュートリアルでは錆びついたメタルのマテリアルを作成してきましたが、
今回は錆びとメタル部分を別にしたマテリアルを作成したいと思います。
こうすることで、使い回しがきくので便利です。
ベースメタルマテリアルの作成
前回作成したマテリアルのノードを全てコピーする。
新規SubstanceでNew Graphを作成してコピーしたノードを貼り付ける。
New Graphのテンプレは「Empty」を選択。
Base Colorの錆び部分をなくすために、「PBR Metal Reflectance」ノード をBase Colorノードに繋ぐ。
Gradient Map, HSL, Blendノードは不要なので削除。
Metallicで使用していた錆び部分のノイズテクスチャとDirectional Warp, Blend, Histogram Scanノードを全て削除する。
RoughnessのBlendのOpcatityを0.56に変更する。
Metallic部分のInvert Grayscaleを削除して「Uniform Color」ノードを作成。カラーは白(#ffffff)にしておく。
Uniform Colorで単色などを使用する場合はサイズを16x16の最小サイズにしておくと早く生成されるので、Output Size を16x16にしておく。
Output Sizeでは「親に相対」を選択するとOutputも16x16のサイズになってしまう。その為別のノードを挟み(今回はLevels)そのノードを1024x1024にすることでOutput Sizeも1024x1024になる。
Heightマップは既にあるが、もっと軽く簡単なものに作り変える。
「Normal to Height」で作成していたノードを削除し、「Levels」ノードを追加。HeightのOutputに繋げる。
Levelsの数値は「0.5」くらいにし、グレーな色味にする。
先ほどのLevelsで作成したHeightマップをHeightアウトプットとAmbient Occlusionノードに繋げる。
よりシンプルでシャープな立体感が出てるのがわかる。
長くなってきたので続きは次の記事に書きたいと思います・・・!
Substance Designer チュートリアル #04
前回のチュートリアル記事の続きです。
錆びの色を調整する
錆びの色を「HSL」ノードを使って調整していく。
「HSL」ノードとは色相、彩度、明度を調整することができる。
AOマップ / Heightマップを追加する
AOマップとはAmbient Occulusionのこと。
以下の記事に比較画像などを用いて詳しく説明されている。
ambientocclusion.hatenablog.com
「Output」ノードを追加作成し、用途部分の「項目を追加」をクリックし、「Usage」から「ambientOcculusion」を選択。
「Identifier」も「ambientOcculusion」と入力しておく。
AOマップのOutputノードを作ったら次はAOマップ用のデータを作っていく。
「Normal to Height」ノードを追加し、これをパターンで作成したNormalノードと繋げる。
NormalマップからHeightマップが生成された。
「Ambient Occulusion」ノードを追加し、先ほどの「Normal to Height」ノードと繋げる。
「ambientOcculusion」Outputに繋げると3Dビューが更新され、凸凹の陰影が付いているのがわかる。
陰影の調節は「Height Depth」で調節ができる。
Normal to HeightでHeightマップを作成したので、「Height」Outputノードに繋げておく。
マテリアルの作成は以上で完了となる。
Heightマップのおかげでかなり立体的になった。
次の記事ではこのマテリアルを錆びとメタルで分けてみたいと思います。
Substance Designer チュートリアル #03
前回のチュートリアル記事の続きです。
錆びをよりリアルに
模様の凸凹部分の錆びをよりリアルにしていくために、
凸凹部分も含めたマスク画像を作っていく。
凸凹部分を表現しているNormalに「Curvature Smooth」ノードを追加。
白黒の画像に変わるが、白い部分が凸で黒い部分が凹になる。
Curvature Smoothではグレーぽい画像なのでLevelノードを追加。
ヒストグラムを調節し、白と黒の画像にしていく。
前回作成した錆びのマスク画像と先ほど作成した画像を「Blend」ノードを使用して合わせていく。
錆びのマスク画像のノード「Histogram Scan」をBackgroundに繋げて、凸凹パターンのマスク画像のノード「Levels」をForegroundに繋げる。
BlendのModeは「Add (Linear Dodge)」でOpacityをお好みで調節。(チュートリアルでは0.5)
BlendのBackgroundにHistogram Scanノードを繋げていたが、Histogram Scanは最終的に錆びと凸凹が合わさったマスクのPositionやContrastを調節できるようにしたいということで、 Directional WarpをBackgroundノードに繋げてBlendでミックスされたOutputにHistogram Scanノードを繋げる。
Histgram ScanのPosition調節で錆びの増減が確認できる。
凸凹部分の錆びもかなりリアル。
Metalicノードは真っ白なUniform Colorが設定されているので先ほど作成したマスクを使用してメタル感の調節をする。
「Invert Grayscale」ノードを追加し、Histogram ScanのOutputを繋げる。
マスク画像の白黒が逆になっていることが確認できる。
このInvert GrayscaleのOutputをMetalicノードに繋げると、錆び部分のメタル感がなくなった。
Roughnessを編集
錆び用のRoughnessを作成する。
ここでは、錆びを作るときに使用したノイズ画像を使用する。
「Histogram Range」ノードを追加し、錆びを作成するときに使用した「Directional Warp」のOutputに繋ぐ。
Histogram Rangeの「Range」と「Position」調節で薄めの柄に仕上げる。(チュートリアルではRange0.3のPosition0.89)
錆び用のRoughness画像ができたら現在設定しているメタル用のRoughness画像と「Blend」ノードを追加して合わせていく。
錆び用のRoughness画像である「Histogram Range」ノードをBlendのForegroundに繋ぎ、すでに設定していたメタル用のRoughness画像をBackgroundに、錆び用のマスク画像をOpacityに繋げ、BlendされたOutputをRoughnessに繋げる。
だいぶ錆びついたメタルになってきたところで続きは次の記事にしたいと思いますー!
Substance Designer チュートリアル #02
前回のチュートリアル記事の続きです。
パターンを追加する
ライブラリ内の「ジェネレータ」から「Mesh1」をエディターへドラッグ&ドロップ
パターンが大きいのでINSTANCE PARAMETERのTilingで調節。
先ほどの「Mesh1」をノーマルマップで表示させたいので、「Normal Color」を消して「Normal」ノードに変更。 そうするとパターンの凸凹がちゃんと表示されている。
ノーマルマップの強さは「Normal」の「Intensity」で変更することができる。
パターンの見せ方は「Level」ノードを使って調節する。Levelノード結構頻度高めで便利だな。
錆びを作る
ライブラリ内の「ジェネレータ」から「BnW Spots2」をエディターへドラッグ&ドロップ スペースキーで「Directional Warp」ノードを追加し、先ほどのライブラリから取ってきたノードと繋げる。
強さや方向などはDirectional Warpの「SPECIFIC PARAMETERS」で設定できる。
先ほどのノードに「Gradient Map」を新たに追加して繋げる。
「グラデーションエディタ」で色を設定するのだが、錆びの色を自分で選んで設定していくのは難しいので錆びた画像を元に「グラデーション選択」で取得したい部分の画像をドラッグして線を引く。そうすると、線を引いた部分のグラデーションを取得してくれるので、錆びた色を再現することができる。これは便利すぎる。
先ほど作ったノードとBase Colorのノードを合わせるために「Blend」ノードを使う。
BlendノードではForeground,Background,Opacityとあり、ForegroundにはGrandMapノード、BackgroundにはPBR Metal Reflectanceノードを繋ぐ。
BlendingModeでは色んなモードがあるが、今回は「Copy」を使用。
Copyの場合はOpacityが「1」の場合、Foregroundのテクスチャが表示され、「0」の場合はBackgroundのテクスチャが表示される。
Opacityに設定するマスクテクスチャを作っていく。
ノイズテクスチャをコピーペーストして複製し「Random Seed」で柄を変更する。(チュートリアルでは9) 「Histogram Scan」ノードを追加し、ContrastやPositionを調節していく。(Levelノードとの違いはよくわかっていない)
Histogram ScanノードをOpacityに繋げて錆びた感じになったのがわかる。
とりあえず錆びができたところで続きは次の記事にまとめたいと思いますー。
Substance Designer チュートリアル #01
今回は実際に作成してSubstance Designerについて深く知っていきたいと思います。
Allegorithmic社のチュートリアル動画が上がっていたので実際に自分で触りながら躓いた部分などもメモしていきたいと思います。
英語ではありますが、とても丁寧に説明してくれてます。
Graphを作る
「ファイル」>「新規Substance」からNew Graphを作成。
Graphにはあらかじめ数種類のテンプレートが用意されており、今回はテンプレートの「Physically Based(Metallic/Roughness)」を使用。
Graphを作成すると5つのノードが出現。
私のツールでは3Dビューの背景画像が表示されていなかったので、 「Environment」> 「編集」を押すと右側のパラメータービューに設定画面が表示され、そこの「Is Visible」をTrueにしたら表示された。
背景画像は任意のものに変更することも可能。
ベースマテリアルを作る
ライブラリビュー内の「マテリアルフィルタ」から「PBR Metal Reflectance」を選んでグラフエディター画面へドラッグ&ドロップ。
グラフエディター上にノードが追加される。
このノードはカスタムノードなので「INSTANCE PARAMETERS」という項目が表示されている。ここで「Iron」を選択。
先ほど変更したノードを「Base Color」ノードに繋げると3Dビューの色が白に反映。
反映が確認できない場合は、エディター上で右クリック「出力を3Dビューで表示」を押すと反映される。
エディター上でスペースキーを押し、「Uniform Color」ノードを追加。
ColorをGrayscaleにし、一番明るい「255」に設定、「Metallic」ノードに繋げると金属な質感のマテリアルができた。
先ほど作成した「Uniform Color」をコピーペーストで複製し、「Roughness」ノードに繋げて反射具合を調整する。
Uniform Colorを明るくするとRoughnessが強まり、暗くすると弱まる。
Uniform Colorを暗くしていくと縁の表示が崩れてしまっている。これはNormalを適用していないことが原因なのでNormalも設定する。
※Normalとは法線という意味でざっくりと簡単に説明すると面の向きを示すことでライトなどが正しく反射できるようになる。
「Normal Color」ノードを追加し「Normal」に繋げたところ、この縁の問題は解消された。
汚れっぽい質感を出すためにライブラリ内にある「ジェネレータ」> 「Grunge Map012」をドラッグ&ドロップし、「Roughness」ノードに繋げる。
Grunge Mapもカスタムノードなので「INSTANCE PARAMETER」という項目が表示され、その項目内でテクスチャの調節ができる。 だがこのチュートリアルでは「Grunge Map012」と「Roughness」ノードの間に「Level」ノードを追加し、Levelノード内でテクスチャの調節をしている。
Roughnessで使用していたUniform Colorはもう必要ないので消す。
とりあえず見た目のメタル感は出せたので続きは次の記事にしたいと思います。